commit dfbd467960c6ba8f584ddff1fbb45928e53d3652 Author: Flatlogic Bot Date: Sun Feb 22 09:31:51 2026 +0000 Initial import diff --git a/react-material-admin-master/.env b/react-material-admin-master/.env new file mode 100644 index 0000000..d785839 --- /dev/null +++ b/react-material-admin-master/.env @@ -0,0 +1 @@ +VITE_BACKEND=false diff --git a/react-material-admin-master/.github/workflows/ci.yml b/react-material-admin-master/.github/workflows/ci.yml new file mode 100644 index 0000000..b6e53b8 --- /dev/null +++ b/react-material-admin-master/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: CI + +on: + push: + branches: + - master + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Lint + run: npm run lint + + - name: Build + run: npm run build + + - name: Test + run: npm test diff --git a/react-material-admin-master/.gitignore b/react-material-admin-master/.gitignore new file mode 100644 index 0000000..1708cb0 --- /dev/null +++ b/react-material-admin-master/.gitignore @@ -0,0 +1,3 @@ +/node_modules/ +/.idea/ +build \ No newline at end of file diff --git a/react-material-admin-master/.nvmrc b/react-material-admin-master/.nvmrc new file mode 100644 index 0000000..2bd5a0a --- /dev/null +++ b/react-material-admin-master/.nvmrc @@ -0,0 +1 @@ +22 diff --git a/react-material-admin-master/.prettierrc b/react-material-admin-master/.prettierrc new file mode 100644 index 0000000..cedf9c7 --- /dev/null +++ b/react-material-admin-master/.prettierrc @@ -0,0 +1,10 @@ +{ + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "all", + "quoteProps": "as-needed", + "jsxSingleQuote": true, + "bracketSpacing": true, + "bracketSameLine": false, + "arrowParens": "always" +} diff --git a/react-material-admin-master/.prettierrc.js b/react-material-admin-master/.prettierrc.js new file mode 100644 index 0000000..0bf7005 --- /dev/null +++ b/react-material-admin-master/.prettierrc.js @@ -0,0 +1,6 @@ +module.exports = { + trailingComma: "es5", + tabWidth: 4, + semi: false, + singleQuote: true +}; diff --git a/react-material-admin-master/LICENSE.txt b/react-material-admin-master/LICENSE.txt new file mode 100644 index 0000000..8b809fe --- /dev/null +++ b/react-material-admin-master/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2022 Flatlogic LLC. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/react-material-admin-master/README.md b/react-material-admin-master/README.md new file mode 100644 index 0000000..119f791 --- /dev/null +++ b/react-material-admin-master/README.md @@ -0,0 +1,145 @@ +# 🚀 React Material Admin - A Free Material-UI Dashboard Template! + +[View Demo](https://flatlogic.com/templates/react-material-admin-full/demo) | [Download](https://github.com/flatlogic/react-material-admin/archive/refs/heads/master.zip) | [More Templates](https://flatlogic.com/templates) | [Discord Community](https://discord.gg/flatlogic-community) | [Support Forum](https://flatlogic.com/forum) + +**Originally a premium product priced at $99+, now available for free!** 🎉 + +[![image](https://user-images.githubusercontent.com/24964748/55800639-df780300-5adc-11e9-84b7-7c2437088516.png)](https://flatlogic.com/templates/react-material-admin-full/demo) + +Looking for a perfect codebase generator for your Startup? Try [Flatlogic AI Web App Generator](https://flatlogic.com/generator) - our new tool, sort of a template++. + +--- + +## 🎯 Why React Material Admin? +- **Ex-Premium**: This template was previously paid. Enjoy it for free now. 😉 +- **Material-UI Based**: Built with Material-UI for a modern and sleek UI. +- **Join the Community**: [Flatlogic Discord](https://discord.gg/flatlogic-community) is where the action happens. +- **Free Node.js Backend**: Pair it up with [this backend](https://github.com/flatlogic/nodejs-backend) to go full-stack. + +--- + +## 🚀 Quick Start + +1. **Clone the repo** + ```bash + git clone https://github.com/flatlogic/react-material-admin.git + cd react-material-admin + ``` +2. **Use Node.js 22.x (recommended) or 20.19+** + ```bash + node -v + ``` +3. **Install dependencies** + ```bash + npm install + ``` +4. **Run frontend-only mode (default)** + ```bash + npm run dev + ``` +5. **Enable backend mode (optional)** + - Create `.env.local`: + ```bash + VITE_BACKEND=true + ``` + - Start backend API on `http://localhost:8080` + - Run: + ```bash + npm run dev + ``` +6. **Build for production** + ```bash + npm run build + ``` +7. **Preview production build (optional)** + ```bash + npm run preview + ``` + +--- + +## 📌 Current Stack Snapshot + +- React `19.2.4` +- MUI `7.x` + Emotion +- React Router `7.x` (`BrowserRouter`, hooks API) +- Context-based state for auth/users/layout/theme +- Vite `7.x` + `@vitejs/plugin-react-swc` +- Vitest `4.x` smoke tests + GitHub Actions CI (`lint`, `build`, `test`) +- Frontend-only users/auth fallback is available when backend is disabled + +--- + +## 🧩 Features + +- Three Color Themes +- Fully Responsive +- React 19 +- MUI 7 +- Authentication System +- Modular Architecture +- Charts Libraries +- Dashboard Pages +- CSS-in-JS Styling +- Vite-based build setup + +--- + +## 🛠 Built With + +- React 19 +- MUI 7 +- React Hooks & Context API +- React Router v7 +- Vite 7 + SWC React plugin +- Vitest + Testing Library +- Node.js (for backend) + +--- + +## 📦 Components + +- UI Elements (Buttons, Modals, Forms) +- Charts (Line, Bar, Pie) +- Authentication (Login, Signup) +- Tables (Static, Dynamic) +- Profile Page +- Notifications + +--- + +## 🌍 Available Variants + +| | **Material** | **Transparent** | **Classic** | **Sofia** | **Flatlogic** | +|---------------|-----------------------------------------------------------|---------------------------------------------------------|-------------------------------------------------------|-----------------------------------------------------|----------------------------------------------------| +| **React** | [React Material Admin](https://github.com/flatlogic/react-material-admin) | [Light Blue React](https://github.com/flatlogic/light-blue-react) | [Sing App React](https://github.com/flatlogic/sing-app-react) | [Sofia React](https://github.com/flatlogic/sofia-react) | [One React](https://github.com/flatlogic/one-react) | +| **Angular** | [Angular Material Admin](https://github.com/flatlogic/angular-material-admin-full) | [Light Blue Angular](https://github.com/flatlogic/light-blue-angular) | [Sing App Angular](https://github.com/flatlogic/sing-app-angular) | - | - | +| **Vue** | [Material Vue](https://github.com/flatlogic/material-vue-full) | [Light Blue Vue](https://github.com/flatlogic/light-blue-vue) | [Sing App Vue](https://github.com/flatlogic/sing-app-vue-dashboard) | - | - | +| **Bootstrap** | - | [Light Blue HTML5](https://github.com/flatlogic/light-blue-html5) | [Sing App HTML5](https://github.com/flatlogic/sing-app-html5) | - | [One Bootstrap](https://github.com/flatlogic/one-bootstrap-template-full) | + + +Additionally, these templates are tailored for specific business needs: +- [E-Commerce Frontend (React)](https://github.com/flatlogic/ecommerce-frontend) - A complete e-commerce solution. +- [Bookkeeper UI (React)](https://github.com/flatlogic/bookkeeper-ui) - Accounting dashboard for finance management. +- [User Management Template (React)](https://github.com/flatlogic/user-management-template) - User authentication and management. + +--- + +## 👨‍💻 How to Contribute + +- **Star this repo ⭐** - show some love. +- **Report bugs** - but be nice. +- **Join the [Discord](https://discord.gg/flatlogic-community)** - meet fellow devs. + +--- + +## 🔥 About Flatlogic + +[Flatlogic](https://flatlogic.com/ai-software-development-agent) builds modern business software so you don't have to. Our AI Software Development Agent helps you generate, deploy, and maintain enterprise applications with minimal effort. + +--- + +> **Questions or feedback?** +> Join our [Flatlogic Community Discord](https://discord.gg/flatlogic-community) or visit our [support forum](https://flatlogic.com/forum). We might even reply! + +--- diff --git a/react-material-admin-master/changelog.md b/react-material-admin-master/changelog.md new file mode 100644 index 0000000..c7a2217 --- /dev/null +++ b/react-material-admin-master/changelog.md @@ -0,0 +1,136 @@ +# Changelog + +## [3.0.1] - 22/02/2026 + +- Fixed CI build failure by restoring direct `uuid` dependency used in users/forms flows. +- Verified release checks after fix (`lint`, `build`, `test`) to keep pipeline green. + +## [3.0.0] - 22/02/2026 + +- Migrated build tooling from CRA/rewired to Vite (`dev`, `build`, `preview`) with npm-only workflow. +- Upgraded runtime stack to modern baseline: React Router 7 + Vite 7 + SWC React plugin. +- Removed legacy runtime layers (`connected-react-router`, old router/history glue, Babel project config, CRA polyfill path). +- Completed active-code UI modernization: no legacy `@material-ui/*`, class components migrated to hooks in active paths. +- Restored and modernized maps using `leaflet` + `react-leaflet` + `topojson-client`. +- Added smoke test coverage on critical routes (login, dashboard, users) with Vitest. +- Added CI quality gates (`lint`, `build`, `test`) and cleaned eslint output to zero warnings/errors. +- Refreshed README and modernization plan docs to match the current stack and release workflow. + +## [2.4.1] - 22/11/2024 + +- Updated dependencies + +## [2.4.0] - 10/09/2024 + +- Added react-scripts version 5 along with webpack version 5 support. +- Added support for node.js version > 20 +- Removed old webpack configs. +- Removed unnecessary dev dependencies. + +# [2.3.4] - 20/12/2023 + +- Update dependencies + +# [2.3.3] - 16/05/2023 + +- Update dependencies +- Update react version + +# [2.3.2] - 20/07/2022 + +- Fix ecommerce editing + +# [2.3.1] - 18/07/2022 + +- Fix users management + +# [2.3.0] - 01/06/2022 + +- Updated from MUI4 to MUI5, fixed Dark Theme +- Fixed Grid actions +- Fixed various bugs related to DataGrid +- Updated packages + +# [2.2.5] - 05/03/2021 + +- Fixed errors +- Clear code +- Hide warnings + +# [2.2.4] + +- Updated documentation + +# [2.2.3] + +### New Features +- Added Profile page +- Added Grid page +- Updated packages +- Updated README.md + +# [2.1.3] + +### Updated +- Added link to flatlogic on login and register pages + +# [2.1.2] + +### Updated +- Updated fullcalendar package to v5.3.0 + +# [2.1.1] + +### Improved +- Improved css + +# [2.1.0] + +### New Features +- Added upload image functionality + +# [2.0.0] + +### New Features +- Added user management table +- Added register functionality +- Added reset password functionality +- User invitation functionality +- Social Login + +# [1.2.1] + +### Fixed +- JWT token checking fix + +### Updated +- Update scrollbar color on Windows devices +- Some color improvements + +# [1.1.1] + +### Updated +- Adjust unused libs imports +- Updated Docs +- Minor components updates + +### New Features +- Docs full update + +### Fixed +- Wrappers of the components fix +- Performance improve + +## [1.1.0] + +### Fixed + +- set localStorage item of theme + +### Updated + +- redux updates + +## [1.0.0] + +Initial version of the project diff --git a/react-material-admin-master/docs/asset-manifest.json b/react-material-admin-master/docs/asset-manifest.json new file mode 100644 index 0000000..8fa05f0 --- /dev/null +++ b/react-material-admin-master/docs/asset-manifest.json @@ -0,0 +1,76 @@ +{ + "files": { + "main.css": "./static/css/main.102e159d.chunk.css", + "main.js": "./static/js/main.6b01a413.chunk.js", + "runtime-main.js": "./static/js/runtime-main.95d0b9a6.js", + "static/css/2.2f01283e.chunk.css": "./static/css/2.2f01283e.chunk.css", + "static/js/2.db742e79.chunk.js": "./static/js/2.db742e79.chunk.js", + "index.html": "./index.html", + "precache-manifest.72d47780abd2d4d89939ec67d8e6afcd.js": "./precache-manifest.72d47780abd2d4d89939ec67d8e6afcd.js", + "service-worker.js": "./service-worker.js", + "static/js/2.db742e79.chunk.js.LICENSE.txt": "./static/js/2.db742e79.chunk.js.LICENSE.txt", + "static/js/main.6b01a413.chunk.js.LICENSE.txt": "./static/js/main.6b01a413.chunk.js.LICENSE.txt", + "static/media/1.jpg": "./static/media/1.f5c976d0.jpg", + "static/media/2.jpg": "./static/media/2.5008e7f6.jpg", + "static/media/3.jpg": "./static/media/3.635e4791.jpg", + "static/media/BehanceIcon.svg": "./static/media/BehanceIcon.f716eb1d.svg", + "static/media/DribbleIcon.svg": "./static/media/DribbleIcon.7f24d945.svg", + "static/media/FacebookIcon.svg": "./static/media/FacebookIcon.806bf5c2.svg", + "static/media/FolderBlueDark.svg": "./static/media/FolderBlueDark.9364ed80.svg", + "static/media/FolderBlueLight.svg": "./static/media/FolderBlueLight.e4c2a445.svg", + "static/media/FolderGreenDark.svg": "./static/media/FolderGreenDark.82ff6ead.svg", + "static/media/FolderGreenLight.svg": "./static/media/FolderGreenLight.c6e90824.svg", + "static/media/FolderRedDark.svg": "./static/media/FolderRedDark.351a33c9.svg", + "static/media/FolderRedLight.svg": "./static/media/FolderRedLight.2e0bb2a3.svg", + "static/media/FolderYellowDark.svg": "./static/media/FolderYellowDark.ff9829ff.svg", + "static/media/FolderYellowLight.svg": "./static/media/FolderYellowLight.e367fc0d.svg", + "static/media/InstagramIcon.svg": "./static/media/InstagramIcon.c2d9873f.svg", + "static/media/MediumIcon.svg": "./static/media/MediumIcon.42a8de32.svg", + "static/media/a1.jpg": "./static/media/a1.617f6789.jpg", + "static/media/a2.jpg": "./static/media/a2.65b83bd6.jpg", + "static/media/a3.jpg": "./static/media/a3.f6dc73f2.jpg", + "static/media/a4.jpg": "./static/media/a4.3ceb7ef6.jpg", + "static/media/aexpress.svg": "./static/media/aexpress.436f6271.svg", + "static/media/font-awesome.min.css": "./static/media/fontawesome-webfont.fee66e71.woff", + "static/media/gallery1.jpg": "./static/media/gallery1.d9686514.jpg", + "static/media/gallery10.jpg": "./static/media/gallery10.197bc1fa.jpg", + "static/media/gallery11.jpg": "./static/media/gallery11.335d0c40.jpg", + "static/media/gallery12.jpg": "./static/media/gallery12.9a31993c.jpg", + "static/media/gallery2.jpg": "./static/media/gallery2.5376cbbd.jpg", + "static/media/gallery3.jpg": "./static/media/gallery3.94f2ed11.jpg", + "static/media/gallery4.jpg": "./static/media/gallery4.7579f3bc.jpg", + "static/media/gallery5.jpg": "./static/media/gallery5.58b8cde0.jpg", + "static/media/gallery6.jpg": "./static/media/gallery6.00c03d37.jpg", + "static/media/gallery7.jpg": "./static/media/gallery7.067c3fdf.jpg", + "static/media/gallery8.jpg": "./static/media/gallery8.3d5afddd.jpg", + "static/media/gallery9.jpg": "./static/media/gallery9.7bf418ba.jpg", + "static/media/google.svg": "./static/media/google.09aea0f5.svg", + "static/media/growth.svg": "./static/media/growth.1e5f06e3.svg", + "static/media/img1.jpg": "./static/media/img1.d1ac149f.jpg", + "static/media/img2.jpg": "./static/media/img2.0375bb69.jpg", + "static/media/img3.jpg": "./static/media/img3.d0e2a769.jpg", + "static/media/img4.jpg": "./static/media/img4.eaac9c6a.jpg", + "static/media/img5.jpeg": "./static/media/img5.67f5822d.jpeg", + "static/media/img6.jpg": "./static/media/img6.3795ab4e.jpg", + "static/media/isometric.jpg": "./static/media/isometric.3414e66f.jpg", + "static/media/line-awesome.css": "./static/media/la-solid-900.bb49393b.ttf", + "static/media/lifestyle.jpg": "./static/media/lifestyle.52254d52.jpg", + "static/media/logo.svg": "./static/media/logo.3d432ca2.svg", + "static/media/main-profile.png": "./static/media/main-profile.d767941b.png", + "static/media/mastercard.svg": "./static/media/mastercard.964dc8a0.svg", + "static/media/mountains.jpeg": "./static/media/mountains.4130575d.jpeg", + "static/media/paypal.svg": "./static/media/paypal.f02b8147.svg", + "static/media/profile.jpg": "./static/media/profile.84f014f0.jpg", + "static/media/profilePhoto.svg": "./static/media/profilePhoto.cd6044d9.svg", + "static/media/rns.png": "./static/media/rns.95da0675.png", + "static/media/rnsHero.png": "./static/media/rnsHero.bde845e7.png", + "static/media/visa.svg": "./static/media/visa.77227823.svg" + }, + "entrypoints": [ + "static/js/runtime-main.95d0b9a6.js", + "static/css/2.2f01283e.chunk.css", + "static/js/2.db742e79.chunk.js", + "static/css/main.102e159d.chunk.css", + "static/js/main.6b01a413.chunk.js" + ] +} diff --git a/react-material-admin-master/docs/favicon blue.png b/react-material-admin-master/docs/favicon blue.png new file mode 100644 index 0000000..67fa6d6 Binary files /dev/null and b/react-material-admin-master/docs/favicon blue.png differ diff --git a/react-material-admin-master/docs/favicon.ico b/react-material-admin-master/docs/favicon.ico new file mode 100644 index 0000000..a11777c Binary files /dev/null and b/react-material-admin-master/docs/favicon.ico differ diff --git a/react-material-admin-master/docs/favicon.png b/react-material-admin-master/docs/favicon.png new file mode 100644 index 0000000..9aecba0 Binary files /dev/null and b/react-material-admin-master/docs/favicon.png differ diff --git a/react-material-admin-master/docs/favicon.svg b/react-material-admin-master/docs/favicon.svg new file mode 100644 index 0000000..032b50a --- /dev/null +++ b/react-material-admin-master/docs/favicon.svg @@ -0,0 +1,15 @@ + + + + favicon + Created with Sketch. + + + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/docs/index.html b/react-material-admin-master/docs/index.html new file mode 100644 index 0000000..f0af8de --- /dev/null +++ b/react-material-admin-master/docs/index.html @@ -0,0 +1 @@ +React Material Admin Full
diff --git a/react-material-admin-master/docs/logo192.png b/react-material-admin-master/docs/logo192.png new file mode 100644 index 0000000..fc44b0a Binary files /dev/null and b/react-material-admin-master/docs/logo192.png differ diff --git a/react-material-admin-master/docs/logo512.png b/react-material-admin-master/docs/logo512.png new file mode 100644 index 0000000..a4e47a6 Binary files /dev/null and b/react-material-admin-master/docs/logo512.png differ diff --git a/react-material-admin-master/docs/manifest.json b/react-material-admin-master/docs/manifest.json new file mode 100644 index 0000000..3589efa --- /dev/null +++ b/react-material-admin-master/docs/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "app.title", + "name": "app.title", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/react-material-admin-master/docs/precache-manifest.72d47780abd2d4d89939ec67d8e6afcd.js b/react-material-admin-master/docs/precache-manifest.72d47780abd2d4d89939ec67d8e6afcd.js new file mode 100644 index 0000000..add1a60 --- /dev/null +++ b/react-material-admin-master/docs/precache-manifest.72d47780abd2d4d89939ec67d8e6afcd.js @@ -0,0 +1,334 @@ +self.__precacheManifest = (self.__precacheManifest || []).concat([ + { + "revision": "3e933b5d35adf1aa3a3328f688bde1f3", + "url": "./index.html" + }, + { + "revision": "5042b80d277940f1f5cf", + "url": "./static/css/2.2f01283e.chunk.css" + }, + { + "revision": "d527aa4a71ee48b8365a", + "url": "./static/css/main.102e159d.chunk.css" + }, + { + "revision": "5042b80d277940f1f5cf", + "url": "./static/js/2.db742e79.chunk.js" + }, + { + "revision": "a333fb7f1af8096261c6ee1fb18800da", + "url": "./static/js/2.db742e79.chunk.js.LICENSE.txt" + }, + { + "revision": "d527aa4a71ee48b8365a", + "url": "./static/js/main.6b01a413.chunk.js" + }, + { + "revision": "4e0e34f265fae8f33b01b27ae29d9d6f", + "url": "./static/js/main.6b01a413.chunk.js.LICENSE.txt" + }, + { + "revision": "926fd5d5dc7f19a30cf7", + "url": "./static/js/runtime-main.95d0b9a6.js" + }, + { + "revision": "f5c976d0e04018078e95141f7dbc82d1", + "url": "./static/media/1.f5c976d0.jpg" + }, + { + "revision": "5008e7f670955280279b601607884ca0", + "url": "./static/media/2.5008e7f6.jpg" + }, + { + "revision": "635e47913c02b9382e8b9c1faaee5986", + "url": "./static/media/3.635e4791.jpg" + }, + { + "revision": "f716eb1dc7b5f34f116b6127ebba9833", + "url": "./static/media/BehanceIcon.f716eb1d.svg" + }, + { + "revision": "7f24d9450077e4d9ce31ea81acb09f18", + "url": "./static/media/DribbleIcon.7f24d945.svg" + }, + { + "revision": "806bf5c25f5abe15a84970fe0b224f30", + "url": "./static/media/FacebookIcon.806bf5c2.svg" + }, + { + "revision": "9364ed80d5efd091d3c30a6a1cb5ae1c", + "url": "./static/media/FolderBlueDark.9364ed80.svg" + }, + { + "revision": "e4c2a445620222eae7e11e2c2ffe052a", + "url": "./static/media/FolderBlueLight.e4c2a445.svg" + }, + { + "revision": "82ff6ead1d24fdedda2bf2bb20200557", + "url": "./static/media/FolderGreenDark.82ff6ead.svg" + }, + { + "revision": "c6e90824a68f252a74beb57bf9e5911f", + "url": "./static/media/FolderGreenLight.c6e90824.svg" + }, + { + "revision": "351a33c9ff1503e61e070396608d2ecd", + "url": "./static/media/FolderRedDark.351a33c9.svg" + }, + { + "revision": "2e0bb2a3924360e5d9d5a4755ab7b82f", + "url": "./static/media/FolderRedLight.2e0bb2a3.svg" + }, + { + "revision": "ff9829fff85bab6a413aa185a129dfdb", + "url": "./static/media/FolderYellowDark.ff9829ff.svg" + }, + { + "revision": "e367fc0d8b82c041448f9079f275f40a", + "url": "./static/media/FolderYellowLight.e367fc0d.svg" + }, + { + "revision": "c2d9873f6d41cb03c131e265fa736f35", + "url": "./static/media/InstagramIcon.c2d9873f.svg" + }, + { + "revision": "42a8de32b76237b12c7c44d99d1a3879", + "url": "./static/media/MediumIcon.42a8de32.svg" + }, + { + "revision": "617f678949a2a047144fa3692bf87a6c", + "url": "./static/media/a1.617f6789.jpg" + }, + { + "revision": "65b83bd68a2b5dd7ce48e1768b4923e8", + "url": "./static/media/a2.65b83bd6.jpg" + }, + { + "revision": "3ceb7ef61c282df7e18e17fcf6b140f9", + "url": "./static/media/a3.3ceb7ef6.jpg" + }, + { + "revision": "f6dc73f25f30df2d36d0ae1d57f4c1fa", + "url": "./static/media/a3.f6dc73f2.jpg" + }, + { + "revision": "2966ab8e577f1e16f7cdb100af95f5a5", + "url": "./static/media/a4.2966ab8e.jpg" + }, + { + "revision": "3ceb7ef61c282df7e18e17fcf6b140f9", + "url": "./static/media/a4.3ceb7ef6.jpg" + }, + { + "revision": "436f6271aa56bc9dba4a334e73ae6f98", + "url": "./static/media/aexpress.436f6271.svg" + }, + { + "revision": "674f50d287a8c48dc19ba404d20fe713", + "url": "./static/media/fontawesome-webfont.674f50d2.eot" + }, + { + "revision": "912ec66d7572ff821749319396470bde", + "url": "./static/media/fontawesome-webfont.912ec66d.svg" + }, + { + "revision": "af7ae505a9eed503f8b8e6982036873e", + "url": "./static/media/fontawesome-webfont.af7ae505.woff2" + }, + { + "revision": "b06871f281fee6b241d60582ae9369b9", + "url": "./static/media/fontawesome-webfont.b06871f2.ttf" + }, + { + "revision": "fee66e712a8a08eef5805a46892932ad", + "url": "./static/media/fontawesome-webfont.fee66e71.woff" + }, + { + "revision": "d96865141f7e84552912c278d1eea08d", + "url": "./static/media/gallery1.d9686514.jpg" + }, + { + "revision": "197bc1faee5cddf9f071207ea2619659", + "url": "./static/media/gallery10.197bc1fa.jpg" + }, + { + "revision": "335d0c4099daa6bffb6b7fcd8d9c20b6", + "url": "./static/media/gallery11.335d0c40.jpg" + }, + { + "revision": "9a31993ce76f6088419b3781562f1701", + "url": "./static/media/gallery12.9a31993c.jpg" + }, + { + "revision": "5376cbbda978bd2c4a3f8d4ab544f284", + "url": "./static/media/gallery2.5376cbbd.jpg" + }, + { + "revision": "94f2ed119c194522bad3c7a67588c3a8", + "url": "./static/media/gallery3.94f2ed11.jpg" + }, + { + "revision": "7579f3bcbee9c7d0200327a300c1e450", + "url": "./static/media/gallery4.7579f3bc.jpg" + }, + { + "revision": "58b8cde0a00b764e61328033716b04c9", + "url": "./static/media/gallery5.58b8cde0.jpg" + }, + { + "revision": "00c03d37551b07791f680378ab6e4700", + "url": "./static/media/gallery6.00c03d37.jpg" + }, + { + "revision": "067c3fdf3cb198841a9ea33ae722e2ea", + "url": "./static/media/gallery7.067c3fdf.jpg" + }, + { + "revision": "3d5afddde8ea8e68d4a9acb7bf0f2df3", + "url": "./static/media/gallery8.3d5afddd.jpg" + }, + { + "revision": "7bf418ba4e0bd41fd51f8929274db345", + "url": "./static/media/gallery9.7bf418ba.jpg" + }, + { + "revision": "09aea0f59807f6f4f66af7f5719cba9e", + "url": "./static/media/google.09aea0f5.svg" + }, + { + "revision": "1e5f06e308fcc860b49bdd5e927332a4", + "url": "./static/media/growth.1e5f06e3.svg" + }, + { + "revision": "d1ac149fed9f7f836e9f737675238665", + "url": "./static/media/img1.d1ac149f.jpg" + }, + { + "revision": "0375bb69c3d067e85a567a64a1a502f6", + "url": "./static/media/img2.0375bb69.jpg" + }, + { + "revision": "d0e2a7699e3ef8656e722a89f1ccd009", + "url": "./static/media/img3.d0e2a769.jpg" + }, + { + "revision": "eaac9c6a849135b6f568f195bee646d5", + "url": "./static/media/img4.eaac9c6a.jpg" + }, + { + "revision": "67f5822d14566ff7701b907a984ac483", + "url": "./static/media/img5.67f5822d.jpeg" + }, + { + "revision": "3795ab4e4a8dd3cd0b2fea0143a970c6", + "url": "./static/media/img6.3795ab4e.jpg" + }, + { + "revision": "3414e66fec589845f4cc006d45f866c0", + "url": "./static/media/isometric.3414e66f.jpg" + }, + { + "revision": "54b0b4e7de85711c3796882b2b19eb00", + "url": "./static/media/la-brands-400.54b0b4e7.woff2" + }, + { + "revision": "9769d0a6a42cf73df12bc63a7a994131", + "url": "./static/media/la-brands-400.9769d0a6.svg" + }, + { + "revision": "a38ca9f0501109549cb659c1fe9ade65", + "url": "./static/media/la-brands-400.a38ca9f0.eot" + }, + { + "revision": "bbf83f8bb1039cd860051299d64ebcfd", + "url": "./static/media/la-brands-400.bbf83f8b.ttf" + }, + { + "revision": "fb598c9ccecd5fa1c6c769d0be60973b", + "url": "./static/media/la-brands-400.fb598c9c.woff" + }, + { + "revision": "2746742c09b070f74bd7d555e6b959fa", + "url": "./static/media/la-regular-400.2746742c.eot" + }, + { + "revision": "338f6f873b90c8045204f8ac52408166", + "url": "./static/media/la-regular-400.338f6f87.woff" + }, + { + "revision": "55c57a74937e6de260b67c62522f7ea1", + "url": "./static/media/la-regular-400.55c57a74.svg" + }, + { + "revision": "87dab6ff12ea107dafe1d52ec19c2ed8", + "url": "./static/media/la-regular-400.87dab6ff.ttf" + }, + { + "revision": "88d9d9416c58bde56378dc4439e3a144", + "url": "./static/media/la-regular-400.88d9d941.woff2" + }, + { + "revision": "36fc297902c9a2e857858baa6ac25f2c", + "url": "./static/media/la-solid-900.36fc2979.woff2" + }, + { + "revision": "79be4e9fcffc796ec3b2cb9a1f46d39e", + "url": "./static/media/la-solid-900.79be4e9f.svg" + }, + { + "revision": "87292218024ee1cab93406e228a0b7dd", + "url": "./static/media/la-solid-900.87292218.woff" + }, + { + "revision": "8c65fd3e9b53a609735fd6335fd05841", + "url": "./static/media/la-solid-900.8c65fd3e.eot" + }, + { + "revision": "bb49393b04bbf312a6cd055a051121d3", + "url": "./static/media/la-solid-900.bb49393b.ttf" + }, + { + "revision": "52254d5282f06f9004ccef85cd7fe5b4", + "url": "./static/media/lifestyle.52254d52.jpg" + }, + { + "revision": "3d432ca2badb7e0130b379f9162b99b1", + "url": "./static/media/logo.3d432ca2.svg" + }, + { + "revision": "d767941b43a20f17b2fc576b93b25b26", + "url": "./static/media/main-profile.d767941b.png" + }, + { + "revision": "964dc8a089d28e463ab7134f65832a91", + "url": "./static/media/mastercard.964dc8a0.svg" + }, + { + "revision": "4130575d4640406222d6c8f645cf11a7", + "url": "./static/media/mountains.4130575d.jpeg" + }, + { + "revision": "f02b8147110304c125bce83804f27fe6", + "url": "./static/media/paypal.f02b8147.svg" + }, + { + "revision": "84f014f09e2520f76be61769a1bb6440", + "url": "./static/media/profile.84f014f0.jpg" + }, + { + "revision": "cd6044d9cc085cf42b614bbabac72bb0", + "url": "./static/media/profilePhoto.cd6044d9.svg" + }, + { + "revision": "95da06754076f5a3a69c50ea87ed0af4", + "url": "./static/media/rns.95da0675.png" + }, + { + "revision": "bde845e7455b35df99bb16367508ff7e", + "url": "./static/media/rnsHero.bde845e7.png" + }, + { + "revision": "77227823992290b3fbff88e743294b78", + "url": "./static/media/visa.77227823.svg" + } +]); \ No newline at end of file diff --git a/react-material-admin-master/docs/precache-manifest.9910cad913c1899724ce0a968a9630a0.js b/react-material-admin-master/docs/precache-manifest.9910cad913c1899724ce0a968a9630a0.js new file mode 100644 index 0000000..ea465fc --- /dev/null +++ b/react-material-admin-master/docs/precache-manifest.9910cad913c1899724ce0a968a9630a0.js @@ -0,0 +1,54 @@ +self.__precacheManifest = (self.__precacheManifest || []).concat([ + { + "revision": "e5348224acfeb02d7e11ea3c1731985e", + "url": "./index.html" + }, + { + "revision": "b12e029207b94b413809", + "url": "./static/css/2.637eb612.chunk.css" + }, + { + "revision": "b12e029207b94b413809", + "url": "./static/js/2.af6eef2b.chunk.js" + }, + { + "revision": "7d02737b1000ff1e4aedf1ef380f6e7b", + "url": "./static/js/2.af6eef2b.chunk.js.LICENSE.txt" + }, + { + "revision": "41a71acbec3f321f5a82", + "url": "./static/js/main.fc3e922e.chunk.js" + }, + { + "revision": "f6f2b74c08f9ec6d372d", + "url": "./static/js/runtime-main.4862f1b0.js" + }, + { + "revision": "674f50d287a8c48dc19ba404d20fe713", + "url": "./static/media/fontawesome-webfont.674f50d2.eot" + }, + { + "revision": "912ec66d7572ff821749319396470bde", + "url": "./static/media/fontawesome-webfont.912ec66d.svg" + }, + { + "revision": "af7ae505a9eed503f8b8e6982036873e", + "url": "./static/media/fontawesome-webfont.af7ae505.woff2" + }, + { + "revision": "b06871f281fee6b241d60582ae9369b9", + "url": "./static/media/fontawesome-webfont.b06871f2.ttf" + }, + { + "revision": "fee66e712a8a08eef5805a46892932ad", + "url": "./static/media/fontawesome-webfont.fee66e71.woff" + }, + { + "revision": "09aea0f59807f6f4f66af7f5719cba9e", + "url": "./static/media/google.09aea0f5.svg" + }, + { + "revision": "3d432ca2badb7e0130b379f9162b99b1", + "url": "./static/media/logo.3d432ca2.svg" + } +]); \ No newline at end of file diff --git a/react-material-admin-master/docs/service-worker.js b/react-material-admin-master/docs/service-worker.js new file mode 100644 index 0000000..efaa68f --- /dev/null +++ b/react-material-admin-master/docs/service-worker.js @@ -0,0 +1,39 @@ +/** + * Welcome to your Workbox-powered service worker! + * + * You'll need to register this file in your web app and you should + * disable HTTP caching for this file too. + * See https://goo.gl/nhQhGp + * + * The rest of the code is auto-generated. Please don't update this file + * directly; instead, make changes to your Workbox build configuration + * and re-run your build process. + * See https://goo.gl/2aRDsh + */ + +importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); + +importScripts( + "./precache-manifest.72d47780abd2d4d89939ec67d8e6afcd.js" +); + +self.addEventListener('message', (event) => { + if (event.data && event.data.type === 'SKIP_WAITING') { + self.skipWaiting(); + } +}); + +workbox.core.clientsClaim(); + +/** + * The workboxSW.precacheAndRoute() method efficiently caches and responds to + * requests for URLs in the manifest. + * See https://goo.gl/S9QRab + */ +self.__precacheManifest = [].concat(self.__precacheManifest || []); +workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); + +workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("./index.html"), { + + blacklist: [/^\/_/,/\/[^/?]+\.[^/]+$/], +}); diff --git a/react-material-admin-master/docs/static/css/2.2f01283e.chunk.css b/react-material-admin-master/docs/static/css/2.2f01283e.chunk.css new file mode 100644 index 0000000..33bc75e --- /dev/null +++ b/react-material-admin-master/docs/static/css/2.2f01283e.chunk.css @@ -0,0 +1,6 @@ +.la,.lab,.lad,.lal,.lar,.las{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-variant:normal;text-rendering:auto;line-height:1}.la-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.la-xs{font-size:.75em}.la-sm{font-size:.875em}.la-1x{font-size:1em}.la-2x{font-size:2em}.la-3x{font-size:3em}.la-4x{font-size:4em}.la-5x{font-size:5em}.la-6x{font-size:6em}.la-7x{font-size:7em}.la-8x{font-size:8em}.la-9x{font-size:9em}.la-10x{font-size:10em}.la-fw{text-align:center;width:1.25em}.la-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.la-ul>li{position:relative}.la-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.la-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.la-pull-left{float:left}.la-pull-right{float:right}.la.la-pull-left,.lab.la-pull-left,.lal.la-pull-left,.lar.la-pull-left,.las.la-pull-left{margin-right:.3em}.la.la-pull-right,.lab.la-pull-right,.lal.la-pull-right,.lar.la-pull-right,.las.la-pull-right{margin-left:.3em}.la-spin{-webkit-animation:la-spin 2s linear infinite;animation:la-spin 2s linear infinite}.la-pulse{-webkit-animation:la-spin 1s steps(8) infinite;animation:la-spin 1s steps(8) infinite}@-webkit-keyframes la-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes la-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.la-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.la-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.la-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.la-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.la-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.la-flip-both,.la-flip-horizontal.la-flip-vertical,.la-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.la-flip-both,.la-flip-horizontal.la-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .la-flip-both,:root .la-flip-horizontal,:root .la-flip-vertical,:root .la-rotate-90,:root .la-rotate-180,:root .la-rotate-270{-webkit-filter:none;filter:none}.la-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.la-stack-1x,.la-stack-2x{left:0;position:absolute;text-align:center;width:100%}.la-stack-1x{line-height:inherit}.la-stack-2x{font-size:2em}.la-inverse{color:#fff}.la-500px:before{content:"\f26e"}.la-accessible-icon:before{content:"\f368"}.la-accusoft:before{content:"\f369"}.la-acquisitions-incorporated:before{content:"\f6af"}.la-ad:before{content:"\f641"}.la-address-book:before{content:"\f2b9"}.la-address-card:before{content:"\f2bb"}.la-adjust:before{content:"\f042"}.la-adn:before{content:"\f170"}.la-adobe:before{content:"\f778"}.la-adversal:before{content:"\f36a"}.la-affiliatetheme:before{content:"\f36b"}.la-air-freshener:before{content:"\f5d0"}.la-airbnb:before{content:"\f834"}.la-algolia:before{content:"\f36c"}.la-align-center:before{content:"\f037"}.la-align-justify:before{content:"\f039"}.la-align-left:before{content:"\f036"}.la-align-right:before{content:"\f038"}.la-alipay:before{content:"\f642"}.la-allergies:before{content:"\f461"}.la-amazon:before{content:"\f270"}.la-amazon-pay:before{content:"\f42c"}.la-ambulance:before{content:"\f0f9"}.la-american-sign-language-interpreting:before{content:"\f2a3"}.la-amilia:before{content:"\f36d"}.la-anchor:before{content:"\f13d"}.la-android:before{content:"\f17b"}.la-angellist:before{content:"\f209"}.la-angle-double-down:before{content:"\f103"}.la-angle-double-left:before{content:"\f100"}.la-angle-double-right:before{content:"\f101"}.la-angle-double-up:before{content:"\f102"}.la-angle-down:before{content:"\f107"}.la-angle-left:before{content:"\f104"}.la-angle-right:before{content:"\f105"}.la-angle-up:before{content:"\f106"}.la-angry:before{content:"\f556"}.la-angrycreative:before{content:"\f36e"}.la-angular:before{content:"\f420"}.la-ankh:before{content:"\f644"}.la-app-store:before{content:"\f36f"}.la-app-store-ios:before{content:"\f370"}.la-apper:before{content:"\f371"}.la-apple:before{content:"\f179"}.la-apple-alt:before{content:"\f5d1"}.la-apple-pay:before{content:"\f415"}.la-archive:before{content:"\f187"}.la-archway:before{content:"\f557"}.la-arrow-alt-circle-down:before{content:"\f358"}.la-arrow-alt-circle-left:before{content:"\f359"}.la-arrow-alt-circle-right:before{content:"\f35a"}.la-arrow-alt-circle-up:before{content:"\f35b"}.la-arrow-circle-down:before{content:"\f0ab"}.la-arrow-circle-left:before{content:"\f0a8"}.la-arrow-circle-right:before{content:"\f0a9"}.la-arrow-circle-up:before{content:"\f0aa"}.la-arrow-down:before{content:"\f063"}.la-arrow-left:before{content:"\f060"}.la-arrow-right:before{content:"\f061"}.la-arrow-up:before{content:"\f062"}.la-arrows-alt:before{content:"\f0b2"}.la-arrows-alt-h:before{content:"\f337"}.la-arrows-alt-v:before{content:"\f338"}.la-artstation:before{content:"\f77a"}.la-assistive-listening-systems:before{content:"\f2a2"}.la-asterisk:before{content:"\f069"}.la-asymmetrik:before{content:"\f372"}.la-at:before{content:"\f1fa"}.la-atlas:before{content:"\f558"}.la-atlassian:before{content:"\f77b"}.la-atom:before{content:"\f5d2"}.la-audible:before{content:"\f373"}.la-audio-description:before{content:"\f29e"}.la-autoprefixer:before{content:"\f41c"}.la-avianex:before{content:"\f374"}.la-aviato:before{content:"\f421"}.la-award:before{content:"\f559"}.la-aws:before{content:"\f375"}.la-baby:before{content:"\f77c"}.la-baby-carriage:before{content:"\f77d"}.la-backspace:before{content:"\f55a"}.la-backward:before{content:"\f04a"}.la-bacon:before{content:"\f7e5"}.la-balance-scale:before{content:"\f24e"}.la-balance-scale-left:before{content:"\f515"}.la-balance-scale-right:before{content:"\f516"}.la-ban:before{content:"\f05e"}.la-band-aid:before{content:"\f462"}.la-bandcamp:before{content:"\f2d5"}.la-barcode:before{content:"\f02a"}.la-bars:before{content:"\f0c9"}.la-baseball-ball:before{content:"\f433"}.la-basketball-ball:before{content:"\f434"}.la-bath:before{content:"\f2cd"}.la-battery-empty:before{content:"\f244"}.la-battery-full:before{content:"\f240"}.la-battery-half:before{content:"\f242"}.la-battery-quarter:before{content:"\f243"}.la-battery-three-quarters:before{content:"\f241"}.la-battle-net:before{content:"\f835"}.la-bed:before{content:"\f236"}.la-beer:before{content:"\f0fc"}.la-behance:before{content:"\f1b4"}.la-behance-square:before{content:"\f1b5"}.la-bell:before{content:"\f0f3"}.la-bell-slash:before{content:"\f1f6"}.la-bezier-curve:before{content:"\f55b"}.la-bible:before{content:"\f647"}.la-bicycle:before{content:"\f206"}.la-biking:before{content:"\f84a"}.la-bimobject:before{content:"\f378"}.la-binoculars:before{content:"\f1e5"}.la-biohazard:before{content:"\f780"}.la-birthday-cake:before{content:"\f1fd"}.la-bitbucket:before{content:"\f171"}.la-bitcoin:before{content:"\f379"}.la-bity:before{content:"\f37a"}.la-black-tie:before{content:"\f27e"}.la-blackberry:before{content:"\f37b"}.la-blender:before{content:"\f517"}.la-blender-phone:before{content:"\f6b6"}.la-blind:before{content:"\f29d"}.la-blog:before{content:"\f781"}.la-blogger:before{content:"\f37c"}.la-blogger-b:before{content:"\f37d"}.la-bluetooth:before{content:"\f293"}.la-bluetooth-b:before{content:"\f294"}.la-bold:before{content:"\f032"}.la-bolt:before{content:"\f0e7"}.la-bomb:before{content:"\f1e2"}.la-bone:before{content:"\f5d7"}.la-bong:before{content:"\f55c"}.la-book:before{content:"\f02d"}.la-book-dead:before{content:"\f6b7"}.la-book-medical:before{content:"\f7e6"}.la-book-open:before{content:"\f518"}.la-book-reader:before{content:"\f5da"}.la-bookmark:before{content:"\f02e"}.la-bootstrap:before{content:"\f836"}.la-border-all:before{content:"\f84c"}.la-border-none:before{content:"\f850"}.la-border-style:before{content:"\f853"}.la-bowling-ball:before{content:"\f436"}.la-box:before{content:"\f466"}.la-box-open:before{content:"\f49e"}.la-boxes:before{content:"\f468"}.la-braille:before{content:"\f2a1"}.la-brain:before{content:"\f5dc"}.la-bread-slice:before{content:"\f7ec"}.la-briefcase:before{content:"\f0b1"}.la-briefcase-medical:before{content:"\f469"}.la-broadcast-tower:before{content:"\f519"}.la-broom:before{content:"\f51a"}.la-brush:before{content:"\f55d"}.la-btc:before{content:"\f15a"}.la-buffer:before{content:"\f837"}.la-bug:before{content:"\f188"}.la-building:before{content:"\f1ad"}.la-bullhorn:before{content:"\f0a1"}.la-bullseye:before{content:"\f140"}.la-burn:before{content:"\f46a"}.la-buromobelexperte:before{content:"\f37f"}.la-bus:before{content:"\f207"}.la-bus-alt:before{content:"\f55e"}.la-business-time:before{content:"\f64a"}.la-buy-n-large:before{content:"\f8a6"}.la-buysellads:before{content:"\f20d"}.la-calculator:before{content:"\f1ec"}.la-calendar:before{content:"\f133"}.la-calendar-alt:before{content:"\f073"}.la-calendar-check:before{content:"\f274"}.la-calendar-day:before{content:"\f783"}.la-calendar-minus:before{content:"\f272"}.la-calendar-plus:before{content:"\f271"}.la-calendar-times:before{content:"\f273"}.la-calendar-week:before{content:"\f784"}.la-camera:before{content:"\f030"}.la-camera-retro:before{content:"\f083"}.la-campground:before{content:"\f6bb"}.la-canadian-maple-leaf:before{content:"\f785"}.la-candy-cane:before{content:"\f786"}.la-cannabis:before{content:"\f55f"}.la-capsules:before{content:"\f46b"}.la-car:before{content:"\f1b9"}.la-car-alt:before{content:"\f5de"}.la-car-battery:before{content:"\f5df"}.la-car-crash:before{content:"\f5e1"}.la-car-side:before{content:"\f5e4"}.la-caret-down:before{content:"\f0d7"}.la-caret-left:before{content:"\f0d9"}.la-caret-right:before{content:"\f0da"}.la-caret-square-down:before{content:"\f150"}.la-caret-square-left:before{content:"\f191"}.la-caret-square-right:before{content:"\f152"}.la-caret-square-up:before{content:"\f151"}.la-caret-up:before{content:"\f0d8"}.la-carrot:before{content:"\f787"}.la-cart-arrow-down:before{content:"\f218"}.la-cart-plus:before{content:"\f217"}.la-cash-register:before{content:"\f788"}.la-cat:before{content:"\f6be"}.la-cc-amazon-pay:before{content:"\f42d"}.la-cc-amex:before{content:"\f1f3"}.la-cc-apple-pay:before{content:"\f416"}.la-cc-diners-club:before{content:"\f24c"}.la-cc-discover:before{content:"\f1f2"}.la-cc-jcb:before{content:"\f24b"}.la-cc-mastercard:before{content:"\f1f1"}.la-cc-paypal:before{content:"\f1f4"}.la-cc-stripe:before{content:"\f1f5"}.la-cc-visa:before{content:"\f1f0"}.la-centercode:before{content:"\f380"}.la-centos:before{content:"\f789"}.la-certificate:before{content:"\f0a3"}.la-chair:before{content:"\f6c0"}.la-chalkboard:before{content:"\f51b"}.la-chalkboard-teacher:before{content:"\f51c"}.la-charging-station:before{content:"\f5e7"}.la-chart-area:before{content:"\f1fe"}.la-chart-bar:before{content:"\f080"}.la-chart-line:before{content:"\f201"}.la-chart-pie:before{content:"\f200"}.la-check:before{content:"\f00c"}.la-check-circle:before{content:"\f058"}.la-check-double:before{content:"\f560"}.la-check-square:before{content:"\f14a"}.la-cheese:before{content:"\f7ef"}.la-chess:before{content:"\f439"}.la-chess-bishop:before{content:"\f43a"}.la-chess-board:before{content:"\f43c"}.la-chess-king:before{content:"\f43f"}.la-chess-knight:before{content:"\f441"}.la-chess-pawn:before{content:"\f443"}.la-chess-queen:before{content:"\f445"}.la-chess-rook:before{content:"\f447"}.la-chevron-circle-down:before{content:"\f13a"}.la-chevron-circle-left:before{content:"\f137"}.la-chevron-circle-right:before{content:"\f138"}.la-chevron-circle-up:before{content:"\f139"}.la-chevron-down:before{content:"\f078"}.la-chevron-left:before{content:"\f053"}.la-chevron-right:before{content:"\f054"}.la-chevron-up:before{content:"\f077"}.la-child:before{content:"\f1ae"}.la-chrome:before{content:"\f268"}.la-chromecast:before{content:"\f838"}.la-church:before{content:"\f51d"}.la-circle:before{content:"\f111"}.la-circle-notch:before{content:"\f1ce"}.la-city:before{content:"\f64f"}.la-clinic-medical:before{content:"\f7f2"}.la-clipboard:before{content:"\f328"}.la-clipboard-check:before{content:"\f46c"}.la-clipboard-list:before{content:"\f46d"}.la-clock:before{content:"\f017"}.la-clone:before{content:"\f24d"}.la-closed-captioning:before{content:"\f20a"}.la-cloud:before{content:"\f0c2"}.la-cloud-download-alt:before{content:"\f381"}.la-cloud-meatball:before{content:"\f73b"}.la-cloud-moon:before{content:"\f6c3"}.la-cloud-moon-rain:before{content:"\f73c"}.la-cloud-rain:before{content:"\f73d"}.la-cloud-showers-heavy:before{content:"\f740"}.la-cloud-sun:before{content:"\f6c4"}.la-cloud-sun-rain:before{content:"\f743"}.la-cloud-upload-alt:before{content:"\f382"}.la-cloudscale:before{content:"\f383"}.la-cloudsmith:before{content:"\f384"}.la-cloudversify:before{content:"\f385"}.la-cocktail:before{content:"\f561"}.la-code:before{content:"\f121"}.la-code-branch:before{content:"\f126"}.la-codepen:before{content:"\f1cb"}.la-codiepie:before{content:"\f284"}.la-coffee:before{content:"\f0f4"}.la-cog:before{content:"\f013"}.la-cogs:before{content:"\f085"}.la-coins:before{content:"\f51e"}.la-columns:before{content:"\f0db"}.la-comment:before{content:"\f075"}.la-comment-alt:before{content:"\f27a"}.la-comment-dollar:before{content:"\f651"}.la-comment-dots:before{content:"\f4ad"}.la-comment-medical:before{content:"\f7f5"}.la-comment-slash:before{content:"\f4b3"}.la-comments:before{content:"\f086"}.la-comments-dollar:before{content:"\f653"}.la-compact-disc:before{content:"\f51f"}.la-compass:before{content:"\f14e"}.la-compress:before{content:"\f066"}.la-compress-arrows-alt:before{content:"\f78c"}.la-concierge-bell:before{content:"\f562"}.la-confluence:before{content:"\f78d"}.la-connectdevelop:before{content:"\f20e"}.la-contao:before{content:"\f26d"}.la-cookie:before{content:"\f563"}.la-cookie-bite:before{content:"\f564"}.la-copy:before{content:"\f0c5"}.la-copyright:before{content:"\f1f9"}.la-cotton-bureau:before{content:"\f89e"}.la-couch:before{content:"\f4b8"}.la-cpanel:before{content:"\f388"}.la-creative-commons:before{content:"\f25e"}.la-creative-commons-by:before{content:"\f4e7"}.la-creative-commons-nc:before{content:"\f4e8"}.la-creative-commons-nc-eu:before{content:"\f4e9"}.la-creative-commons-nc-jp:before{content:"\f4ea"}.la-creative-commons-nd:before{content:"\f4eb"}.la-creative-commons-pd:before{content:"\f4ec"}.la-creative-commons-pd-alt:before{content:"\f4ed"}.la-creative-commons-remix:before{content:"\f4ee"}.la-creative-commons-sa:before{content:"\f4ef"}.la-creative-commons-sampling:before{content:"\f4f0"}.la-creative-commons-sampling-plus:before{content:"\f4f1"}.la-creative-commons-share:before{content:"\f4f2"}.la-creative-commons-zero:before{content:"\f4f3"}.la-credit-card:before{content:"\f09d"}.la-critical-role:before{content:"\f6c9"}.la-crop:before{content:"\f125"}.la-crop-alt:before{content:"\f565"}.la-cross:before{content:"\f654"}.la-crosshairs:before{content:"\f05b"}.la-crow:before{content:"\f520"}.la-crown:before{content:"\f521"}.la-crutch:before{content:"\f7f7"}.la-css3:before{content:"\f13c"}.la-css3-alt:before{content:"\f38b"}.la-cube:before{content:"\f1b2"}.la-cubes:before{content:"\f1b3"}.la-cut:before{content:"\f0c4"}.la-cuttlefish:before{content:"\f38c"}.la-d-and-d:before{content:"\f38d"}.la-d-and-d-beyond:before{content:"\f6ca"}.la-dashcube:before{content:"\f210"}.la-database:before{content:"\f1c0"}.la-deaf:before{content:"\f2a4"}.la-delicious:before{content:"\f1a5"}.la-democrat:before{content:"\f747"}.la-deploydog:before{content:"\f38e"}.la-deskpro:before{content:"\f38f"}.la-desktop:before{content:"\f108"}.la-dev:before{content:"\f6cc"}.la-deviantart:before{content:"\f1bd"}.la-dharmachakra:before{content:"\f655"}.la-dhl:before{content:"\f790"}.la-diagnoses:before{content:"\f470"}.la-diaspora:before{content:"\f791"}.la-dice:before{content:"\f522"}.la-dice-d20:before{content:"\f6cf"}.la-dice-d6:before{content:"\f6d1"}.la-dice-five:before{content:"\f523"}.la-dice-four:before{content:"\f524"}.la-dice-one:before{content:"\f525"}.la-dice-six:before{content:"\f526"}.la-dice-three:before{content:"\f527"}.la-dice-two:before{content:"\f528"}.la-digg:before{content:"\f1a6"}.la-digital-ocean:before{content:"\f391"}.la-digital-tachograph:before{content:"\f566"}.la-directions:before{content:"\f5eb"}.la-discord:before{content:"\f392"}.la-discourse:before{content:"\f393"}.la-divide:before{content:"\f529"}.la-dizzy:before{content:"\f567"}.la-dna:before{content:"\f471"}.la-dochub:before{content:"\f394"}.la-docker:before{content:"\f395"}.la-dog:before{content:"\f6d3"}.la-dollar-sign:before{content:"\f155"}.la-dolly:before{content:"\f472"}.la-dolly-flatbed:before{content:"\f474"}.la-donate:before{content:"\f4b9"}.la-door-closed:before{content:"\f52a"}.la-door-open:before{content:"\f52b"}.la-dot-circle:before{content:"\f192"}.la-dove:before{content:"\f4ba"}.la-download:before{content:"\f019"}.la-draft2digital:before{content:"\f396"}.la-drafting-compass:before{content:"\f568"}.la-dragon:before{content:"\f6d5"}.la-draw-polygon:before{content:"\f5ee"}.la-dribbble:before{content:"\f17d"}.la-dribbble-square:before{content:"\f397"}.la-dropbox:before{content:"\f16b"}.la-drum:before{content:"\f569"}.la-drum-steelpan:before{content:"\f56a"}.la-drumstick-bite:before{content:"\f6d7"}.la-drupal:before{content:"\f1a9"}.la-dumbbell:before{content:"\f44b"}.la-dumpster:before{content:"\f793"}.la-dumpster-fire:before{content:"\f794"}.la-dungeon:before{content:"\f6d9"}.la-dyalog:before{content:"\f399"}.la-earlybirds:before{content:"\f39a"}.la-ebay:before{content:"\f4f4"}.la-edge:before{content:"\f282"}.la-edit:before{content:"\f044"}.la-egg:before{content:"\f7fb"}.la-eject:before{content:"\f052"}.la-elementor:before{content:"\f430"}.la-ellipsis-h:before{content:"\f141"}.la-ellipsis-v:before{content:"\f142"}.la-ello:before{content:"\f5f1"}.la-ember:before{content:"\f423"}.la-empire:before{content:"\f1d1"}.la-envelope:before{content:"\f0e0"}.la-envelope-open:before{content:"\f2b6"}.la-envelope-open-text:before{content:"\f658"}.la-envelope-square:before{content:"\f199"}.la-envira:before{content:"\f299"}.la-equals:before{content:"\f52c"}.la-eraser:before{content:"\f12d"}.la-erlang:before{content:"\f39d"}.la-ethereum:before{content:"\f42e"}.la-ethernet:before{content:"\f796"}.la-etsy:before{content:"\f2d7"}.la-euro-sign:before{content:"\f153"}.la-evernote:before{content:"\f839"}.la-exchange-alt:before{content:"\f362"}.la-exclamation:before{content:"\f12a"}.la-exclamation-circle:before{content:"\f06a"}.la-exclamation-triangle:before{content:"\f071"}.la-expand:before{content:"\f065"}.la-expand-arrows-alt:before{content:"\f31e"}.la-expeditedssl:before{content:"\f23e"}.la-external-link-alt:before{content:"\f35d"}.la-external-link-square-alt:before{content:"\f360"}.la-eye:before{content:"\f06e"}.la-eye-dropper:before{content:"\f1fb"}.la-eye-slash:before{content:"\f070"}.la-facebook:before{content:"\f09a"}.la-facebook-f:before{content:"\f39e"}.la-facebook-messenger:before{content:"\f39f"}.la-facebook-square:before{content:"\f082"}.la-fan:before{content:"\f863"}.la-fantasy-flight-games:before{content:"\f6dc"}.la-fast-backward:before{content:"\f049"}.la-fast-forward:before{content:"\f050"}.la-fax:before{content:"\f1ac"}.la-feather:before{content:"\f52d"}.la-feather-alt:before{content:"\f56b"}.la-fedex:before{content:"\f797"}.la-fedora:before{content:"\f798"}.la-female:before{content:"\f182"}.la-fighter-jet:before{content:"\f0fb"}.la-figma:before{content:"\f799"}.la-file:before{content:"\f15b"}.la-file-alt:before{content:"\f15c"}.la-file-archive:before{content:"\f1c6"}.la-file-audio:before{content:"\f1c7"}.la-file-code:before{content:"\f1c9"}.la-file-contract:before{content:"\f56c"}.la-file-csv:before{content:"\f6dd"}.la-file-download:before{content:"\f56d"}.la-file-excel:before{content:"\f1c3"}.la-file-export:before{content:"\f56e"}.la-file-image:before{content:"\f1c5"}.la-file-import:before{content:"\f56f"}.la-file-invoice:before{content:"\f570"}.la-file-invoice-dollar:before{content:"\f571"}.la-file-medical:before{content:"\f477"}.la-file-medical-alt:before{content:"\f478"}.la-file-pdf:before{content:"\f1c1"}.la-file-powerpoint:before{content:"\f1c4"}.la-file-prescription:before{content:"\f572"}.la-file-signature:before{content:"\f573"}.la-file-upload:before{content:"\f574"}.la-file-video:before{content:"\f1c8"}.la-file-word:before{content:"\f1c2"}.la-fill:before{content:"\f575"}.la-fill-drip:before{content:"\f576"}.la-film:before{content:"\f008"}.la-filter:before{content:"\f0b0"}.la-fingerprint:before{content:"\f577"}.la-fire:before{content:"\f06d"}.la-fire-alt:before{content:"\f7e4"}.la-fire-extinguisher:before{content:"\f134"}.la-firefox:before{content:"\f269"}.la-first-aid:before{content:"\f479"}.la-first-order:before{content:"\f2b0"}.la-first-order-alt:before{content:"\f50a"}.la-firstdraft:before{content:"\f3a1"}.la-fish:before{content:"\f578"}.la-fist-raised:before{content:"\f6de"}.la-flag:before{content:"\f024"}.la-flag-checkered:before{content:"\f11e"}.la-flag-usa:before{content:"\f74d"}.la-flask:before{content:"\f0c3"}.la-flickr:before{content:"\f16e"}.la-flipboard:before{content:"\f44d"}.la-flushed:before{content:"\f579"}.la-fly:before{content:"\f417"}.la-folder:before{content:"\f07b"}.la-folder-minus:before{content:"\f65d"}.la-folder-open:before{content:"\f07c"}.la-folder-plus:before{content:"\f65e"}.la-font:before{content:"\f031"}.la-font-awesome:before{content:"\f2b4"}.la-font-awesome-alt:before{content:"\f35c"}.la-font-awesome-flag:before{content:"\f425"}.la-font-awesome-logo-full:before{content:"\f4e6"}.la-fonticons:before{content:"\f280"}.la-fonticons-fi:before{content:"\f3a2"}.la-football-ball:before{content:"\f44e"}.la-fort-awesome:before{content:"\f286"}.la-fort-awesome-alt:before{content:"\f3a3"}.la-forumbee:before{content:"\f211"}.la-forward:before{content:"\f04e"}.la-foursquare:before{content:"\f180"}.la-free-code-camp:before{content:"\f2c5"}.la-freebsd:before{content:"\f3a4"}.la-frog:before{content:"\f52e"}.la-frown:before{content:"\f119"}.la-frown-open:before{content:"\f57a"}.la-fulcrum:before{content:"\f50b"}.la-funnel-dollar:before{content:"\f662"}.la-futbol:before{content:"\f1e3"}.la-galactic-republic:before{content:"\f50c"}.la-galactic-senate:before{content:"\f50d"}.la-gamepad:before{content:"\f11b"}.la-gas-pump:before{content:"\f52f"}.la-gavel:before{content:"\f0e3"}.la-gem:before{content:"\f3a5"}.la-genderless:before{content:"\f22d"}.la-get-pocket:before{content:"\f265"}.la-gg:before{content:"\f260"}.la-gg-circle:before{content:"\f261"}.la-ghost:before{content:"\f6e2"}.la-gift:before{content:"\f06b"}.la-gifts:before{content:"\f79c"}.la-git:before{content:"\f1d3"}.la-git-alt:before{content:"\f841"}.la-git-square:before{content:"\f1d2"}.la-github:before{content:"\f09b"}.la-github-alt:before{content:"\f113"}.la-github-square:before{content:"\f092"}.la-gitkraken:before{content:"\f3a6"}.la-gitlab:before{content:"\f296"}.la-gitter:before{content:"\f426"}.la-glass-cheers:before{content:"\f79f"}.la-glass-martini:before{content:"\f000"}.la-glass-martini-alt:before{content:"\f57b"}.la-glass-whiskey:before{content:"\f7a0"}.la-glasses:before{content:"\f530"}.la-glide:before{content:"\f2a5"}.la-glide-g:before{content:"\f2a6"}.la-globe:before{content:"\f0ac"}.la-globe-africa:before{content:"\f57c"}.la-globe-americas:before{content:"\f57d"}.la-globe-asia:before{content:"\f57e"}.la-globe-europe:before{content:"\f7a2"}.la-gofore:before{content:"\f3a7"}.la-golf-ball:before{content:"\f450"}.la-goodreads:before{content:"\f3a8"}.la-goodreads-g:before{content:"\f3a9"}.la-google:before{content:"\f1a0"}.la-google-drive:before{content:"\f3aa"}.la-google-play:before{content:"\f3ab"}.la-google-plus:before{content:"\f2b3"}.la-google-plus-g:before{content:"\f0d5"}.la-google-plus-square:before{content:"\f0d4"}.la-google-wallet:before{content:"\f1ee"}.la-gopuram:before{content:"\f664"}.la-graduation-cap:before{content:"\f19d"}.la-gratipay:before{content:"\f184"}.la-grav:before{content:"\f2d6"}.la-greater-than:before{content:"\f531"}.la-greater-than-equal:before{content:"\f532"}.la-grimace:before{content:"\f57f"}.la-grin:before{content:"\f580"}.la-grin-alt:before{content:"\f581"}.la-grin-beam:before{content:"\f582"}.la-grin-beam-sweat:before{content:"\f583"}.la-grin-hearts:before{content:"\f584"}.la-grin-squint:before{content:"\f585"}.la-grin-squint-tears:before{content:"\f586"}.la-grin-stars:before{content:"\f587"}.la-grin-tears:before{content:"\f588"}.la-grin-tongue:before{content:"\f589"}.la-grin-tongue-squint:before{content:"\f58a"}.la-grin-tongue-wink:before{content:"\f58b"}.la-grin-wink:before{content:"\f58c"}.la-grip-horizontal:before{content:"\f58d"}.la-grip-lines:before{content:"\f7a4"}.la-grip-lines-vertical:before{content:"\f7a5"}.la-grip-vertical:before{content:"\f58e"}.la-gripfire:before{content:"\f3ac"}.la-grunt:before{content:"\f3ad"}.la-guitar:before{content:"\f7a6"}.la-gulp:before{content:"\f3ae"}.la-h-square:before{content:"\f0fd"}.la-hacker-news:before{content:"\f1d4"}.la-hacker-news-square:before{content:"\f3af"}.la-hackerrank:before{content:"\f5f7"}.la-hamburger:before{content:"\f805"}.la-hammer:before{content:"\f6e3"}.la-hamsa:before{content:"\f665"}.la-hand-holding:before{content:"\f4bd"}.la-hand-holding-heart:before{content:"\f4be"}.la-hand-holding-usd:before{content:"\f4c0"}.la-hand-lizard:before{content:"\f258"}.la-hand-middle-finger:before{content:"\f806"}.la-hand-paper:before{content:"\f256"}.la-hand-peace:before{content:"\f25b"}.la-hand-point-down:before{content:"\f0a7"}.la-hand-point-left:before{content:"\f0a5"}.la-hand-point-right:before{content:"\f0a4"}.la-hand-point-up:before{content:"\f0a6"}.la-hand-pointer:before{content:"\f25a"}.la-hand-rock:before{content:"\f255"}.la-hand-scissors:before{content:"\f257"}.la-hand-spock:before{content:"\f259"}.la-hands:before{content:"\f4c2"}.la-hands-helping:before{content:"\f4c4"}.la-handshake:before{content:"\f2b5"}.la-hanukiah:before{content:"\f6e6"}.la-hard-hat:before{content:"\f807"}.la-hashtag:before{content:"\f292"}.la-hat-cowboy:before{content:"\f8c0"}.la-hat-cowboy-side:before{content:"\f8c1"}.la-hat-wizard:before{content:"\f6e8"}.la-haykal:before{content:"\f666"}.la-hdd:before{content:"\f0a0"}.la-heading:before{content:"\f1dc"}.la-headphones:before{content:"\f025"}.la-headphones-alt:before{content:"\f58f"}.la-headset:before{content:"\f590"}.la-heart:before{content:"\f004"}.la-heart-broken:before{content:"\f7a9"}.la-heartbeat:before{content:"\f21e"}.la-helicopter:before{content:"\f533"}.la-highlighter:before{content:"\f591"}.la-hiking:before{content:"\f6ec"}.la-hippo:before{content:"\f6ed"}.la-hips:before{content:"\f452"}.la-hire-a-helper:before{content:"\f3b0"}.la-history:before{content:"\f1da"}.la-hockey-puck:before{content:"\f453"}.la-holly-berry:before{content:"\f7aa"}.la-home:before{content:"\f015"}.la-hooli:before{content:"\f427"}.la-hornbill:before{content:"\f592"}.la-horse:before{content:"\f6f0"}.la-horse-head:before{content:"\f7ab"}.la-hospital:before{content:"\f0f8"}.la-hospital-alt:before{content:"\f47d"}.la-hospital-symbol:before{content:"\f47e"}.la-hot-tub:before{content:"\f593"}.la-hotdog:before{content:"\f80f"}.la-hotel:before{content:"\f594"}.la-hotjar:before{content:"\f3b1"}.la-hourglass:before{content:"\f254"}.la-hourglass-end:before{content:"\f253"}.la-hourglass-half:before{content:"\f252"}.la-hourglass-start:before{content:"\f251"}.la-house-damage:before{content:"\f6f1"}.la-houzz:before{content:"\f27c"}.la-hryvnia:before{content:"\f6f2"}.la-html5:before{content:"\f13b"}.la-hubspot:before{content:"\f3b2"}.la-i-cursor:before{content:"\f246"}.la-ice-cream:before{content:"\f810"}.la-icicles:before{content:"\f7ad"}.la-icons:before{content:"\f86d"}.la-id-badge:before{content:"\f2c1"}.la-id-card:before{content:"\f2c2"}.la-id-card-alt:before{content:"\f47f"}.la-igloo:before{content:"\f7ae"}.la-image:before{content:"\f03e"}.la-images:before{content:"\f302"}.la-imdb:before{content:"\f2d8"}.la-inbox:before{content:"\f01c"}.la-indent:before{content:"\f03c"}.la-industry:before{content:"\f275"}.la-infinity:before{content:"\f534"}.la-info:before{content:"\f129"}.la-info-circle:before{content:"\f05a"}.la-instagram:before{content:"\f16d"}.la-intercom:before{content:"\f7af"}.la-internet-explorer:before{content:"\f26b"}.la-invision:before{content:"\f7b0"}.la-ioxhost:before{content:"\f208"}.la-italic:before{content:"\f033"}.la-itch-io:before{content:"\f83a"}.la-itunes:before{content:"\f3b4"}.la-itunes-note:before{content:"\f3b5"}.la-java:before{content:"\f4e4"}.la-jedi:before{content:"\f669"}.la-jedi-order:before{content:"\f50e"}.la-jenkins:before{content:"\f3b6"}.la-jira:before{content:"\f7b1"}.la-joget:before{content:"\f3b7"}.la-joint:before{content:"\f595"}.la-joomla:before{content:"\f1aa"}.la-journal-whills:before{content:"\f66a"}.la-js:before{content:"\f3b8"}.la-js-square:before{content:"\f3b9"}.la-jsfiddle:before{content:"\f1cc"}.la-kaaba:before{content:"\f66b"}.la-kaggle:before{content:"\f5fa"}.la-key:before{content:"\f084"}.la-keybase:before{content:"\f4f5"}.la-keyboard:before{content:"\f11c"}.la-keycdn:before{content:"\f3ba"}.la-khanda:before{content:"\f66d"}.la-kickstarter:before{content:"\f3bb"}.la-kickstarter-k:before{content:"\f3bc"}.la-kiss:before{content:"\f596"}.la-kiss-beam:before{content:"\f597"}.la-kiss-wink-heart:before{content:"\f598"}.la-kiwi-bird:before{content:"\f535"}.la-korvue:before{content:"\f42f"}.la-landmark:before{content:"\f66f"}.la-language:before{content:"\f1ab"}.la-laptop:before{content:"\f109"}.la-laptop-code:before{content:"\f5fc"}.la-laptop-medical:before{content:"\f812"}.la-laravel:before{content:"\f3bd"}.la-lastfm:before{content:"\f202"}.la-lastfm-square:before{content:"\f203"}.la-laugh:before{content:"\f599"}.la-laugh-beam:before{content:"\f59a"}.la-laugh-squint:before{content:"\f59b"}.la-laugh-wink:before{content:"\f59c"}.la-layer-group:before{content:"\f5fd"}.la-leaf:before{content:"\f06c"}.la-leanpub:before{content:"\f212"}.la-lemon:before{content:"\f094"}.la-less:before{content:"\f41d"}.la-less-than:before{content:"\f536"}.la-less-than-equal:before{content:"\f537"}.la-level-down-alt:before{content:"\f3be"}.la-level-up-alt:before{content:"\f3bf"}.la-life-ring:before{content:"\f1cd"}.la-lightbulb:before{content:"\f0eb"}.la-line:before{content:"\f3c0"}.la-link:before{content:"\f0c1"}.la-linkedin:before{content:"\f08c"}.la-linkedin-in:before{content:"\f0e1"}.la-linode:before{content:"\f2b8"}.la-linux:before{content:"\f17c"}.la-lira-sign:before{content:"\f195"}.la-list:before{content:"\f03a"}.la-list-alt:before{content:"\f022"}.la-list-ol:before{content:"\f0cb"}.la-list-ul:before{content:"\f0ca"}.la-location-arrow:before{content:"\f124"}.la-lock:before{content:"\f023"}.la-lock-open:before{content:"\f3c1"}.la-long-arrow-alt-down:before{content:"\f309"}.la-long-arrow-alt-left:before{content:"\f30a"}.la-long-arrow-alt-right:before{content:"\f30b"}.la-long-arrow-alt-up:before{content:"\f30c"}.la-low-vision:before{content:"\f2a8"}.la-luggage-cart:before{content:"\f59d"}.la-lyft:before{content:"\f3c3"}.la-magento:before{content:"\f3c4"}.la-magic:before{content:"\f0d0"}.la-magnet:before{content:"\f076"}.la-mail-bulk:before{content:"\f674"}.la-mailchimp:before{content:"\f59e"}.la-male:before{content:"\f183"}.la-mandalorian:before{content:"\f50f"}.la-map:before{content:"\f279"}.la-map-marked:before{content:"\f59f"}.la-map-marked-alt:before{content:"\f5a0"}.la-map-marker:before{content:"\f041"}.la-map-marker-alt:before{content:"\f3c5"}.la-map-pin:before{content:"\f276"}.la-map-signs:before{content:"\f277"}.la-markdown:before{content:"\f60f"}.la-marker:before{content:"\f5a1"}.la-mars:before{content:"\f222"}.la-mars-double:before{content:"\f227"}.la-mars-stroke:before{content:"\f229"}.la-mars-stroke-h:before{content:"\f22b"}.la-mars-stroke-v:before{content:"\f22a"}.la-mask:before{content:"\f6fa"}.la-mastodon:before{content:"\f4f6"}.la-maxcdn:before{content:"\f136"}.la-mdb:before{content:"\f8ca"}.la-medal:before{content:"\f5a2"}.la-medapps:before{content:"\f3c6"}.la-medium:before{content:"\f23a"}.la-medium-m:before{content:"\f3c7"}.la-medkit:before{content:"\f0fa"}.la-medrt:before{content:"\f3c8"}.la-meetup:before{content:"\f2e0"}.la-megaport:before{content:"\f5a3"}.la-meh:before{content:"\f11a"}.la-meh-blank:before{content:"\f5a4"}.la-meh-rolling-eyes:before{content:"\f5a5"}.la-memory:before{content:"\f538"}.la-mendeley:before{content:"\f7b3"}.la-menorah:before{content:"\f676"}.la-mercury:before{content:"\f223"}.la-meteor:before{content:"\f753"}.la-microchip:before{content:"\f2db"}.la-microphone:before{content:"\f130"}.la-microphone-alt:before{content:"\f3c9"}.la-microphone-alt-slash:before{content:"\f539"}.la-microphone-slash:before{content:"\f131"}.la-microscope:before{content:"\f610"}.la-microsoft:before{content:"\f3ca"}.la-minus:before{content:"\f068"}.la-minus-circle:before{content:"\f056"}.la-minus-square:before{content:"\f146"}.la-mitten:before{content:"\f7b5"}.la-mix:before{content:"\f3cb"}.la-mixcloud:before{content:"\f289"}.la-mizuni:before{content:"\f3cc"}.la-mobile:before{content:"\f10b"}.la-mobile-alt:before{content:"\f3cd"}.la-modx:before{content:"\f285"}.la-monero:before{content:"\f3d0"}.la-money-bill:before{content:"\f0d6"}.la-money-bill-alt:before{content:"\f3d1"}.la-money-bill-wave:before{content:"\f53a"}.la-money-bill-wave-alt:before{content:"\f53b"}.la-money-check:before{content:"\f53c"}.la-money-check-alt:before{content:"\f53d"}.la-monument:before{content:"\f5a6"}.la-moon:before{content:"\f186"}.la-mortar-pestle:before{content:"\f5a7"}.la-mosque:before{content:"\f678"}.la-motorcycle:before{content:"\f21c"}.la-mountain:before{content:"\f6fc"}.la-mouse:before{content:"\f8cc"}.la-mouse-pointer:before{content:"\f245"}.la-mug-hot:before{content:"\f7b6"}.la-music:before{content:"\f001"}.la-napster:before{content:"\f3d2"}.la-neos:before{content:"\f612"}.la-network-wired:before{content:"\f6ff"}.la-neuter:before{content:"\f22c"}.la-newspaper:before{content:"\f1ea"}.la-nimblr:before{content:"\f5a8"}.la-node:before{content:"\f419"}.la-node-js:before{content:"\f3d3"}.la-not-equal:before{content:"\f53e"}.la-notes-medical:before{content:"\f481"}.la-npm:before{content:"\f3d4"}.la-ns8:before{content:"\f3d5"}.la-nutritionix:before{content:"\f3d6"}.la-object-group:before{content:"\f247"}.la-object-ungroup:before{content:"\f248"}.la-odnoklassniki:before{content:"\f263"}.la-odnoklassniki-square:before{content:"\f264"}.la-oil-can:before{content:"\f613"}.la-old-republic:before{content:"\f510"}.la-om:before{content:"\f679"}.la-opencart:before{content:"\f23d"}.la-openid:before{content:"\f19b"}.la-opera:before{content:"\f26a"}.la-optin-monster:before{content:"\f23c"}.la-orcid:before{content:"\f8d2"}.la-osi:before{content:"\f41a"}.la-otter:before{content:"\f700"}.la-outdent:before{content:"\f03b"}.la-page4:before{content:"\f3d7"}.la-pagelines:before{content:"\f18c"}.la-pager:before{content:"\f815"}.la-paint-brush:before{content:"\f1fc"}.la-paint-roller:before{content:"\f5aa"}.la-palette:before{content:"\f53f"}.la-palfed:before{content:"\f3d8"}.la-pallet:before{content:"\f482"}.la-paper-plane:before{content:"\f1d8"}.la-paperclip:before{content:"\f0c6"}.la-parachute-box:before{content:"\f4cd"}.la-paragraph:before{content:"\f1dd"}.la-parking:before{content:"\f540"}.la-passport:before{content:"\f5ab"}.la-pastafarianism:before{content:"\f67b"}.la-paste:before{content:"\f0ea"}.la-patreon:before{content:"\f3d9"}.la-pause:before{content:"\f04c"}.la-pause-circle:before{content:"\f28b"}.la-paw:before{content:"\f1b0"}.la-paypal:before{content:"\f1ed"}.la-peace:before{content:"\f67c"}.la-pen:before{content:"\f304"}.la-pen-alt:before{content:"\f305"}.la-pen-fancy:before{content:"\f5ac"}.la-pen-nib:before{content:"\f5ad"}.la-pen-square:before{content:"\f14b"}.la-pencil-alt:before{content:"\f303"}.la-pencil-ruler:before{content:"\f5ae"}.la-penny-arcade:before{content:"\f704"}.la-people-carry:before{content:"\f4ce"}.la-pepper-hot:before{content:"\f816"}.la-percent:before{content:"\f295"}.la-percentage:before{content:"\f541"}.la-periscope:before{content:"\f3da"}.la-person-booth:before{content:"\f756"}.la-phabricator:before{content:"\f3db"}.la-phoenix-framework:before{content:"\f3dc"}.la-phoenix-squadron:before{content:"\f511"}.la-phone:before{content:"\f095"}.la-phone-alt:before{content:"\f879"}.la-phone-slash:before{content:"\f3dd"}.la-phone-square:before{content:"\f098"}.la-phone-square-alt:before{content:"\f87b"}.la-phone-volume:before{content:"\f2a0"}.la-photo-video:before{content:"\f87c"}.la-php:before{content:"\f457"}.la-pied-piper:before{content:"\f2ae"}.la-pied-piper-alt:before{content:"\f1a8"}.la-pied-piper-hat:before{content:"\f4e5"}.la-pied-piper-pp:before{content:"\f1a7"}.la-piggy-bank:before{content:"\f4d3"}.la-pills:before{content:"\f484"}.la-pinterest:before{content:"\f0d2"}.la-pinterest-p:before{content:"\f231"}.la-pinterest-square:before{content:"\f0d3"}.la-pizza-slice:before{content:"\f818"}.la-place-of-worship:before{content:"\f67f"}.la-plane:before{content:"\f072"}.la-plane-arrival:before{content:"\f5af"}.la-plane-departure:before{content:"\f5b0"}.la-play:before{content:"\f04b"}.la-play-circle:before{content:"\f144"}.la-playstation:before{content:"\f3df"}.la-plug:before{content:"\f1e6"}.la-plus:before{content:"\f067"}.la-plus-circle:before{content:"\f055"}.la-plus-square:before{content:"\f0fe"}.la-podcast:before{content:"\f2ce"}.la-poll:before{content:"\f681"}.la-poll-h:before{content:"\f682"}.la-poo:before{content:"\f2fe"}.la-poo-storm:before{content:"\f75a"}.la-poop:before{content:"\f619"}.la-portrait:before{content:"\f3e0"}.la-pound-sign:before{content:"\f154"}.la-power-off:before{content:"\f011"}.la-pray:before{content:"\f683"}.la-praying-hands:before{content:"\f684"}.la-prescription:before{content:"\f5b1"}.la-prescription-bottle:before{content:"\f485"}.la-prescription-bottle-alt:before{content:"\f486"}.la-print:before{content:"\f02f"}.la-procedures:before{content:"\f487"}.la-product-hunt:before{content:"\f288"}.la-project-diagram:before{content:"\f542"}.la-pushed:before{content:"\f3e1"}.la-puzzle-piece:before{content:"\f12e"}.la-python:before{content:"\f3e2"}.la-qq:before{content:"\f1d6"}.la-qrcode:before{content:"\f029"}.la-question:before{content:"\f128"}.la-question-circle:before{content:"\f059"}.la-quidditch:before{content:"\f458"}.la-quinscape:before{content:"\f459"}.la-quora:before{content:"\f2c4"}.la-quote-left:before{content:"\f10d"}.la-quote-right:before{content:"\f10e"}.la-quran:before{content:"\f687"}.la-r-project:before{content:"\f4f7"}.la-radiation:before{content:"\f7b9"}.la-radiation-alt:before{content:"\f7ba"}.la-rainbow:before{content:"\f75b"}.la-random:before{content:"\f074"}.la-raspberry-pi:before{content:"\f7bb"}.la-ravelry:before{content:"\f2d9"}.la-react:before{content:"\f41b"}.la-reacteurope:before{content:"\f75d"}.la-readme:before{content:"\f4d5"}.la-rebel:before{content:"\f1d0"}.la-receipt:before{content:"\f543"}.la-record-vinyl:before{content:"\f8d9"}.la-recycle:before{content:"\f1b8"}.la-red-river:before{content:"\f3e3"}.la-reddit:before{content:"\f1a1"}.la-reddit-alien:before{content:"\f281"}.la-reddit-square:before{content:"\f1a2"}.la-redhat:before{content:"\f7bc"}.la-redo:before{content:"\f01e"}.la-redo-alt:before{content:"\f2f9"}.la-registered:before{content:"\f25d"}.la-remove-format:before{content:"\f87d"}.la-renren:before{content:"\f18b"}.la-reply:before{content:"\f3e5"}.la-reply-all:before{content:"\f122"}.la-replyd:before{content:"\f3e6"}.la-republican:before{content:"\f75e"}.la-researchgate:before{content:"\f4f8"}.la-resolving:before{content:"\f3e7"}.la-restroom:before{content:"\f7bd"}.la-retweet:before{content:"\f079"}.la-rev:before{content:"\f5b2"}.la-ribbon:before{content:"\f4d6"}.la-ring:before{content:"\f70b"}.la-road:before{content:"\f018"}.la-robot:before{content:"\f544"}.la-rocket:before{content:"\f135"}.la-rocketchat:before{content:"\f3e8"}.la-rockrms:before{content:"\f3e9"}.la-route:before{content:"\f4d7"}.la-rss:before{content:"\f09e"}.la-rss-square:before{content:"\f143"}.la-ruble-sign:before{content:"\f158"}.la-ruler:before{content:"\f545"}.la-ruler-combined:before{content:"\f546"}.la-ruler-horizontal:before{content:"\f547"}.la-ruler-vertical:before{content:"\f548"}.la-running:before{content:"\f70c"}.la-rupee-sign:before{content:"\f156"}.la-sad-cry:before{content:"\f5b3"}.la-sad-tear:before{content:"\f5b4"}.la-safari:before{content:"\f267"}.la-salesforce:before{content:"\f83b"}.la-sass:before{content:"\f41e"}.la-satellite:before{content:"\f7bf"}.la-satellite-dish:before{content:"\f7c0"}.la-save:before{content:"\f0c7"}.la-schlix:before{content:"\f3ea"}.la-school:before{content:"\f549"}.la-screwdriver:before{content:"\f54a"}.la-scribd:before{content:"\f28a"}.la-scroll:before{content:"\f70e"}.la-sd-card:before{content:"\f7c2"}.la-search:before{content:"\f002"}.la-search-dollar:before{content:"\f688"}.la-search-location:before{content:"\f689"}.la-search-minus:before{content:"\f010"}.la-search-plus:before{content:"\f00e"}.la-searchengin:before{content:"\f3eb"}.la-seedling:before{content:"\f4d8"}.la-sellcast:before{content:"\f2da"}.la-sellsy:before{content:"\f213"}.la-server:before{content:"\f233"}.la-servicestack:before{content:"\f3ec"}.la-shapes:before{content:"\f61f"}.la-share:before{content:"\f064"}.la-share-alt:before{content:"\f1e0"}.la-share-alt-square:before{content:"\f1e1"}.la-share-square:before{content:"\f14d"}.la-shekel-sign:before{content:"\f20b"}.la-shield-alt:before{content:"\f3ed"}.la-ship:before{content:"\f21a"}.la-shipping-fast:before{content:"\f48b"}.la-shirtsinbulk:before{content:"\f214"}.la-shoe-prints:before{content:"\f54b"}.la-shopping-bag:before{content:"\f290"}.la-shopping-basket:before{content:"\f291"}.la-shopping-cart:before{content:"\f07a"}.la-shopware:before{content:"\f5b5"}.la-shower:before{content:"\f2cc"}.la-shuttle-van:before{content:"\f5b6"}.la-sign:before{content:"\f4d9"}.la-sign-in-alt:before{content:"\f2f6"}.la-sign-language:before{content:"\f2a7"}.la-sign-out-alt:before{content:"\f2f5"}.la-signal:before{content:"\f012"}.la-signature:before{content:"\f5b7"}.la-sim-card:before{content:"\f7c4"}.la-simplybuilt:before{content:"\f215"}.la-sistrix:before{content:"\f3ee"}.la-sitemap:before{content:"\f0e8"}.la-sith:before{content:"\f512"}.la-skating:before{content:"\f7c5"}.la-sketch:before{content:"\f7c6"}.la-skiing:before{content:"\f7c9"}.la-skiing-nordic:before{content:"\f7ca"}.la-skull:before{content:"\f54c"}.la-skull-crossbones:before{content:"\f714"}.la-skyatlas:before{content:"\f216"}.la-skype:before{content:"\f17e"}.la-slack:before{content:"\f198"}.la-slack-hash:before{content:"\f3ef"}.la-slash:before{content:"\f715"}.la-sleigh:before{content:"\f7cc"}.la-sliders-h:before{content:"\f1de"}.la-slideshare:before{content:"\f1e7"}.la-smile:before{content:"\f118"}.la-smile-beam:before{content:"\f5b8"}.la-smile-wink:before{content:"\f4da"}.la-smog:before{content:"\f75f"}.la-smoking:before{content:"\f48d"}.la-smoking-ban:before{content:"\f54d"}.la-sms:before{content:"\f7cd"}.la-snapchat:before{content:"\f2ab"}.la-snapchat-ghost:before{content:"\f2ac"}.la-snapchat-square:before{content:"\f2ad"}.la-snowboarding:before{content:"\f7ce"}.la-snowflake:before{content:"\f2dc"}.la-snowman:before{content:"\f7d0"}.la-snowplow:before{content:"\f7d2"}.la-socks:before{content:"\f696"}.la-solar-panel:before{content:"\f5ba"}.la-sort:before{content:"\f0dc"}.la-sort-alpha-down:before{content:"\f15d"}.la-sort-alpha-down-alt:before{content:"\f881"}.la-sort-alpha-up:before{content:"\f15e"}.la-sort-alpha-up-alt:before{content:"\f882"}.la-sort-amount-down:before{content:"\f160"}.la-sort-amount-down-alt:before{content:"\f884"}.la-sort-amount-up:before{content:"\f161"}.la-sort-amount-up-alt:before{content:"\f885"}.la-sort-down:before{content:"\f0dd"}.la-sort-numeric-down:before{content:"\f162"}.la-sort-numeric-down-alt:before{content:"\f886"}.la-sort-numeric-up:before{content:"\f163"}.la-sort-numeric-up-alt:before{content:"\f887"}.la-sort-up:before{content:"\f0de"}.la-soundcloud:before{content:"\f1be"}.la-sourcetree:before{content:"\f7d3"}.la-spa:before{content:"\f5bb"}.la-space-shuttle:before{content:"\f197"}.la-speakap:before{content:"\f3f3"}.la-speaker-deck:before{content:"\f83c"}.la-spell-check:before{content:"\f891"}.la-spider:before{content:"\f717"}.la-spinner:before{content:"\f110"}.la-splotch:before{content:"\f5bc"}.la-spotify:before{content:"\f1bc"}.la-spray-can:before{content:"\f5bd"}.la-square:before{content:"\f0c8"}.la-square-full:before{content:"\f45c"}.la-square-root-alt:before{content:"\f698"}.la-squarespace:before{content:"\f5be"}.la-stack-exchange:before{content:"\f18d"}.la-stack-overflow:before{content:"\f16c"}.la-stackpath:before{content:"\f842"}.la-stamp:before{content:"\f5bf"}.la-star:before{content:"\f005"}.la-star-and-crescent:before{content:"\f699"}.la-star-half:before{content:"\f089"}.la-star-half-alt:before{content:"\f5c0"}.la-star-of-david:before{content:"\f69a"}.la-star-of-life:before{content:"\f621"}.la-staylinked:before{content:"\f3f5"}.la-steam:before{content:"\f1b6"}.la-steam-square:before{content:"\f1b7"}.la-steam-symbol:before{content:"\f3f6"}.la-step-backward:before{content:"\f048"}.la-step-forward:before{content:"\f051"}.la-stethoscope:before{content:"\f0f1"}.la-sticker-mule:before{content:"\f3f7"}.la-sticky-note:before{content:"\f249"}.la-stop:before{content:"\f04d"}.la-stop-circle:before{content:"\f28d"}.la-stopwatch:before{content:"\f2f2"}.la-store:before{content:"\f54e"}.la-store-alt:before{content:"\f54f"}.la-strava:before{content:"\f428"}.la-stream:before{content:"\f550"}.la-street-view:before{content:"\f21d"}.la-strikethrough:before{content:"\f0cc"}.la-stripe:before{content:"\f429"}.la-stripe-s:before{content:"\f42a"}.la-stroopwafel:before{content:"\f551"}.la-studiovinari:before{content:"\f3f8"}.la-stumbleupon:before{content:"\f1a4"}.la-stumbleupon-circle:before{content:"\f1a3"}.la-subscript:before{content:"\f12c"}.la-subway:before{content:"\f239"}.la-suitcase:before{content:"\f0f2"}.la-suitcase-rolling:before{content:"\f5c1"}.la-sun:before{content:"\f185"}.la-superpowers:before{content:"\f2dd"}.la-superscript:before{content:"\f12b"}.la-supple:before{content:"\f3f9"}.la-surprise:before{content:"\f5c2"}.la-suse:before{content:"\f7d6"}.la-swatchbook:before{content:"\f5c3"}.la-swift:before{content:"\f8e1"}.la-swimmer:before{content:"\f5c4"}.la-swimming-pool:before{content:"\f5c5"}.la-symfony:before{content:"\f83d"}.la-synagogue:before{content:"\f69b"}.la-sync:before{content:"\f021"}.la-sync-alt:before{content:"\f2f1"}.la-syringe:before{content:"\f48e"}.la-table:before{content:"\f0ce"}.la-table-tennis:before{content:"\f45d"}.la-tablet:before{content:"\f10a"}.la-tablet-alt:before{content:"\f3fa"}.la-tablets:before{content:"\f490"}.la-tachometer-alt:before{content:"\f3fd"}.la-tag:before{content:"\f02b"}.la-tags:before{content:"\f02c"}.la-tape:before{content:"\f4db"}.la-tasks:before{content:"\f0ae"}.la-taxi:before{content:"\f1ba"}.la-teamspeak:before{content:"\f4f9"}.la-teeth:before{content:"\f62e"}.la-teeth-open:before{content:"\f62f"}.la-telegram:before{content:"\f2c6"}.la-telegram-plane:before{content:"\f3fe"}.la-temperature-high:before{content:"\f769"}.la-temperature-low:before{content:"\f76b"}.la-tencent-weibo:before{content:"\f1d5"}.la-tenge:before{content:"\f7d7"}.la-terminal:before{content:"\f120"}.la-text-height:before{content:"\f034"}.la-text-width:before{content:"\f035"}.la-th:before{content:"\f00a"}.la-th-large:before{content:"\f009"}.la-th-list:before{content:"\f00b"}.la-the-red-yeti:before{content:"\f69d"}.la-theater-masks:before{content:"\f630"}.la-themeco:before{content:"\f5c6"}.la-themeisle:before{content:"\f2b2"}.la-thermometer:before{content:"\f491"}.la-thermometer-empty:before{content:"\f2cb"}.la-thermometer-full:before{content:"\f2c7"}.la-thermometer-half:before{content:"\f2c9"}.la-thermometer-quarter:before{content:"\f2ca"}.la-thermometer-three-quarters:before{content:"\f2c8"}.la-think-peaks:before{content:"\f731"}.la-thumbs-down:before{content:"\f165"}.la-thumbs-up:before{content:"\f164"}.la-thumbtack:before{content:"\f08d"}.la-ticket-alt:before{content:"\f3ff"}.la-times:before{content:"\f00d"}.la-times-circle:before{content:"\f057"}.la-tint:before{content:"\f043"}.la-tint-slash:before{content:"\f5c7"}.la-tired:before{content:"\f5c8"}.la-toggle-off:before{content:"\f204"}.la-toggle-on:before{content:"\f205"}.la-toilet:before{content:"\f7d8"}.la-toilet-paper:before{content:"\f71e"}.la-toolbox:before{content:"\f552"}.la-tools:before{content:"\f7d9"}.la-tooth:before{content:"\f5c9"}.la-torah:before{content:"\f6a0"}.la-torii-gate:before{content:"\f6a1"}.la-tractor:before{content:"\f722"}.la-trade-federation:before{content:"\f513"}.la-trademark:before{content:"\f25c"}.la-traffic-light:before{content:"\f637"}.la-train:before{content:"\f238"}.la-tram:before{content:"\f7da"}.la-transgender:before{content:"\f224"}.la-transgender-alt:before{content:"\f225"}.la-trash:before{content:"\f1f8"}.la-trash-alt:before{content:"\f2ed"}.la-trash-restore:before{content:"\f829"}.la-trash-restore-alt:before{content:"\f82a"}.la-tree:before{content:"\f1bb"}.la-trello:before{content:"\f181"}.la-tripadvisor:before{content:"\f262"}.la-trophy:before{content:"\f091"}.la-truck:before{content:"\f0d1"}.la-truck-loading:before{content:"\f4de"}.la-truck-monster:before{content:"\f63b"}.la-truck-moving:before{content:"\f4df"}.la-truck-pickup:before{content:"\f63c"}.la-tshirt:before{content:"\f553"}.la-tty:before{content:"\f1e4"}.la-tumblr:before{content:"\f173"}.la-tumblr-square:before{content:"\f174"}.la-tv:before{content:"\f26c"}.la-twitch:before{content:"\f1e8"}.la-twitter:before{content:"\f099"}.la-twitter-square:before{content:"\f081"}.la-typo3:before{content:"\f42b"}.la-uber:before{content:"\f402"}.la-ubuntu:before{content:"\f7df"}.la-uikit:before{content:"\f403"}.la-umbraco:before{content:"\f8e8"}.la-umbrella:before{content:"\f0e9"}.la-umbrella-beach:before{content:"\f5ca"}.la-underline:before{content:"\f0cd"}.la-undo:before{content:"\f0e2"}.la-undo-alt:before{content:"\f2ea"}.la-uniregistry:before{content:"\f404"}.la-universal-access:before{content:"\f29a"}.la-university:before{content:"\f19c"}.la-unlink:before{content:"\f127"}.la-unlock:before{content:"\f09c"}.la-unlock-alt:before{content:"\f13e"}.la-untappd:before{content:"\f405"}.la-upload:before{content:"\f093"}.la-ups:before{content:"\f7e0"}.la-usb:before{content:"\f287"}.la-user:before{content:"\f007"}.la-user-alt:before{content:"\f406"}.la-user-alt-slash:before{content:"\f4fa"}.la-user-astronaut:before{content:"\f4fb"}.la-user-check:before{content:"\f4fc"}.la-user-circle:before{content:"\f2bd"}.la-user-clock:before{content:"\f4fd"}.la-user-cog:before{content:"\f4fe"}.la-user-edit:before{content:"\f4ff"}.la-user-friends:before{content:"\f500"}.la-user-graduate:before{content:"\f501"}.la-user-injured:before{content:"\f728"}.la-user-lock:before{content:"\f502"}.la-user-md:before{content:"\f0f0"}.la-user-minus:before{content:"\f503"}.la-user-ninja:before{content:"\f504"}.la-user-nurse:before{content:"\f82f"}.la-user-plus:before{content:"\f234"}.la-user-secret:before{content:"\f21b"}.la-user-shield:before{content:"\f505"}.la-user-slash:before{content:"\f506"}.la-user-tag:before{content:"\f507"}.la-user-tie:before{content:"\f508"}.la-user-times:before{content:"\f235"}.la-users:before{content:"\f0c0"}.la-users-cog:before{content:"\f509"}.la-usps:before{content:"\f7e1"}.la-ussunnah:before{content:"\f407"}.la-utensil-spoon:before{content:"\f2e5"}.la-utensils:before{content:"\f2e7"}.la-vaadin:before{content:"\f408"}.la-vector-square:before{content:"\f5cb"}.la-venus:before{content:"\f221"}.la-venus-double:before{content:"\f226"}.la-venus-mars:before{content:"\f228"}.la-viacoin:before{content:"\f237"}.la-viadeo:before{content:"\f2a9"}.la-viadeo-square:before{content:"\f2aa"}.la-vial:before{content:"\f492"}.la-vials:before{content:"\f493"}.la-viber:before{content:"\f409"}.la-video:before{content:"\f03d"}.la-video-slash:before{content:"\f4e2"}.la-vihara:before{content:"\f6a7"}.la-vimeo:before{content:"\f40a"}.la-vimeo-square:before{content:"\f194"}.la-vimeo-v:before{content:"\f27d"}.la-vine:before{content:"\f1ca"}.la-vk:before{content:"\f189"}.la-vnv:before{content:"\f40b"}.la-voicemail:before{content:"\f897"}.la-volleyball-ball:before{content:"\f45f"}.la-volume-down:before{content:"\f027"}.la-volume-mute:before{content:"\f6a9"}.la-volume-off:before{content:"\f026"}.la-volume-up:before{content:"\f028"}.la-vote-yea:before{content:"\f772"}.la-vr-cardboard:before{content:"\f729"}.la-vuejs:before{content:"\f41f"}.la-walking:before{content:"\f554"}.la-wallet:before{content:"\f555"}.la-warehouse:before{content:"\f494"}.la-water:before{content:"\f773"}.la-wave-square:before{content:"\f83e"}.la-waze:before{content:"\f83f"}.la-weebly:before{content:"\f5cc"}.la-weibo:before{content:"\f18a"}.la-weight:before{content:"\f496"}.la-weight-hanging:before{content:"\f5cd"}.la-weixin:before{content:"\f1d7"}.la-whatsapp:before{content:"\f232"}.la-whatsapp-square:before{content:"\f40c"}.la-wheelchair:before{content:"\f193"}.la-whmcs:before{content:"\f40d"}.la-wifi:before{content:"\f1eb"}.la-wikipedia-w:before{content:"\f266"}.la-wind:before{content:"\f72e"}.la-window-close:before{content:"\f410"}.la-window-maximize:before{content:"\f2d0"}.la-window-minimize:before{content:"\f2d1"}.la-window-restore:before{content:"\f2d2"}.la-windows:before{content:"\f17a"}.la-wine-bottle:before{content:"\f72f"}.la-wine-glass:before{content:"\f4e3"}.la-wine-glass-alt:before{content:"\f5ce"}.la-wix:before{content:"\f5cf"}.la-wizards-of-the-coast:before{content:"\f730"}.la-wolf-pack-battalion:before{content:"\f514"}.la-won-sign:before{content:"\f159"}.la-wordpress:before{content:"\f19a"}.la-wordpress-simple:before{content:"\f411"}.la-wpbeginner:before{content:"\f297"}.la-wpexplorer:before{content:"\f2de"}.la-wpforms:before{content:"\f298"}.la-wpressr:before{content:"\f3e4"}.la-wrench:before{content:"\f0ad"}.la-x-ray:before{content:"\f497"}.la-xbox:before{content:"\f412"}.la-xing:before{content:"\f168"}.la-xing-square:before{content:"\f169"}.la-y-combinator:before{content:"\f23b"}.la-yahoo:before{content:"\f19e"}.la-yammer:before{content:"\f840"}.la-yandex:before{content:"\f413"}.la-yandex-international:before{content:"\f414"}.la-yarn:before{content:"\f7e3"}.la-yelp:before{content:"\f1e9"}.la-yen-sign:before{content:"\f157"}.la-yin-yang:before{content:"\f6ad"}.la-yoast:before{content:"\f2b1"}.la-youtube:before{content:"\f167"}.la-youtube-square:before{content:"\f431"}.la-zhihu:before{content:"\f63f"}@font-face{font-family:"Line Awesome Brands";font-style:normal;font-weight:400;font-display:auto;src:url(../../static/media/la-brands-400.a38ca9f0.eot);src:url(../../static/media/la-brands-400.a38ca9f0.eot?#iefix) format("embedded-opentype"),url(../../static/media/la-brands-400.54b0b4e7.woff2) format("woff2"),url(../../static/media/la-brands-400.fb598c9c.woff) format("woff"),url(../../static/media/la-brands-400.bbf83f8b.ttf) format("truetype"),url(../../static/media/la-brands-400.9769d0a6.svg#lineawesome) format("svg")}.lab{font-family:"Line Awesome Brands"}@font-face{font-family:"Line Awesome Free";font-style:normal;font-weight:400;font-display:auto;src:url(../../static/media/la-regular-400.2746742c.eot);src:url(../../static/media/la-regular-400.2746742c.eot?#iefix) format("embedded-opentype"),url(../../static/media/la-regular-400.88d9d941.woff2) format("woff2"),url(../../static/media/la-regular-400.338f6f87.woff) format("woff"),url(../../static/media/la-regular-400.87dab6ff.ttf) format("truetype"),url(../../static/media/la-regular-400.55c57a74.svg#lineawesome) format("svg")}.lar{font-weight:400}@font-face{font-family:"Line Awesome Free";font-style:normal;font-weight:900;font-display:auto;src:url(../../static/media/la-solid-900.8c65fd3e.eot);src:url(../../static/media/la-solid-900.8c65fd3e.eot?#iefix) format("embedded-opentype"),url(../../static/media/la-solid-900.36fc2979.woff2) format("woff2"),url(../../static/media/la-solid-900.87292218.woff) format("woff"),url(../../static/media/la-solid-900.bb49393b.ttf) format("truetype"),url(../../static/media/la-solid-900.79be4e9f.svg#lineawesome) format("svg")}.la,.lar,.las{font-family:"Line Awesome Free"}.la,.las{font-weight:900}.la.la-glass:before{content:"\f000"}.la.la-meetup{font-family:"Line Awesome Brands";font-weight:400}.la.la-star-o{font-family:"Line Awesome Free";font-weight:400}.la.la-star-o:before{content:"\f005"}.la.la-close:before,.la.la-remove:before{content:"\f00d"}.la.la-gear:before{content:"\f013"}.la.la-trash-o{font-family:"Line Awesome Free";font-weight:400}.la.la-trash-o:before{content:"\f2ed"}.la.la-file-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-o:before{content:"\f15b"}.la.la-clock-o{font-family:"Line Awesome Free";font-weight:400}.la.la-clock-o:before{content:"\f017"}.la.la-arrow-circle-o-down{font-family:"Line Awesome Free";font-weight:400}.la.la-arrow-circle-o-down:before{content:"\f358"}.la.la-arrow-circle-o-up{font-family:"Line Awesome Free";font-weight:400}.la.la-arrow-circle-o-up:before{content:"\f35b"}.la.la-play-circle-o{font-family:"Line Awesome Free";font-weight:400}.la.la-play-circle-o:before{content:"\f144"}.la.la-repeat:before,.la.la-rotate-right:before{content:"\f01e"}.la.la-refresh:before{content:"\f021"}.la.la-list-alt{font-family:"Line Awesome Free";font-weight:400}.la.la-dedent:before{content:"\f03b"}.la.la-video-camera:before{content:"\f03d"}.la.la-picture-o{font-family:"Line Awesome Free";font-weight:400}.la.la-picture-o:before{content:"\f03e"}.la.la-photo{font-family:"Line Awesome Free";font-weight:400}.la.la-photo:before{content:"\f03e"}.la.la-image{font-family:"Line Awesome Free";font-weight:400}.la.la-image:before{content:"\f03e"}.la.la-pencil:before{content:"\f303"}.la.la-map-marker:before{content:"\f3c5"}.la.la-pencil-square-o{font-family:"Line Awesome Free";font-weight:400}.la.la-pencil-square-o:before{content:"\f044"}.la.la-share-square-o{font-family:"Line Awesome Free";font-weight:400}.la.la-share-square-o:before{content:"\f14d"}.la.la-check-square-o{font-family:"Line Awesome Free";font-weight:400}.la.la-check-square-o:before{content:"\f14a"}.la.la-arrows:before{content:"\f0b2"}.la.la-times-circle-o{font-family:"Line Awesome Free";font-weight:400}.la.la-times-circle-o:before{content:"\f057"}.la.la-check-circle-o{font-family:"Line Awesome Free";font-weight:400}.la.la-check-circle-o:before{content:"\f058"}.la.la-mail-forward:before{content:"\f064"}.la.la-eye,.la.la-eye-slash{font-family:"Line Awesome Free";font-weight:400}.la.la-warning:before{content:"\f071"}.la.la-calendar:before{content:"\f073"}.la.la-arrows-v:before{content:"\f338"}.la.la-arrows-h:before{content:"\f337"}.la.la-bar-chart{font-family:"Line Awesome Free";font-weight:400}.la.la-bar-chart:before{content:"\f080"}.la.la-bar-chart-o{font-family:"Line Awesome Free";font-weight:400}.la.la-bar-chart-o:before{content:"\f080"}.la.la-facebook-square,.la.la-twitter-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-gears:before{content:"\f085"}.la.la-thumbs-o-up{font-family:"Line Awesome Free";font-weight:400}.la.la-thumbs-o-up:before{content:"\f164"}.la.la-thumbs-o-down{font-family:"Line Awesome Free";font-weight:400}.la.la-thumbs-o-down:before{content:"\f165"}.la.la-heart-o{font-family:"Line Awesome Free";font-weight:400}.la.la-heart-o:before{content:"\f004"}.la.la-sign-out:before{content:"\f2f5"}.la.la-linkedin-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-linkedin-square:before{content:"\f08c"}.la.la-thumb-tack:before{content:"\f08d"}.la.la-external-link:before{content:"\f35d"}.la.la-sign-in:before{content:"\f2f6"}.la.la-github-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-lemon-o{font-family:"Line Awesome Free";font-weight:400}.la.la-lemon-o:before{content:"\f094"}.la.la-square-o{font-family:"Line Awesome Free";font-weight:400}.la.la-square-o:before{content:"\f0c8"}.la.la-bookmark-o{font-family:"Line Awesome Free";font-weight:400}.la.la-bookmark-o:before{content:"\f02e"}.la.la-facebook,.la.la-twitter{font-family:"Line Awesome Brands";font-weight:400}.la.la-facebook:before{content:"\f39e"}.la.la-facebook-f{font-family:"Line Awesome Brands";font-weight:400}.la.la-facebook-f:before{content:"\f39e"}.la.la-github{font-family:"Line Awesome Brands";font-weight:400}.la.la-credit-card{font-family:"Line Awesome Free";font-weight:400}.la.la-feed:before{content:"\f09e"}.la.la-hdd-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hdd-o:before{content:"\f0a0"}.la.la-hand-o-right{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-o-right:before{content:"\f0a4"}.la.la-hand-o-left{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-o-left:before{content:"\f0a5"}.la.la-hand-o-up{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-o-up:before{content:"\f0a6"}.la.la-hand-o-down{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-o-down:before{content:"\f0a7"}.la.la-arrows-alt:before{content:"\f31e"}.la.la-group:before{content:"\f0c0"}.la.la-chain:before{content:"\f0c1"}.la.la-scissors:before{content:"\f0c4"}.la.la-files-o{font-family:"Line Awesome Free";font-weight:400}.la.la-files-o:before{content:"\f0c5"}.la.la-floppy-o{font-family:"Line Awesome Free";font-weight:400}.la.la-floppy-o:before{content:"\f0c7"}.la.la-navicon:before,.la.la-reorder:before{content:"\f0c9"}.la.la-google-plus,.la.la-google-plus-square,.la.la-pinterest,.la.la-pinterest-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-google-plus:before{content:"\f0d5"}.la.la-money{font-family:"Line Awesome Free";font-weight:400}.la.la-money:before{content:"\f3d1"}.la.la-unsorted:before{content:"\f0dc"}.la.la-sort-desc:before{content:"\f0dd"}.la.la-sort-asc:before{content:"\f0de"}.la.la-linkedin{font-family:"Line Awesome Brands";font-weight:400}.la.la-linkedin:before{content:"\f0e1"}.la.la-rotate-left:before{content:"\f0e2"}.la.la-legal:before{content:"\f0e3"}.la.la-dashboard:before,.la.la-tachometer:before{content:"\f3fd"}.la.la-comment-o{font-family:"Line Awesome Free";font-weight:400}.la.la-comment-o:before{content:"\f075"}.la.la-comments-o{font-family:"Line Awesome Free";font-weight:400}.la.la-comments-o:before{content:"\f086"}.la.la-flash:before{content:"\f0e7"}.la.la-clipboard,.la.la-paste{font-family:"Line Awesome Free";font-weight:400}.la.la-paste:before{content:"\f328"}.la.la-lightbulb-o{font-family:"Line Awesome Free";font-weight:400}.la.la-lightbulb-o:before{content:"\f0eb"}.la.la-exchange:before{content:"\f362"}.la.la-cloud-download:before{content:"\f381"}.la.la-cloud-upload:before{content:"\f382"}.la.la-bell-o{font-family:"Line Awesome Free";font-weight:400}.la.la-bell-o:before{content:"\f0f3"}.la.la-cutlery:before{content:"\f2e7"}.la.la-file-text-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-text-o:before{content:"\f15c"}.la.la-building-o{font-family:"Line Awesome Free";font-weight:400}.la.la-building-o:before{content:"\f1ad"}.la.la-hospital-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hospital-o:before{content:"\f0f8"}.la.la-tablet:before{content:"\f3fa"}.la.la-mobile-phone:before,.la.la-mobile:before{content:"\f3cd"}.la.la-circle-o{font-family:"Line Awesome Free";font-weight:400}.la.la-circle-o:before{content:"\f111"}.la.la-mail-reply:before{content:"\f3e5"}.la.la-github-alt{font-family:"Line Awesome Brands";font-weight:400}.la.la-folder-o{font-family:"Line Awesome Free";font-weight:400}.la.la-folder-o:before{content:"\f07b"}.la.la-folder-open-o{font-family:"Line Awesome Free";font-weight:400}.la.la-folder-open-o:before{content:"\f07c"}.la.la-smile-o{font-family:"Line Awesome Free";font-weight:400}.la.la-smile-o:before{content:"\f118"}.la.la-frown-o{font-family:"Line Awesome Free";font-weight:400}.la.la-frown-o:before{content:"\f119"}.la.la-meh-o{font-family:"Line Awesome Free";font-weight:400}.la.la-meh-o:before{content:"\f11a"}.la.la-keyboard-o{font-family:"Line Awesome Free";font-weight:400}.la.la-keyboard-o:before{content:"\f11c"}.la.la-flag-o{font-family:"Line Awesome Free";font-weight:400}.la.la-flag-o:before{content:"\f024"}.la.la-mail-reply-all:before{content:"\f122"}.la.la-star-half-o{font-family:"Line Awesome Free";font-weight:400}.la.la-star-half-o:before{content:"\f089"}.la.la-star-half-empty{font-family:"Line Awesome Free";font-weight:400}.la.la-star-half-empty:before{content:"\f089"}.la.la-star-half-full{font-family:"Line Awesome Free";font-weight:400}.la.la-star-half-full:before{content:"\f089"}.la.la-code-fork:before{content:"\f126"}.la.la-chain-broken:before{content:"\f127"}.la.la-shield:before{content:"\f3ed"}.la.la-calendar-o{font-family:"Line Awesome Free";font-weight:400}.la.la-calendar-o:before{content:"\f133"}.la.la-css3,.la.la-html5,.la.la-maxcdn{font-family:"Line Awesome Brands";font-weight:400}.la.la-ticket:before{content:"\f3ff"}.la.la-minus-square-o{font-family:"Line Awesome Free";font-weight:400}.la.la-minus-square-o:before{content:"\f146"}.la.la-level-up:before{content:"\f3bf"}.la.la-level-down:before{content:"\f3be"}.la.la-pencil-square:before{content:"\f14b"}.la.la-external-link-square:before{content:"\f360"}.la.la-compass{font-family:"Line Awesome Free";font-weight:400}.la.la-caret-square-o-down{font-family:"Line Awesome Free";font-weight:400}.la.la-caret-square-o-down:before{content:"\f150"}.la.la-toggle-down{font-family:"Line Awesome Free";font-weight:400}.la.la-toggle-down:before{content:"\f150"}.la.la-caret-square-o-up{font-family:"Line Awesome Free";font-weight:400}.la.la-caret-square-o-up:before{content:"\f151"}.la.la-toggle-up{font-family:"Line Awesome Free";font-weight:400}.la.la-toggle-up:before{content:"\f151"}.la.la-caret-square-o-right{font-family:"Line Awesome Free";font-weight:400}.la.la-caret-square-o-right:before{content:"\f152"}.la.la-toggle-right{font-family:"Line Awesome Free";font-weight:400}.la.la-toggle-right:before{content:"\f152"}.la.la-eur:before,.la.la-euro:before{content:"\f153"}.la.la-gbp:before{content:"\f154"}.la.la-dollar:before,.la.la-usd:before{content:"\f155"}.la.la-inr:before,.la.la-rupee:before{content:"\f156"}.la.la-cny:before,.la.la-jpy:before,.la.la-rmb:before,.la.la-yen:before{content:"\f157"}.la.la-rouble:before,.la.la-rub:before,.la.la-ruble:before{content:"\f158"}.la.la-krw:before,.la.la-won:before{content:"\f159"}.la.la-bitcoin,.la.la-btc{font-family:"Line Awesome Brands";font-weight:400}.la.la-bitcoin:before{content:"\f15a"}.la.la-file-text:before{content:"\f15c"}.la.la-sort-alpha-asc:before{content:"\f15d"}.la.la-sort-alpha-desc:before{content:"\f881"}.la.la-sort-amount-asc:before{content:"\f160"}.la.la-sort-amount-desc:before{content:"\f884"}.la.la-sort-numeric-asc:before{content:"\f162"}.la.la-sort-numeric-desc:before{content:"\f886"}.la.la-xing,.la.la-xing-square,.la.la-youtube,.la.la-youtube-play,.la.la-youtube-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-youtube-play:before{content:"\f167"}.la.la-adn,.la.la-bitbucket,.la.la-bitbucket-square,.la.la-dropbox,.la.la-flickr,.la.la-instagram,.la.la-stack-overflow{font-family:"Line Awesome Brands";font-weight:400}.la.la-bitbucket-square:before{content:"\f171"}.la.la-tumblr,.la.la-tumblr-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-long-arrow-down:before{content:"\f309"}.la.la-long-arrow-up:before{content:"\f30c"}.la.la-long-arrow-left:before{content:"\f30a"}.la.la-long-arrow-right:before{content:"\f30b"}.la.la-android,.la.la-apple,.la.la-dribbble,.la.la-foursquare,.la.la-gittip,.la.la-gratipay,.la.la-linux,.la.la-skype,.la.la-trello,.la.la-windows{font-family:"Line Awesome Brands";font-weight:400}.la.la-gittip:before{content:"\f184"}.la.la-sun-o{font-family:"Line Awesome Free";font-weight:400}.la.la-sun-o:before{content:"\f185"}.la.la-moon-o{font-family:"Line Awesome Free";font-weight:400}.la.la-moon-o:before{content:"\f186"}.la.la-pagelines,.la.la-renren,.la.la-stack-exchange,.la.la-vk,.la.la-weibo{font-family:"Line Awesome Brands";font-weight:400}.la.la-arrow-circle-o-right{font-family:"Line Awesome Free";font-weight:400}.la.la-arrow-circle-o-right:before{content:"\f35a"}.la.la-arrow-circle-o-left{font-family:"Line Awesome Free";font-weight:400}.la.la-arrow-circle-o-left:before{content:"\f359"}.la.la-caret-square-o-left{font-family:"Line Awesome Free";font-weight:400}.la.la-caret-square-o-left:before{content:"\f191"}.la.la-toggle-left{font-family:"Line Awesome Free";font-weight:400}.la.la-toggle-left:before{content:"\f191"}.la.la-dot-circle-o{font-family:"Line Awesome Free";font-weight:400}.la.la-dot-circle-o:before{content:"\f192"}.la.la-vimeo-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-try:before,.la.la-turkish-lira:before{content:"\f195"}.la.la-plus-square-o{font-family:"Line Awesome Free";font-weight:400}.la.la-plus-square-o:before{content:"\f0fe"}.la.la-openid,.la.la-slack,.la.la-wordpress{font-family:"Line Awesome Brands";font-weight:400}.la.la-bank:before,.la.la-institution:before{content:"\f19c"}.la.la-mortar-board:before{content:"\f19d"}.la.la-delicious,.la.la-digg,.la.la-drupal,.la.la-google,.la.la-joomla,.la.la-pied-piper-alt,.la.la-pied-piper-pp,.la.la-reddit,.la.la-reddit-square,.la.la-stumbleupon,.la.la-stumbleupon-circle,.la.la-yahoo{font-family:"Line Awesome Brands";font-weight:400}.la.la-spoon:before{content:"\f2e5"}.la.la-behance,.la.la-behance-square,.la.la-steam,.la.la-steam-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-automobile:before{content:"\f1b9"}.la.la-cab:before{content:"\f1ba"}.la.la-envelope-o{font-family:"Line Awesome Free";font-weight:400}.la.la-envelope-o:before{content:"\f0e0"}.la.la-deviantart,.la.la-soundcloud{font-family:"Line Awesome Brands";font-weight:400}.la.la-file-pdf-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-pdf-o:before{content:"\f1c1"}.la.la-file-word-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-word-o:before{content:"\f1c2"}.la.la-file-excel-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-excel-o:before{content:"\f1c3"}.la.la-file-powerpoint-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-powerpoint-o:before{content:"\f1c4"}.la.la-file-image-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-image-o:before{content:"\f1c5"}.la.la-file-photo-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-photo-o:before{content:"\f1c5"}.la.la-file-picture-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-picture-o:before{content:"\f1c5"}.la.la-file-archive-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-archive-o:before{content:"\f1c6"}.la.la-file-zip-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-zip-o:before{content:"\f1c6"}.la.la-file-audio-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-audio-o:before{content:"\f1c7"}.la.la-file-sound-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-sound-o:before{content:"\f1c7"}.la.la-file-video-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-video-o:before{content:"\f1c8"}.la.la-file-movie-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-movie-o:before{content:"\f1c8"}.la.la-file-code-o{font-family:"Line Awesome Free";font-weight:400}.la.la-file-code-o:before{content:"\f1c9"}.la.la-codepen,.la.la-jsfiddle,.la.la-vine{font-family:"Line Awesome Brands";font-weight:400}.la.la-life-bouy,.la.la-life-ring{font-family:"Line Awesome Free";font-weight:400}.la.la-life-bouy:before{content:"\f1cd"}.la.la-life-buoy{font-family:"Line Awesome Free";font-weight:400}.la.la-life-buoy:before{content:"\f1cd"}.la.la-life-saver{font-family:"Line Awesome Free";font-weight:400}.la.la-life-saver:before{content:"\f1cd"}.la.la-support{font-family:"Line Awesome Free";font-weight:400}.la.la-support:before{content:"\f1cd"}.la.la-circle-o-notch:before{content:"\f1ce"}.la.la-ra,.la.la-rebel{font-family:"Line Awesome Brands";font-weight:400}.la.la-ra:before{content:"\f1d0"}.la.la-resistance{font-family:"Line Awesome Brands";font-weight:400}.la.la-resistance:before{content:"\f1d0"}.la.la-empire,.la.la-ge{font-family:"Line Awesome Brands";font-weight:400}.la.la-ge:before{content:"\f1d1"}.la.la-git,.la.la-git-square,.la.la-hacker-news,.la.la-y-combinator-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-y-combinator-square:before{content:"\f1d4"}.la.la-yc-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-yc-square:before{content:"\f1d4"}.la.la-qq,.la.la-tencent-weibo,.la.la-wechat,.la.la-weixin{font-family:"Line Awesome Brands";font-weight:400}.la.la-wechat:before{content:"\f1d7"}.la.la-send:before{content:"\f1d8"}.la.la-paper-plane-o{font-family:"Line Awesome Free";font-weight:400}.la.la-paper-plane-o:before{content:"\f1d8"}.la.la-send-o{font-family:"Line Awesome Free";font-weight:400}.la.la-send-o:before{content:"\f1d8"}.la.la-circle-thin{font-family:"Line Awesome Free";font-weight:400}.la.la-circle-thin:before{content:"\f111"}.la.la-header:before{content:"\f1dc"}.la.la-sliders:before{content:"\f1de"}.la.la-futbol-o{font-family:"Line Awesome Free";font-weight:400}.la.la-futbol-o:before{content:"\f1e3"}.la.la-soccer-ball-o{font-family:"Line Awesome Free";font-weight:400}.la.la-soccer-ball-o:before{content:"\f1e3"}.la.la-slideshare,.la.la-twitch,.la.la-yelp{font-family:"Line Awesome Brands";font-weight:400}.la.la-newspaper-o{font-family:"Line Awesome Free";font-weight:400}.la.la-newspaper-o:before{content:"\f1ea"}.la.la-cc-amex,.la.la-cc-discover,.la.la-cc-mastercard,.la.la-cc-paypal,.la.la-cc-stripe,.la.la-cc-visa,.la.la-google-wallet,.la.la-paypal{font-family:"Line Awesome Brands";font-weight:400}.la.la-bell-slash-o{font-family:"Line Awesome Free";font-weight:400}.la.la-bell-slash-o:before{content:"\f1f6"}.la.la-trash:before{content:"\f2ed"}.la.la-copyright{font-family:"Line Awesome Free";font-weight:400}.la.la-eyedropper:before{content:"\f1fb"}.la.la-area-chart:before{content:"\f1fe"}.la.la-pie-chart:before{content:"\f200"}.la.la-line-chart:before{content:"\f201"}.la.la-angellist,.la.la-ioxhost,.la.la-lastfm,.la.la-lastfm-square{font-family:"Line Awesome Brands";font-weight:400}.la.la-cc{font-family:"Line Awesome Free";font-weight:400}.la.la-cc:before{content:"\f20a"}.la.la-ils:before,.la.la-shekel:before,.la.la-sheqel:before{content:"\f20b"}.la.la-meanpath{font-family:"Line Awesome Brands";font-weight:400}.la.la-meanpath:before{content:"\f2b4"}.la.la-buysellads,.la.la-connectdevelop,.la.la-dashcube,.la.la-forumbee,.la.la-leanpub,.la.la-sellsy,.la.la-shirtsinbulk,.la.la-simplybuilt,.la.la-skyatlas{font-family:"Line Awesome Brands";font-weight:400}.la.la-diamond{font-family:"Line Awesome Free";font-weight:400}.la.la-diamond:before{content:"\f3a5"}.la.la-intersex:before{content:"\f224"}.la.la-facebook-official{font-family:"Line Awesome Brands";font-weight:400}.la.la-facebook-official:before{content:"\f09a"}.la.la-pinterest-p,.la.la-whatsapp{font-family:"Line Awesome Brands";font-weight:400}.la.la-hotel:before{content:"\f236"}.la.la-medium,.la.la-viacoin,.la.la-y-combinator,.la.la-yc{font-family:"Line Awesome Brands";font-weight:400}.la.la-yc:before{content:"\f23b"}.la.la-expeditedssl,.la.la-opencart,.la.la-optin-monster{font-family:"Line Awesome Brands";font-weight:400}.la.la-battery-4:before,.la.la-battery:before{content:"\f240"}.la.la-battery-3:before{content:"\f241"}.la.la-battery-2:before{content:"\f242"}.la.la-battery-1:before{content:"\f243"}.la.la-battery-0:before{content:"\f244"}.la.la-object-group,.la.la-object-ungroup,.la.la-sticky-note-o{font-family:"Line Awesome Free";font-weight:400}.la.la-sticky-note-o:before{content:"\f249"}.la.la-cc-diners-club,.la.la-cc-jcb{font-family:"Line Awesome Brands";font-weight:400}.la.la-clone,.la.la-hourglass-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hourglass-o:before{content:"\f254"}.la.la-hourglass-1:before{content:"\f251"}.la.la-hourglass-2:before{content:"\f252"}.la.la-hourglass-3:before{content:"\f253"}.la.la-hand-rock-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-rock-o:before{content:"\f255"}.la.la-hand-grab-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-grab-o:before{content:"\f255"}.la.la-hand-paper-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-paper-o:before{content:"\f256"}.la.la-hand-stop-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-stop-o:before{content:"\f256"}.la.la-hand-scissors-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-scissors-o:before{content:"\f257"}.la.la-hand-lizard-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-lizard-o:before{content:"\f258"}.la.la-hand-spock-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-spock-o:before{content:"\f259"}.la.la-hand-pointer-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-pointer-o:before{content:"\f25a"}.la.la-hand-peace-o{font-family:"Line Awesome Free";font-weight:400}.la.la-hand-peace-o:before{content:"\f25b"}.la.la-registered{font-family:"Line Awesome Free";font-weight:400}.la.la-chrome,.la.la-creative-commons,.la.la-firefox,.la.la-get-pocket,.la.la-gg,.la.la-gg-circle,.la.la-internet-explorer,.la.la-odnoklassniki,.la.la-odnoklassniki-square,.la.la-opera,.la.la-safari,.la.la-tripadvisor,.la.la-wikipedia-w{font-family:"Line Awesome Brands";font-weight:400}.la.la-television:before{content:"\f26c"}.la.la-500px,.la.la-amazon,.la.la-contao{font-family:"Line Awesome Brands";font-weight:400}.la.la-calendar-plus-o{font-family:"Line Awesome Free";font-weight:400}.la.la-calendar-plus-o:before{content:"\f271"}.la.la-calendar-minus-o{font-family:"Line Awesome Free";font-weight:400}.la.la-calendar-minus-o:before{content:"\f272"}.la.la-calendar-times-o{font-family:"Line Awesome Free";font-weight:400}.la.la-calendar-times-o:before{content:"\f273"}.la.la-calendar-check-o{font-family:"Line Awesome Free";font-weight:400}.la.la-calendar-check-o:before{content:"\f274"}.la.la-map-o{font-family:"Line Awesome Free";font-weight:400}.la.la-map-o:before{content:"\f279"}.la.la-commenting:before{content:"\f4ad"}.la.la-commenting-o{font-family:"Line Awesome Free";font-weight:400}.la.la-commenting-o:before{content:"\f4ad"}.la.la-houzz,.la.la-vimeo{font-family:"Line Awesome Brands";font-weight:400}.la.la-vimeo:before{content:"\f27d"}.la.la-black-tie,.la.la-edge,.la.la-fonticons,.la.la-reddit-alien{font-family:"Line Awesome Brands";font-weight:400}.la.la-credit-card-alt:before{content:"\f09d"}.la.la-codiepie,.la.la-fort-awesome,.la.la-mixcloud,.la.la-modx,.la.la-product-hunt,.la.la-scribd,.la.la-usb{font-family:"Line Awesome Brands";font-weight:400}.la.la-pause-circle-o{font-family:"Line Awesome Free";font-weight:400}.la.la-pause-circle-o:before{content:"\f28b"}.la.la-stop-circle-o{font-family:"Line Awesome Free";font-weight:400}.la.la-stop-circle-o:before{content:"\f28d"}.la.la-bluetooth,.la.la-bluetooth-b,.la.la-envira,.la.la-gitlab,.la.la-wheelchair-alt,.la.la-wpbeginner,.la.la-wpforms{font-family:"Line Awesome Brands";font-weight:400}.la.la-wheelchair-alt:before{content:"\f368"}.la.la-question-circle-o{font-family:"Line Awesome Free";font-weight:400}.la.la-question-circle-o:before{content:"\f059"}.la.la-volume-control-phone:before{content:"\f2a0"}.la.la-asl-interpreting:before{content:"\f2a3"}.la.la-deafness:before,.la.la-hard-of-hearing:before{content:"\f2a4"}.la.la-glide,.la.la-glide-g{font-family:"Line Awesome Brands";font-weight:400}.la.la-signing:before{content:"\f2a7"}.la.la-first-order,.la.la-google-plus-official,.la.la-pied-piper,.la.la-snapchat,.la.la-snapchat-ghost,.la.la-snapchat-square,.la.la-themeisle,.la.la-viadeo,.la.la-viadeo-square,.la.la-yoast{font-family:"Line Awesome Brands";font-weight:400}.la.la-google-plus-official:before{content:"\f2b3"}.la.la-google-plus-circle{font-family:"Line Awesome Brands";font-weight:400}.la.la-google-plus-circle:before{content:"\f2b3"}.la.la-fa,.la.la-font-awesome{font-family:"Line Awesome Brands";font-weight:400}.la.la-fa:before{content:"\f2b4"}.la.la-handshake-o{font-family:"Line Awesome Free";font-weight:400}.la.la-handshake-o:before{content:"\f2b5"}.la.la-envelope-open-o{font-family:"Line Awesome Free";font-weight:400}.la.la-envelope-open-o:before{content:"\f2b6"}.la.la-linode{font-family:"Line Awesome Brands";font-weight:400}.la.la-address-book-o{font-family:"Line Awesome Free";font-weight:400}.la.la-address-book-o:before{content:"\f2b9"}.la.la-vcard:before{content:"\f2bb"}.la.la-address-card-o{font-family:"Line Awesome Free";font-weight:400}.la.la-address-card-o:before{content:"\f2bb"}.la.la-vcard-o{font-family:"Line Awesome Free";font-weight:400}.la.la-vcard-o:before{content:"\f2bb"}.la.la-user-circle-o{font-family:"Line Awesome Free";font-weight:400}.la.la-user-circle-o:before{content:"\f2bd"}.la.la-user-o{font-family:"Line Awesome Free";font-weight:400}.la.la-user-o:before{content:"\f007"}.la.la-id-badge{font-family:"Line Awesome Free";font-weight:400}.la.la-drivers-license:before{content:"\f2c2"}.la.la-id-card-o{font-family:"Line Awesome Free";font-weight:400}.la.la-id-card-o:before{content:"\f2c2"}.la.la-drivers-license-o{font-family:"Line Awesome Free";font-weight:400}.la.la-drivers-license-o:before{content:"\f2c2"}.la.la-free-code-camp,.la.la-quora,.la.la-telegram{font-family:"Line Awesome Brands";font-weight:400}.la.la-thermometer-4:before,.la.la-thermometer:before{content:"\f2c7"}.la.la-thermometer-3:before{content:"\f2c8"}.la.la-thermometer-2:before{content:"\f2c9"}.la.la-thermometer-1:before{content:"\f2ca"}.la.la-thermometer-0:before{content:"\f2cb"}.la.la-bathtub:before,.la.la-s15:before{content:"\f2cd"}.la.la-window-maximize,.la.la-window-restore{font-family:"Line Awesome Free";font-weight:400}.la.la-times-rectangle:before{content:"\f410"}.la.la-window-close-o{font-family:"Line Awesome Free";font-weight:400}.la.la-window-close-o:before{content:"\f410"}.la.la-times-rectangle-o{font-family:"Line Awesome Free";font-weight:400}.la.la-times-rectangle-o:before{content:"\f410"}.la.la-bandcamp,.la.la-eercast,.la.la-etsy,.la.la-grav,.la.la-imdb,.la.la-ravelry{font-family:"Line Awesome Brands";font-weight:400}.la.la-eercast:before{content:"\f2da"}.la.la-snowflake-o{font-family:"Line Awesome Free";font-weight:400}.la.la-snowflake-o:before{content:"\f2dc"}.la.la-spotify,.la.la-superpowers,.la.la-wpexplorer{font-family:"Line Awesome Brands";font-weight:400} + +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:"FontAwesome";src:url(../../static/media/fontawesome-webfont.674f50d2.eot);src:url(../../static/media/fontawesome-webfont.674f50d2.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(../../static/media/fontawesome-webfont.af7ae505.woff2) format("woff2"),url(../../static/media/fontawesome-webfont.fee66e71.woff) format("woff"),url(../../static/media/fontawesome-webfont.b06871f2.ttf) format("truetype"),url(../../static/media/fontawesome-webfont.912ec66d.svg#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-unselectable{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{vertical-align:top;padding:0}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:"fcicons";src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");font-weight:400;font-style:normal}.fc-icon{display:inline-block;width:1em;height:1em;text-align:center;-webkit-user-select:none;user-select:none;font-family:"fcicons"!important;speak:none;font-style:normal;font-weight:400;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-chevron-left:before{content:"\e900"}.fc-icon-chevron-right:before{content:"\e901"}.fc-icon-chevrons-left:before{content:"\e902"}.fc-icon-chevrons-right:before{content:"\e903"}.fc-icon-minus-square:before{content:"\e904"}.fc-icon-plus-square:before{content:"\e905"}.fc-icon-x:before{content:"\e906"}.fc .fc-button{border-radius:0;overflow:visible;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button::-moz-focus-inner{padding:0;border-style:none}.fc .fc-button{display:inline-block;font-weight:400;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;background-color:initial;border:1px solid transparent;padding:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{outline:0;box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2c3e50;background-color:var(--fc-button-bg-color,#2c3e50);border-color:#2c3e50;border-color:var(--fc-button-border-color,#2c3e50)}.fc .fc-button-primary:hover{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1e2b37;background-color:var(--fc-button-hover-bg-color,#1e2b37);border-color:#1a252f;border-color:var(--fc-button-hover-border-color,#1a252f)}.fc .fc-button-primary:disabled{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2c3e50;background-color:var(--fc-button-bg-color,#2c3e50);border-color:#2c3e50;border-color:var(--fc-button-border-color,#2c3e50)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1a252f;background-color:var(--fc-button-active-bg-color,#1a252f);border-color:#151e27;border-color:var(--fc-button-active-border-color,#151e27)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{vertical-align:middle;font-size:1.5em}.fc .fc-button-group{position:relative;display:inline-flex;vertical-align:middle}.fc .fc-button-group>.fc-button{position:relative;flex:1 1 auto}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.fc .fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{position:absolute;top:0;right:0;left:0;bottom:0}.fc .fc-scroller-harness{position:relative;overflow:hidden;direction:ltr}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{width:100%;table-layout:fixed}.fc .fc-scrollgrid table{border-top-style:hidden;border-left-style:hidden;border-right-style:hidden}.fc .fc-scrollgrid{border-collapse:initial;border-right-width:0;border-bottom-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section>td,.fc .fc-scrollgrid-section table{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-top-width:0;border-left-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:#fff;background:var(--fc-page-bg-color,#fff);position:-webkit-sticky;position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:-webkit-sticky;position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{position:absolute;top:0;left:0;right:0;bottom:0}.fc .fc-non-business{background:hsla(0,0%,84.3%,.3);background:var(--fc-non-business-color,hsla(0,0%,84.3%,.3))}.fc .fc-bg-event{background:#8fdf82;background:var(--fc-bg-event-color,#8fdf82);opacity:.3;opacity:var(--fc-bg-event-opacity,.3)}.fc .fc-bg-event .fc-event-title{margin:.5em;font-size:.85em;font-size:var(--fc-small-font-size,.85em);font-style:italic}.fc .fc-highlight{background:rgba(188,232,241,.3);background:var(--fc-highlight-color,rgba(188,232,241,.3))}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{border-radius:4px;border-radius:calc(var(--fc-event-resizer-dot-total-width, 8px)/2);border-width:1px;width:8px;width:var(--fc-event-resizer-dot-total-width,8px);height:8px;height:var(--fc-event-resizer-dot-total-width,8px);border:var(--fc-event-resizer-dot-border-width,1px) solid;border-color:inherit;background:#fff;background:var(--fc-page-bg-color,#fff)}.fc-event-selected .fc-event-resizer:before{content:"";position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{content:"";position:absolute;z-index:3;top:0;left:0;right:0;bottom:0}.fc-event-selected:after,.fc-event:focus:after{content:"";background:rgba(0,0,0,.25);background:var(--fc-event-selected-overlay-color,rgba(0,0,0,.25));position:absolute;z-index:1;top:-1px;left:-1px;right:-1px;bottom:-1px}.fc-h-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-h-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;vertical-align:top;left:0;right:0;max-width:100%;overflow:hidden}.fc-h-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{top:0;bottom:0;width:8px;width:var(--fc-event-resizer-thickness,8px)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:-4px;left:calc(var(--fc-event-resizer-thickness, 8px)*-0.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:-4px;right:calc(var(--fc-event-resizer-thickness, 8px)*-0.5)}.fc-h-event.fc-event-selected .fc-event-resizer{top:50%;margin-top:-4px;margin-top:calc(var(--fc-event-resizer-dot-total-width, 8px)*-0.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:-4px;left:calc(var(--fc-event-resizer-dot-total-width, 8px)*-0.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:-4px;right:calc(var(--fc-event-resizer-dot-total-width, 8px)*-0.5)}.fc .fc-popover{position:absolute;z-index:9999;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc .fc-popover-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;opacity:.65;font-size:1.1em}.fc-theme-standard .fc-popover{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd);background:#fff;background:var(--fc-page-bg-color,#fff)}.fc-theme-standard .fc-popover-header{background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}:root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{content:"";clear:both;display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-daygrid-day-frame{position:relative;min-height:100%}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{position:relative;z-index:4;padding:4px}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{position:absolute;left:0;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{position:relative;min-height:2em}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{position:absolute;top:0;left:0;right:0}.fc .fc-daygrid-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{z-index:6;margin-top:1px}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;padding:2px 3px 0}.fc .fc-daygrid-day-bottom:before{content:"";clear:both;display:table}.fc .fc-daygrid-more-link{position:relative;z-index:4;cursor:pointer}.fc .fc-daygrid-week-number{position:absolute;z-index:5;top:0;padding:2px;min-width:1.5em;text-align:center;background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3));color:grey;color:var(--fc-neutral-text-color,grey)}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-week-number{left:0;border-radius:0 0 3px 0}.fc-direction-rtl .fc-daygrid-week-number{right:0;border-radius:0 0 0 3px}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{position:relative;white-space:nowrap;border-radius:3px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{display:flex;align-items:center;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;min-width:0;overflow:hidden;font-weight:700}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-daygrid-event-dot{margin:0 4px;box-sizing:initial;width:0;height:0;border:4px solid #3788d8;border:calc(var(--fc-daygrid-event-dot-width, 8px)/2) solid var(--fc-event-border-color,#3788d8);border-radius:4px;border-radius:calc(var(--fc-daygrid-event-dot-width, 8px)/2)}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}.fc-v-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-v-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff);height:100%}.fc-v-event .fc-event-main-frame{height:100%;display:flex;flex-direction:column}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{top:0;bottom:0;max-height:100%;overflow:hidden}.fc-v-event:not(.fc-event-start){border-top-width:0;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event:not(.fc-event-end){border-bottom-width:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:8px;height:var(--fc-event-resizer-thickness,8px);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-thickness, 8px)/-2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-thickness, 8px)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:-4px;margin-left:calc(var(--fc-event-resizer-dot-total-width, 8px)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-dot-total-width, 8px)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-dot-total-width, 8px)/-2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{position:relative;z-index:1;min-height:100%}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{height:1.5em;border-bottom:0}.fc .fc-timegrid-slot:empty:before{content:"\00a0"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{overflow:hidden;display:flex;align-items:center;justify-content:flex-end}.fc .fc-timegrid-axis-cushion{max-width:60px;flex-shrink:0}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-timegrid-col.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc-media-screen .fc-timegrid-cols{position:absolute;top:0;left:0;right:0;bottom:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{position:absolute;top:0;left:0;right:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{position:absolute;left:0;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{position:absolute;top:0;bottom:0;left:0;right:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px var(--fc-page-bg-color,#fff)}.fc-timegrid-event,.fc-timegrid-more-link{font-size:.85em;font-size:var(--fc-small-font-size,.85em);border-radius:3px}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{white-space:nowrap;font-size:.85em;font-size:var(--fc-small-font-size,.85em);margin-bottom:1px}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:"\00a0-\00a0"}.fc-timegrid-event-short .fc-event-title{font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-timegrid-more-link{position:absolute;z-index:9999;color:inherit;color:var(--fc-more-link-text-color,inherit);background:#d0d0d0;background:var(--fc-more-link-bg-color,#d0d0d0);cursor:pointer;margin-bottom:1px}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-line{position:absolute;z-index:4;left:0;right:0;border:0 solid red;border-color:var(--fc-now-indicator-color,red);border-top:1px solid var(--fc-now-indicator-color,red)}.fc .fc-timegrid-now-indicator-arrow{position:absolute;z-index:4;margin-top:-5px;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}:root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-list-empty{background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3));height:100%;display:flex;justify-content:center;align-items:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{width:100%;border-style:hidden}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{position:-webkit-sticky;position:sticky;top:0;background:#fff;background:var(--fc-page-bg-color,#fff)}.fc .fc-list-table thead{position:absolute;left:-10000px}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{content:"";clear:both;display:table}.fc-theme-standard .fc-list-day-cushion{background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:#f5f5f5;background-color:var(--fc-list-event-hover-bg-color,#f5f5f5)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{display:inline-block;box-sizing:initial;width:0;height:0;border:5px solid #3788d8;border:calc(var(--fc-list-event-dot-width, 10px)/2) solid var(--fc-event-border-color,#3788d8);border-radius:5px;border-radius:calc(var(--fc-list-event-dot-width, 10px)/2)}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline} \ No newline at end of file diff --git a/react-material-admin-master/docs/static/css/2.637eb612.chunk.css b/react-material-admin-master/docs/static/css/2.637eb612.chunk.css new file mode 100644 index 0000000..5ad42a1 --- /dev/null +++ b/react-material-admin-master/docs/static/css/2.637eb612.chunk.css @@ -0,0 +1,6 @@ +.Toastify__toast-container{z-index:9999;-webkit-transform:translateZ(9999px);position:fixed;padding:4px;width:320px;box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{right:0;left:auto}}.Toastify__toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:flex;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--dark{background:#121212;color:#fff}.Toastify__toast--default{background:#fff;color:#aaa}.Toastify__toast--info{background:#3498db}.Toastify__toast--success{background:#07bc0c}.Toastify__toast--warning{background:#f1c40f}.Toastify__toast--error{background:#e74c3c}.Toastify__toast-body{margin:auto 0;flex:1 1 auto}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0}}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start}.Toastify__close-button--default{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@-webkit-keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:9999;opacity:.7;background-color:hsla(0,0%,100%,.7);transform-origin:left}.Toastify__progress-bar--animated{-webkit-animation:Toastify__trackProgress linear 1 forwards;animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right}.Toastify__progress-bar--default{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55)}.Toastify__progress-bar--dark{background:#bb86fc}@-webkit-keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@-webkit-keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@-webkit-keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@-webkit-keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@-webkit-keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@-webkit-keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@-webkit-keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@-webkit-keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{-webkit-animation-name:Toastify__bounceInLeft;animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{-webkit-animation-name:Toastify__bounceInRight;animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{-webkit-animation-name:Toastify__bounceInDown;animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{-webkit-animation-name:Toastify__bounceInUp;animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{-webkit-animation-name:Toastify__bounceOutLeft;animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{-webkit-animation-name:Toastify__bounceOutRight;animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{-webkit-animation-name:Toastify__bounceOutUp;animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{-webkit-animation-name:Toastify__bounceOutDown;animation-name:Toastify__bounceOutDown}@-webkit-keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@-webkit-keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{-webkit-animation-name:Toastify__zoomIn;animation-name:Toastify__zoomIn}.Toastify__zoom-exit{-webkit-animation-name:Toastify__zoomOut;animation-name:Toastify__zoomOut}@-webkit-keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@-webkit-keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{-webkit-animation-name:Toastify__flipIn;animation-name:Toastify__flipIn}.Toastify__flip-exit{-webkit-animation-name:Toastify__flipOut;animation-name:Toastify__flipOut}@-webkit-keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@-webkit-keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@-webkit-keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@-webkit-keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@-webkit-keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@-webkit-keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@-webkit-keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@-webkit-keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{-webkit-animation-name:Toastify__slideInLeft;animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{-webkit-animation-name:Toastify__slideInRight;animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{-webkit-animation-name:Toastify__slideInDown;animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{-webkit-animation-name:Toastify__slideInUp;animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{-webkit-animation-name:Toastify__slideOutLeft;animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{-webkit-animation-name:Toastify__slideOutRight;animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{-webkit-animation-name:Toastify__slideOutUp;animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{-webkit-animation-name:Toastify__slideOutDown;animation-name:Toastify__slideOutDown} +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:"FontAwesome";src:url(../../static/media/fontawesome-webfont.674f50d2.eot);src:url(../../static/media/fontawesome-webfont.674f50d2.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(../../static/media/fontawesome-webfont.af7ae505.woff2) format("woff2"),url(../../static/media/fontawesome-webfont.fee66e71.woff) format("woff"),url(../../static/media/fontawesome-webfont.b06871f2.ttf) format("truetype"),url(../../static/media/fontawesome-webfont.912ec66d.svg#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} +/*# sourceMappingURL=2.637eb612.chunk.css.map */ \ No newline at end of file diff --git a/react-material-admin-master/docs/static/css/2.637eb612.chunk.css.map b/react-material-admin-master/docs/static/css/2.637eb612.chunk.css.map new file mode 100644 index 0000000..9c387e7 --- /dev/null +++ b/react-material-admin-master/docs/static/css/2.637eb612.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../scss/_toastContainer.scss","../scss/_variables.scss","ReactToastify.css","../scss/_toast.scss","../scss/_closeButton.scss","../scss/_progressBar.scss","../scss/animations/_bounce.scss","../scss/animations/_zoom.scss","../scss/animations/_flip.scss","../scss/animations/_slide.scss","font-awesome.min.css"],"names":[],"mappings":"AAAA,2BACI,YCmBS,CDlBT,oCAAA,CACA,cAAA,CACA,WAAA,CACA,WCJa,CDKb,qBAAA,CACA,UECJ,CFAI,qCACI,OAAA,CACA,QEER,CFAI,uCACI,OAAA,CACA,QAAA,CACA,0BEER,CFAI,sCACI,OAAA,CACA,SEER,CFAI,wCACI,UAAA,CACA,QEER,CFAI,0CACI,UAAA,CACA,QAAA,CACA,0BEER,CFAI,yCACI,UAAA,CACA,SEER,CFEA,yCACI,2BACI,WAAA,CACA,SAAA,CACA,MAAA,CACA,QECN,CFAM,kHAGI,KAAA,CACA,uBEAV,CFEM,2HAGI,QAAA,CACA,uBEFV,CFIM,gCACE,OAAA,CACA,SEFR,CACF,CCvDA,iBACI,iBAAA,CACA,eFCkB,CEAlB,qBAAA,CACA,kBAAA,CACA,WAAA,CACA,iBAAA,CACA,mEAAA,CACA,YAAA,CACA,6BAAA,CACA,gBFNkB,CEOlB,eAAA,CACA,sBFOa,CENb,cAAA,CACA,aDyDJ,CCxDI,sBACI,aD0DR,CCxDI,uBACI,kBFZQ,CEaR,UD0DR,CCxDI,0BACI,eFjBW,CEkBX,UD0DR,CCxDI,uBACI,kBD0DR,CCxDI,0BACI,kBD0DR,CCxDI,0BACI,kBD0DR,CCxDI,wBACI,kBD0DR,CCxDI,sBACI,aAAA,CACA,aD0DR,CCtDA,yCACE,iBACE,eDyDF,CACF,CExGA,wBACE,UAAA,CACA,sBAAA,CACA,YAAA,CACA,WAAA,CACA,SAAA,CACA,cAAA,CACA,UAAA,CACA,mBAAA,CACA,qBF0GF,CExGE,iCACE,UAAA,CACA,UF0GJ,CEvGE,4BACE,iBAAA,CACA,WAAA,CACA,UFyGJ,CEtGE,4DACE,SFwGJ,CG/HA,2CACE,GACE,mBHkIF,CGhIA,GACE,mBHkIF,CACF,CGxIA,mCACE,GACE,mBHkIF,CGhIA,GACE,mBHkIF,CACF,CG/HA,wBACE,iBAAA,CACA,QAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,YJKW,CIJX,UAAA,CACA,mCAAA,CACA,qBHiIF,CG/HE,kCACE,2DAAA,CAAA,mDHiIJ,CG9HE,oCACE,wBHgIJ,CG7HE,6BACE,OAAA,CACA,SAAA,CACA,sBH+HJ,CG5HE,iCACE,iFH8HJ,CG3HE,8BACE,kBH6HJ,CIhKA,2CACI,kBAJA,+DAAA,CAAA,uDJuKF,CI5JE,GACI,SAAA,CACA,iCJ8JN,CI5JE,IACI,SAAA,CACA,gCJ8JN,CI5JE,IACI,+BJ8JN,CI5JE,IACI,+BJ8JN,CI5JE,GACI,cJ8JN,CACF,CItLA,mCACI,kBAJA,+DAAA,CAAA,uDJuKF,CI5JE,GACI,SAAA,CACA,iCJ8JN,CI5JE,IACI,SAAA,CACA,gCJ8JN,CI5JE,IACI,+BJ8JN,CI5JE,IACI,+BJ8JN,CI5JE,GACI,cJ8JN,CACF,CI3JA,4CACI,IACI,SAAA,CACA,gCJ6JN,CI3JE,GACI,SAAA,CACA,iCJ6JN,CACF,CIrKA,oCACI,IACI,SAAA,CACA,gCJ6JN,CI3JE,GACI,SAAA,CACA,iCJ6JN,CACF,CI1JA,0CACI,kBA1CA,+DAAA,CAAA,uDJuMF,CItJE,GACI,SAAA,CACA,kCJwJN,CItJE,IACI,SAAA,CACA,+BJwJN,CItJE,IACI,gCJwJN,CItJE,IACI,8BJwJN,CItJE,GACI,cJwJN,CACF,CIhLA,kCACI,kBA1CA,+DAAA,CAAA,uDJuMF,CItJE,GACI,SAAA,CACA,kCJwJN,CItJE,IACI,SAAA,CACA,+BJwJN,CItJE,IACI,gCJwJN,CItJE,IACI,8BJwJN,CItJE,GACI,cJwJN,CACF,CIrJA,2CACI,IACI,SAAA,CACA,+BJuJN,CIrJE,GACI,SAAA,CACA,kCJuJN,CACF,CI/JA,mCACI,IACI,SAAA,CACA,+BJuJN,CIrJE,GACI,SAAA,CACA,kCJuJN,CACF,CIpJA,wCACI,kBAhFA,+DAAA,CAAA,uDJuOF,CIhJE,GACI,SAAA,CACA,iCJkJN,CIhJE,IACI,SAAA,CACA,gCJkJN,CIhJE,IACI,+BJkJN,CIhJE,IACI,+BJkJN,CIhJE,GACI,uBJkJN,CACF,CI1KA,gCACI,kBAhFA,+DAAA,CAAA,uDJuOF,CIhJE,GACI,SAAA,CACA,iCJkJN,CIhJE,IACI,SAAA,CACA,gCJkJN,CIhJE,IACI,+BJkJN,CIhJE,IACI,+BJkJN,CIhJE,GACI,uBJkJN,CACF,CI/IA,yCACI,IACI,gCJiJN,CI/IE,QAEI,SAAA,CACA,+BJgJN,CI9IE,GACI,SAAA,CACA,kCJgJN,CACF,CI5JA,iCACI,IACI,gCJiJN,CI/IE,QAEI,SAAA,CACA,+BJgJN,CI9IE,GACI,SAAA,CACA,kCJgJN,CACF,CI7IA,0CACI,kBA1HA,+DAAA,CAAA,uDJ0QF,CIzIE,GACI,SAAA,CACA,kCJ2IN,CIzIE,IACI,SAAA,CACA,+BJ2IN,CIzIE,IACI,gCJ2IN,CIzIE,IACI,8BJ2IN,CIzIE,GACI,cJ2IN,CACF,CInKA,kCACI,kBA1HA,+DAAA,CAAA,uDJ0QF,CIzIE,GACI,SAAA,CACA,kCJ2IN,CIzIE,IACI,SAAA,CACA,+BJ2IN,CIzIE,IACI,gCJ2IN,CIzIE,IACI,8BJ2IN,CIzIE,GACI,cJ2IN,CACF,CIxIA,2CACI,IACI,+BJ0IN,CIxIE,QAEI,SAAA,CACA,gCJyIN,CIvIE,GACI,SAAA,CACA,iCJyIN,CACF,CIrJA,mCACI,IACI,+BJ0IN,CIxIE,QAEI,SAAA,CACA,gCJyIN,CIvIE,GACI,SAAA,CACA,iCJyIN,CACF,CIrII,uEAEI,6CAAA,CAAA,qCJsIR,CIpII,yEAEI,8CAAA,CAAA,sCJqIR,CInII,oCACI,6CAAA,CAAA,qCJqIR,CInII,uCACI,2CAAA,CAAA,mCJqIR,CIhII,qEAEI,8CAAA,CAAA,sCJkIR,CIhII,uEAEI,+CAAA,CAAA,uCJiIR,CI/HI,mCACI,4CAAA,CAAA,oCJiIR,CI/HI,sCACI,8CAAA,CAAA,sCJiIR,CKnUA,oCACI,GACI,SAAA,CACA,2BLsUN,CKpUE,IACI,SLsUN,CACF,CK7UA,4BACI,GACI,SAAA,CACA,2BLsUN,CKpUE,IACI,SLsUN,CACF,CKnUA,qCACI,GACI,SLqUN,CKnUE,IACI,SAAA,CACA,2BLqUN,CKnUE,GACI,SLqUN,CACF,CK/UA,6BACI,GACI,SLqUN,CKnUE,IACI,SAAA,CACA,2BLqUN,CKnUE,GACI,SLqUN,CACF,CKlUA,sBACI,uCAAA,CAAA,+BLoUJ,CKjUA,qBACI,wCAAA,CAAA,gCLoUJ,CMhWA,oCACI,GACI,2CAAA,CACA,yCAAA,CAAA,iCAAA,CACA,SNmWN,CMjWE,IACI,4CAAA,CACA,yCAAA,CAAA,iCNmWN,CMjWE,IACI,2CAAA,CACA,SNmWN,CMjWE,IACI,2CNmWN,CMjWE,GACI,4BNmWN,CACF,CMtXA,4BACI,GACI,2CAAA,CACA,yCAAA,CAAA,iCAAA,CACA,SNmWN,CMjWE,IACI,4CAAA,CACA,yCAAA,CAAA,iCNmWN,CMjWE,IACI,2CAAA,CACA,SNmWN,CMjWE,IACI,2CNmWN,CMjWE,GACI,4BNmWN,CACF,CMhWA,qCACI,GACI,4BNkWN,CMhWE,IACI,4CAAA,CACA,SNkWN,CMhWE,GACI,2CAAA,CACA,SNkWN,CACF,CM7WA,6BACI,GACI,4BNkWN,CMhWE,IACI,4CAAA,CACA,SNkWN,CMhWE,GACI,2CAAA,CACA,SNkWN,CACF,CM/VA,sBACI,uCAAA,CAAA,+BNiWJ,CM9VA,qBACI,wCAAA,CAAA,gCNiWJ,COtYA,0CACI,GACI,+BAAA,CACA,kBPyYN,COvYE,GARA,uBPkZF,CACF,COhZA,kCACI,GACI,+BAAA,CACA,kBPyYN,COvYE,GARA,uBPkZF,CACF,COtYA,yCACI,GACI,gCAAA,CACA,kBPwYN,COtYE,GAlBA,uBP2ZF,CACF,CO/YA,iCACI,GACI,gCAAA,CACA,kBPwYN,COtYE,GAlBA,uBP2ZF,CACF,COrYA,uCACI,GACI,+BAAA,CACA,kBPuYN,COrYE,GA5BA,uBPoaF,CACF,CO9YA,+BACI,GACI,+BAAA,CACA,kBPuYN,COrYE,GA5BA,uBPoaF,CACF,COpYA,yCACI,GACI,gCAAA,CACA,kBPsYN,COpYE,GAtCA,uBP6aF,CACF,CO7YA,iCACI,GACI,gCAAA,CACA,kBPsYN,COpYE,GAtCA,uBP6aF,CACF,COnYA,2CACI,GA5CA,uBPkbF,COnYE,GACI,iBAAA,CACA,+BPqYN,CACF,CO5YA,mCACI,GA5CA,uBPkbF,COnYE,GACI,iBAAA,CACA,+BPqYN,CACF,COlYA,0CACI,GAtDA,uBP2bF,COlYE,GACI,iBAAA,CACA,gCPoYN,CACF,CO3YA,kCACI,GAtDA,uBP2bF,COlYE,GACI,iBAAA,CACA,gCPoYN,CACF,COjYA,0CACI,GAhEA,uBPocF,COjYE,GACI,iBAAA,CACA,gCPmYN,CACF,CO1YA,kCACI,GAhEA,uBPocF,COjYE,GACI,iBAAA,CACA,gCPmYN,CACF,COhYA,wCACI,GA1EA,uBP6cF,COhYE,GACI,iBAAA,CACA,iCPkYN,CACF,COzYA,gCACI,GA1EA,uBP6cF,COhYE,GACI,iBAAA,CACA,iCPkYN,CACF,CO9XI,qEAEI,4CAAA,CAAA,oCP+XR,CO7XI,uEAEI,6CAAA,CAAA,qCP8XR,CO5XI,mCACI,4CAAA,CAAA,oCP8XR,CO5XI,sCACI,0CAAA,CAAA,kCP8XR,COzXI,mEAEI,6CAAA,CAAA,qCP2XR,COzXI,qEAEI,8CAAA,CAAA,sCP0XR,COxXI,kCACI,2CAAA,CAAA,mCP0XR,COxXI,qCACI,6CAAA,CAAA,qCP0XR;AQ5eA;;;EAGE,CAAC,WAAW,yBAAyB,CAAC,4DAAoD,CAAA,iaAA0e,CAAA,eAAoB,CAAA,iBAAA,CAAA,IAAmC,oBAAA,CAAA,4CAAgE,CAAA,iBAAkB,CAAA,mBAAoB,CAAA,kCAA4B,CAAA,iCAA0C,CAAA,OAAA,sBAAqB,CAAA,iBAAmB,CAAA,mBAAyB,CAAA,OAAA,aAAe,CAAA,OAAA,aAAyB,CAAA,OAAA,aAAqB,CAAA,OAAU,aAAA,CAAiB,OAAC,kBAAwB,CAAC,iBAAA,CAAkB,OAAC,cAAmB,CAAA,wBAAgB,CAAA,oBAA+B,CAAA,UAAA,iBAAmB,CAAA,OAAW,iBAAA,CAAwB,kBAAC,CAAA,kBAAwB,CAAA,eAAmB,CAAA,iBAAyB,CAAA,aAAe,kBAAY,CAAA,WAAiB,wBAAkB,CAAA,uBAAkB,CAAA,kBAA6B,CAAA,cAAY,UAAW,CAAA,eAAW,WAAc,CAAA,iBAAkB,iBAAe,CAAA,kBAA0B,gBAAA,CAAA,YAAA,WAAA,CAA4C,WAAC,UAAA,CAAA,cAAA,iBAA+C,CAAA,eAAA,gBAAA,CAAA,SAA+C,4CAAuC,CAAA,oCAA6D,CAAA,UAAuB,8CAAgE,CAAA,sCAAkH,CAAA,2BAA0B,GAAA,sBAAc,CAAA,GAAA,wBAAA,CAAA,CAAA,mBAAA,GAAkI,sBAAuB,CAAC,GAAA,wBAAe,CAAA,CAAA,cAAA,qEAA6J,CAAA,uBAAe,CAAA,eAAA,qEAA6J,CAAA,wBAAoB,CAAA,eAAA,qEAA0I,CAAA,wBAAuB,CAAA,oBAAkB,+EAA0I,CAAA,oBAAuB,CAAA,kBAAA,+EAAgH,CAAA,oBAAA,CAAA,gHAAuH,mBAAC,CAAA,WAA0B,CAAA,UAAA,iBAAyB,CAAA,oBAA4B,CAAC,SAAA,CAAA,UAAa,CAAA,eAAoB,CAAA,qBAAa,CAAa,0BAAwB,iBAAiB,CAAA,MAAA,CAAA,UAAgB,CAAA,iBAAiB,CAAA,aAAgB,mBAAkB,CAAA,aAAgB,aAAA,CAAA,YAAsB,UAAgB,CAAA,iBAAiB,eAAgB,CAAA,iBAAgB,eAAgB,CAAA,kBAAkB,eAAgB,CAAA,sBAAgB,eAAgB,CAAA,iBAAgB,eAAgB,CAAA,gBAAoB,eAAgB,CAAA,kBAAc,eAAgB,CAAA,gBAAmB,eAAgB,CAAA,gBAAiB,eAAgB,CAAA,oBAAA,eAAA,CAAA,cAAoD,eAAgB,CAAA,mBAAA,eAAuB,CAAe,iBAAC,eAAwB,CAAA,oDAAqD,eAAkB,CAAA,uBAAgB,eAAA,CAAA,wBAA+C,eAAmB,CAAA,qBAAgB,eAAgB,CAAA,kBAAgB,eAAkB,CAAA,+BAAmC,eAAgB,CAAA,mBAAgB,eAAgB,CAAA,gBAAoB,eAAgB,CAAA,kBAAA,eAA+B,CAAA,mBAAgB,eAAA,CAAA,gBAA6B,eAAgB,CAAA,oBAAiB,eAAgB,CAAA,+BAAyC,eAAA,CAAA,6BAA0C,eAAgB,CAAA,iBAAmB,eAAgB,CAAA,yBAAoB,eAAgB,CAAA,0CAAgD,eAAgB,CAAA,mBAAsB,eAAgB,CAAA,oBAAA,eAAsB,CAAe,gBAAC,eAAuB,CAAA,gBAAgB,eAAqB,CAAA,sBAAgB,eAAkB,CAAA,sBAAgB,eAAmB,CAAA,uBAA+B,eAAgB,CAAA,qBAAgB,eAAgB,CAAA,kBAAgB,eAAgB,CAAA,mBAAoB,eAAgB,CAAA,eAAiB,eAAgB,CAAA,gBAAkB,eAAgB,CAAA,gBAAgB,eAAgB,CAAA,oBAAgB,eAAgB,CAAA,iBAAkB,eAAgB,CAAA,kBAAuB,eAAgB,CAAA,gBAAA,eAAsB,CAAA,gBAAgB,eAAsB,CAAA,kBAAgB,eAAA,CAAwB,uBAAgB,eAAA,CAAuB,sBAAgB,eAAA,CAAA,sBAAyC,eAAgB,CAAA,wBAAgB,eAAA,CAAA,uBAAqC,eAAgB,CAAA,yBAAkC,eAAA,CAAA,gBAAwB,eAAgB,CAAA,qCAAA,eAAuD,CAAA,kBAAgB,eAAkB,CAAA,wBAAgB,eAAsB,CAAA,uDAAkE,eAAgB,CAAA,kBAAA,eAAA,CAAA,sBAA2C,eAAgB,CAAA,kBAA0B,eAAgB,CAAA,gBAAA,eAA0B,CAAA,2CAAkD,eAAA,CAAA,0BAAyC,eAAA,CAAA,0BAAyC,eAAoB,CAAA,kBAAgB,eAAgB,CAAA,yBAAgB,eAAiB,CAAA,yBAAgC,eAAgB,CAAA,oBAAmB,eAAgB,CAAA,gBAAA,eAAwB,CAAe,iBAAC,eAAwB,CAAA,gBAAgB,eAAiB,CAAA,mBAAgB,eAAwB,CAAA,wBAAgB,eAAyB,CAAA,wBAAgB,eAAuB,CAAA,iBAAgB,eAAA,CAAA,wBAAwC,eAAA,CAAA,yBAAwC,eAAA,CAAA,uBAAwC,eAAA,CAAA,wBAA2C,eAAA,CAAA,wBAAuC,eAAA,CAAA,wBAAsC,eAAA,CAAA,2BAA0C,eAAA,CAAA,uBAA0C,eAAe,CAAA,sBAAgB,eAAsB,CAAA,0BAAgB,eAAuB,CAAA,0BAAgB,eAAoB,CAAA,eAAgB,eAAsB,CAAA,sBAAgB,eAAA,CAAA,uBAAyC,eAAgB,CAAA,oBAAkB,eAAgB,CAAA,sBAAoB,eAAgB,CAAA,yCAAiD,eAAgB,CAAA,kBAAoB,eAAgB,CAAA,oBAAA,eAA8B,CAAA,gBAAgB,eAAgB,CAAA,iBAAgB,eAAgB,CAAA,oBAAgB,eAAgB,CAAA,8BAA+B,eAAgB,CAAA,gBAAqB,eAAgB,CAAA,gBAAA,eAAA,CAAA,gBAAmD,eAAgB,CAAA,eAAiB,eAAgB,CAAA,qBAAoB,eAAgB,CAAA,mDAAqD,eAAgB,CAAA,iBAAkB,eAAe,CAAC,oBAAA,eAAsB,CAAA,kBAAgB,eAAwB,CAAA,mBAAgB,eAAmB,CAAA,kBAAgB,eAAyB,CAAA,sBAAgB,eAAkB,CAAA,wBAAgB,eAAuB,CAAA,mBAAgB,eAAoB,CAAA,yBAAgB,eAAoB,CAAA,kBAAgB,eAAA,CAAA,uBAA4C,eAAgB,CAAA,oBAA0B,eAAgB,CAAA,oBAAA,eAA2B,CAAA,4CAAwC,eAAgB,CAAA,0BAA+B,eAAA,CAAA,2BAAiD,eAAA,CAAA,wBAAoC,eAAA,CAAuB,eAAe,eAAC,CAAA,iCAAyC,eAAqB,CAAA,oBAAgB,eAAmB,CAAA,uBAAgB,eAAoB,CAAA,yBAAgB,eAA2B,CAAA,qBAAgB,eAAsB,CAAA,mBAAgB,eAAA,CAAA,oBAAyC,eAAA,CAAA,2BAAmC,eAAkB,CAAA,sBAAgB,eAAyB,CAAA,yBAAgB,eAAkB,CAAA,mBAAgB,eAAmB,CAAA,kBAAgB,eAAiB,CAAA,yBAAoC,eAAgB,CAAA,kBAAA,eAAsB,CAAA,mBAAgB,eAAwB,CAAA,iBAAgB,eAAmB,CAAA,oBAAgB,eAAA,CAAA,sBAA0C,eAAgB,CAAA,wBAAkB,eAAgB,CAAA,mBAAkB,eAAgB,CAAA,0CAAuC,eAA+B,CAAA,kBAAgB,eAAiB,CAAA,kBAAgB,eAAA,CAAoB,uBAAgB,eAAgB,CAAA,+BAAgB,eAAuB,CAAe,iBAAC,eAAwB,CAAA,oBAAgB,eAAuB,CAAA,gBAAgB,eAAA,CAAqB,uBAAgB,eAAA,CAAuB,wBAAgB,eAAA,CAAA,uBAA6C,eAAA,CAAA,qBAA8B,eAAgB,CAAA,uBAA2B,eAAgB,CAAA,6BAA6B,eAAgB,CAAA,8BAAiC,eAAA,CAAkB,2BAAgB,eAAiB,CAAA,6BAAkC,eAAgB,CAAA,iBAAqB,eAAgB,CAAA,kBAAA,eAAsB,CAAA,iBAAgB,eAAA,CAAA,kBAAkC,eAAgB,CAAA,qBAAiC,eAAgB,CAAA,sBAAiB,eAAgB,CAAA,kCAAiC,eAAA,CAAA,iCAAmD,eAAA,CAAA,iBAAmC,eAAgB,CAAA,iBAAqB,eAAe,CAAC,mCAAA,eAAoC,CAAe,mCAAmC,eAAA,CAAA,qBAAA,eAAA,CAAA,oCAAyF,eAAe,CAAC,kBAAA,eAAmB,CAAe,sDAA0C,eAAqB,CAAA,mBAAgB,eAAiB,CAAA,mBAAgB,eAAiB,CAAA,yBAAiC,eAAgB,CAAA,qBAAqB,eAAgB,CAAA,iBAAA,eAA4B,CAAA,iBAAgB,eAAA,CAAA,iBAA8B,eAAgB,CAAA,qBAAuB,eAAgB,CAAA,4BAAiC,eAAA,CAAA,8BAAsC,eAAoB,CAAA,uBAAgB,eAAsB,CAAA,iBAAgB,eAAuB,CAAA,sBAAgB,eAAmB,CAAA,oBAAgB,eAAA,CAAA,sBAAoC,eAAgB,CAAA,uBAAA,eAA0C,CAAA,mBAAgB,eAAA,CAAA,oCAAuD,eAAoB,CAAA,0CAAoC,eAAgB,CAAA,uCAAuC,eAAgB,CAAA,oBAAA,eAAkC,CAAA,oBAAgB,eAAA,CAAA,uCAA2D,eAAqB,CAAA,kCAAsC,eAAgB,CAAA,2CAAgD,eAAC,CAAA,qBAAmC,eAAA,CAAA,sBAAoC,eAAA,CAAA,iCAAsC,eAAgB,CAAA,mBAAuB,eAAgB,CAAA,oBAAoB,eAAgB,CAAA,sCAA0C,eAAA,CAAA,uBAAwC,eAAmB,CAAA,oBAAgB,eAAA,CAAA,0BAAuC,eAAoB,CAAA,wBAAgB,eAAkB,CAAA,mBAAgB,eAAkB,CAAA,uBAAmC,eAAe,CAAC,oBAAA,eAAuB,CAAA,kBAAgB,eAAsB,CAAA,kBAAgB,eAAsB,CAAA,mBAAgB,eAAqB,CAAA,uBAAgB,eAAkB,CAAA,sBAAgB,eAAuB,CAAA,sBAAgB,eAAgB,CAAA,qBAAgB,eAAoB,CAAA,kBAAgB,eAAuB,CAAA,uBAAgB,eAA6B,CAAA,gBAAgB,eAAA,CAAA,oBAA8B,eAAgB,CAAA,uBAA2B,eAAgB,CAAA,6BAA6B,eAAgB,CAAA,8BAAsB,eAAgB,CAAA,2BAAuC,eAAA,CAAA,6BAAoC,eAAsB,CAAA,sBAAgB,eAAmB,CAAA,uBAAgB,eAAkB,CAAA,oBAAgB,eAAkB,CAAA,sBAAgB,eAAA,CAAA,mBAA0C,eAAgB,CAAA,kBAAoB,eAAgB,CAAA,kBAAsB,eAAgB,CAAA,0CAAuC,eAAmB,CAAA,oBAAgB,eAAkB,CAAA,sBAAgB,eAAA,CAAA,uBAAsD,eAAC,CAAA,mBAAsB,eAAgB,CAAA,kBAAoB,eAAgB,CAAA,uCAAyC,eAAmB,CAAA,sBAAgB,eAAmB,CAAA,oBAAgB,eAAiB,CAAA,yBAAmC,eAAgB,CAAA,mBAAA,eAAsB,CAAA,mBAAgB,eAAkB,CAAe,iBAAC,eAA0B,CAAA,mBAAgB,eAAoB,CAAA,sBAAgB,eAAgB,CAAA,kBAAgB,eAAA,CAAA,0BAA+C,eAAgB,CAAA,oBAAA,eAAA,CAAA,gBAAA,eAAA,CAA4E,+CAA0C,eAAgB,CAAA,4EAAqE,eAAA,CAAA,0BAA0C,eAAgB,CAAA,gBAAoB,eAAgB,CAAA,qBAAgB,eAAgB,CAAA,0CAAuC,eAAuB,CAAA,oBAAgB,eAAqB,CAAA,gBAAgB,eAAkB,CAAA,uBAAgB,eAAwB,CAAA,uBAAgB,eAAsB,CAAA,qBAAgB,eAAA,CAAA,kBAA4C,eAAA,CAAA,wBAAkC,eAAsB,CAAA,sBAAgB,eAAA,CAAA,4BAA6C,eAAkB,CAAA,kBAAgB,eAAkB,CAAA,sBAAgB,eAAA,CAAA,6BAA+C,eAAA,CAAA,kBAAgC,eAAgB,CAAA,kBAAA,eAA6B,CAAe,+BAAC,eAA+B,CAAe,gCAAkB,eAAgB,CAAA,6BAAgC,eAAkB,CAAA,+BAAsC,eAAgB,CAAA,iBAAA,eAAoB,CAAe,gBAAC,eAAsB,CAAA,kBAAgB,eAAsB,CAAA,sBAAgB,eAAsB,CAAA,oBAAgB,eAAuB,CAAA,sBAAgB,eAAkB,CAAA,sBAAgB,eAAwB,CAAA,sBAAgB,eAAA,CAA0B,uBAAgB,eAAoB,CAAA,kBAAgB,eAAA,CAAA,wBAAsC,eAAA,CAAA,0BAAwC,eAAA,CAAyB,oBAAgB,eAAA,CAAA,sBAAgC,eAAgB,CAAA,wBAAwB,eAAgB,CAAA,yBAAmC,eAAA,CAAA,gCAAA,eAAsD,CAAA,wBAAgB,eAAA,CAAA,mBAAkD,eAAgB,CAAA,sDAAwD,eAAgB,CAAA,kDAA+C,eAAe,CAAA,wDAAiD,eAAgB,CAAA,+BAAgC,eAAgB,CAAA,eAAA,eAAA,CAAA,iCAA2E,eAAC,CAAA,gCAAA,eAAkD,CAAA,4DAA8D,eAAA,CAAA,kDAAkE,eAAgB,CAAA,8BAAqC,eAAA,CAAA,kCAA0C,eAA2B,CAAA,gBAAgB,eAAA,CAAA,qBAA2B,eAAgB,CAAA,0BAA4B,eAAgB,CAAA,2BAA4B,eAAgB,CAAA,2BAA6B,eAAgB,CAAA,4BAAqB,eAAgB,CAAA,4BAAuC,eAAA,CAAA,6BAA0C,eAAmB,CAAA,qBAAgB,eAAgB,CAAA,uBAAgB,eAAuB,CAAA,0BAAgB,eAAwB,CAAA,mBAAgB,eAAmB,CAAA,gBAAgB,eAAA,CAAA,uBAA0C,eAAqB,CAAA,wBAAgB,eAAkB,CAAA,mBAAgB,eAAe,CAAA,0BAAqC,eAAe,CAAC,qBAAA,eAA4B,CAAA,kBAAgB,eAAkB,CAAA,eAAgB,eAAA,CAAA,qBAAyC,eAAA,CAAA,4BAA2C,eAAA,CAAA,kBAAyB,eAAgB,CAAA,yBAA2B,eAAgB,CAAA,2BAA4B,eAAgB,CAAA,yBAAiC,eAAA,CAAmB,2BAAgB,eAAmB,CAAA,4BAAiC,eAAgB,CAAA,iBAAoB,eAAe,CAAC,mBAAiB,eAAgB,CAAA,mBAAA,eAAsB,CAAe,iBAAC,eAAkB,CAAA,oBAAkC,eAAe,CAAC,iBAAgB,eAAgB,CAAA,sBAAA,eAAsC,CAAA,kBAAgB,eAAiB,CAAA,kBAAgB,eAAkB,CAAA,gBAAgB,eAAA,CAAA,sCAAkD,eAAgB,CAAA,iBAAc,eAAgB,CAAA,kBAAiB,eAAgB,CAAA,mBAAkB,eAAgB,CAAA,eAAqB,eAAgB,CAAA,cAAA,eAA0B,CAAA,iBAAgB,eAAA,CAAA,kBAAgC,eAAgB,CAAA,qBAA+B,eAAgB,CAAA,0BAAA,eAAA,CAAA,gCAAsE,eAAA,CAAA,+BAAwC,eAAsB,CAAA,sDAAwD,eAAA,CAAA,wBAAuC,eAAgB,CAAA,sBAAyB,eAAgB,CAAA,wBAAyB,eAAgB,CAAA,uCAAiC,eAAA,CAAA,yBAA2C,eAAqB,CAAA,yBAAgB,eAAkB,CAAA,iBAAgB,eAAA,CAAA,2BAAA,eAA6D,CAAA,qBAAgB,eAAA,CAAA,kBAAA,eAAkD,CAAA,6DAAmE,eAAgB,CAAA,kDAAkC,eAAyB,CAAA,iBAAgB,eAAA,CAA8B,kBAAgB,eAAA,CAAA,kBAAuB,eAAgB,CAAA,yBAAqC,eAAgB,CAAA,8BAAgB,eAAyB,CAAA,uBAAgB,eAA0B,CAAA,qBAAgB,eAAkB,CAAA,gBAAgB,eAAkB,CAAA,yBAAgB,eAAoB,CAAA,0BAA+B,eAAgB,CAAA,kBAAoB,eAAgB,CAAA,kBAAiB,eAAgB,CAAA,oBAAe,eAAgB,CAAA,eAAiB,eAAgB,CAAA,oBAAgB,eAAgB,CAAA,iBAAiB,eAAgB,CAAA,eAAmB,eAAgB,CAAA,iBAAA,eAA0B,CAAA,gBAAgB,eAAiB,CAAA,iBAAgB,eAAwB,CAAA,mBAAgB,eAAmB,CAAA,0BAAgB,eAAA,CAAA,iBAAqC,eAAgB,CAAA,wBAA+B,eAAgB,CAAA,mBAAgB,eAAgB,CAAA,qCAAmC,eAAsB,CAAA,+BAAgB,eAAsB,CAAA,gBAAgB,eAAoB,CAAA,mBAAgB,eAAsB,CAAA,sBAAgB,eAAuB,CAAA,sBAAgB,eAAwB,CAAA,oBAAgB,eAAA,CAAA,sBAA4C,eAAC,CAAA,uBAAA,eAAA,CAAA,wBAA0E,eAAgB,CAAA,6BAAA,eAAgD,CAAA,0EAAgE,eAAgB,CAAA,gDAAgD,eAAgB,CAAA,gDAAuD,eAAgB,CAAA,gDAAmC,eAAoB,CAAA,uBAAgB,eAAA,CAAA,gBAAA,eAAA,CAAA,mBAAA,eAAA,CAAA,oBAAwH,eAAA,CAAA,wGAA+G,eAAA,CAAA,0BAAgD,eAAA,CAAsB,qDAA+C,eAAA,CAAA,gCAAA,eAAA,CAAA,sBAA2F,eAAA,CAAA,eAAyB,eAAgB,CAAA,2EAAkF,eAAA,CAAA,yBAAuC,eAAgB,CAAA,cAAA,eAAA,CAAA,oCAA2D,eAAmB,CAAA,uCAAuC,eAAgB,CAAA,2CAAkC,eAAqB,CAAA,mBAAgB,eAAmB,CAAA,uBAAgB,eAAqB,CAAA,kBAAgB,eAA4B,CAAA,qBAAgB,eAAgB,CAAA,mBAAgB,eAAA,CAAA,qBAA6C,eAAgB,CAAA,4BAA8B,eAAC,CAAA,gBAAsB,eAAgB,CAAA,6CAAsD,eAAe,CAAC,eAAA,eAAkB,CAAA,sBAAgC,eAAgB,CAAA,gBAAA,eAAuB,CAAA,sBAAgC,eAAgB,CAAA,kBAAA,eAAsB,CAAA,gBAAgB,eAAkB,CAAA,uBAAgB,eAAyB,CAAA,gBAAgB,eAAmB,CAAA,sBAAgB,eAAyB,CAAA,kBAAgB,eAAA,CAAA,yBAAuC,eAAmB,CAAA,mBAAgB,eAAqB,CAAA,yBAAgB,eAAqB,CAAA,uBAAgB,eAAsB,CAAA,mBAAgB,eAAwB,CAAA,qBAAgB,eAAiB,CAAA,qBAAgB,eAAqB,CAAA,sBAAgB,eAAc,CAAe,wBAAuB,eAAgB,CAAA,iBAAA,eAAuB,CAAA,qBAAgB,eAAyB,CAAA,cAAgB,eAAA,CAAA,sBAAsC,eAAA,CAAqB,uBAAgB,eAAsB,CAAA,yBAAgB,eAAkB,CAAA,sBAAgB,eAAyB,CAAA,qBAAgB,eAAsB,CAAA,sBAAgB,eAAqB,CAAA,kBAAgB,eAAmB,CAAA,yBAAgB,eAAe,CAAA,sBAAmC,eAAgB,CAAA,qBAAqB,eAAgB,CAAA,mBAAc,eAAgB,CAAA,eAAA,eAAA,CAAA,mBAAmD,eAAgB,CAAA,qBAAoB,eAAgB,CAAA,cAAA,eAAsB,CAAA,mDAA0D,eAAoB,CAAA,oBAAgB,eAAoB,CAAA,sBAAgB,eAAmB,CAAA,0BAAgB,eAAkB,CAAA,oBAAgB,eAAwB,CAAA,oBAAgB,eAAuB,CAAA,mBAAgB,eAAoB,CAAA,kBAAgB,eAAqB,CAAA,wBAAgB,eAAA,CAA2B,uBAAgB,eAAmB,CAAA,oBAAgB,eAAgB,CAAA,qBAAgB,eAAuB,CAAA,2BAAgB,eAAsB,CAAA,mBAAgB,eAAuB,CAAA,gBAAgB,eAAqB,CAAA,uBAAgB,eAAiB,CAAA,sBAAgB,eAAgB,CAAA,uBAAmC,eAAgB,CAAA,qBAAA,eAAA,CAAA,iBAA2C,eAAgB,CAAA,gBAA2B,eAAgB,CAAA,mBAAA,eAAwB,CAAA,2CAAuD,eAAA,CAAA,2BAAsC,eAAA,CAAA,wBAAuC,eAAA,CAAA,uBAAyC,eAAA,CAAA,sBAAyC,eAAA,CAAkB,uBAAgB,eAAsB,CAAA,yBAAgB,eAAA,CAAA,yBAA6C,eAAA,CAAA,kBAAuC,eAAA,CAAA,sBAAoC,eAAkB,CAAA,6BAAgB,eAAqB,CAAA,uBAAgB,eAAsB,CAAA,oBAAgB,eAAA,CAAA,kBAAgD,eAAA,CAAA,qBAAmC,eAAiB,CAAA,sBAAgB,eAAkB,CAAA,gCAAkC,eAAgB,CAAA,mBAAA,eAAA,CAAsC,iBAAgB,eAAA,CAAA,kBAAyB,eAAgB,CAAA,kBAAoB,eAAgB,CAAA,sCAAwC,eAAA,CAAA,yBAAA,eAAA,CAAA,oBAAgF,eAAA,CAAA,wBAAA,eAAuD,CAAA,gEAA6D,eAAgB,CAAA,uDAAgD,eAAgB,CAAA,6CAA8C,eAAgB,CAAA,gDAA6D,eAAe,CAAC,8CAAwC,eAAA,CAAA,yBAA0C,eAAA,CAAA,oBAAuC,eAAA,CAAA,wBAAyC,eAAA,CAAA,0BAAkC,eAAA,CAAA,uBAA0C,eAAiB,CAAA,yBAAgB,eAAyB,CAAA,kBAAgB,eAAA,CAAuB,0BAAgB,eAAA,CAAA,iBAAA,eAAkD,CAAA,yBAAgB,eAAA,CAAA,uBAAiD,eAAgB,CAAA,kDAAgD,eAAgB,CAAA,iDAAqC,eAAA,CAAA,gDAA8D,eAAA,CAAA,qBAA+C,eAAgB,CAAA,8CAA2C,eAAyB,CAAA,+CAAuD,eAAC,CAAA,2BAA0C,eAAA,CAAA,yBAAwC,eAAA,CAAA,wBAAqC,eAAA,CAAA,0BAAsC,eAAA,CAAA,wBAA4C,eAAc,CAAA,qBAAgB,eAAqB,CAAA,sBAAgB,eAAuB,CAAA,4BAAgB,eAAyB,CAAA,cAAgB,eAAA,CAAA,qBAAgC,eAAgB,CAAA,uBAAsB,eAAgB,CAAA,yBAAuB,eAAgB,CAAA,gCAAkC,eAAkB,CAAA,sBAAgB,eAAmB,CAAA,uBAAiC,eAAgB,CAAA,kBAAA,eAA6B,CAAA,kBAAgB,eAAA,CAAA,mBAAoC,eAAgB,CAAA,iBAAkB,eAAgB,CAAA,6BAAiC,eAAkB,CAAA,oCAAgB,eAA2B,CAAA,kBAAgB,eAA4B,CAAA,iBAAgB,eAAA,CAAA,kBAA4B,eAAgB,CAAA,2BAA4B,eAAgB,CAAA,4BAAmC,eAAC,CAAA,4BAAmC,eAAqB,CAAA,4BAAgB,eAAiB,CAAA,oBAA+B,eAAgB,CAAA,mBAAsB,eAAe,CAAC,qBAAA,eAAwB,CAAA,iBAAgB,eAAiB,CAAA,eAAgB,eAAiB,CAAA,sBAAgB,eAAqB,CAAA,wBAAgB,eAAqB,CAAe,iBAAC,eAAwB,CAAA,iBAAgB,eAAgB,CAAA,qBAAgB,eAA2B,CAAA,qBAAgB,eAAoB,CAAA,wBAAgB,eAAgB,CAAA,gBAAgB,eAAwB,CAAA,2BAA+B,eAAe,CAAC,oBAAA,eAAwB,CAAA,gBAAgB,eAAoB,CAAA,wBAAgB,eAAkB,CAAA,eAAgB,eAAwB,CAAA,wBAAgB,eAA0B,CAAA,oBAAgB,eAAA,CAAuB,kBAAgB,eAAA,CAAA,wBAAyC,eAAA,CAAA,0BAAwC,eAAA,CAAA,uBAA0C,eAAC,CAAA,yBAAmC,eAAA,CAAqB,wBAAgB,eAAuB,CAAA,2BAAgB,eAAmB,CAAA,mBAAgB,eAAkB,CAAA,qBAAgB,eAAsB,CAAA,uBAAgB,eAAmB,CAAA,mBAAgB,eAAkB,CAAA,kBAAgB,eAA4B,CAAA,sBAAgB,eAAA,CAA0B,mBAAgB,eAAA,CAAA,kBAA6B,eAAgB,CAAA,4BAAiC,eAAA,CAAA,0BAA6C,eAAA,CAAA,6BAAgC,eAAgB,CAAA,iBAAmB,eAAgB,CAAA,6BAAuC,eAAgB,CAAA,gCAAA,eAAA,CAAA,mBAAA,eAA2E,CAAA,uCAAgB,eAAA,CAAA,2EAAgH,eAAmB,CAAA,+DAA4D,eAAgB,CAAA,iBAAsB,eAAgB,CAAA,mBAAkB,eAAgB,CAAA,4CAAyC,eAAoB,CAAA,sBAAgB,eAA0B,CAAA,kBAAgB,eAAA,CAAA,yBAA2C,eAAA,CAAA,oBAAsC,eAAA,CAAA,0BAAuC,eAAiB,CAAA,2BAAgB,eAAqB,CAAA,sBAAgB,eAAA,CAAA,uBAAA,eAA8D,CAAA,iBAAgB,eAAA,CAAA,qBAAsC,eAAgB,CAAA,8DAAgE,eAAgB,CAAA,sCAA2C,eAAA,CAAA,uBAAkC,eAAA,CAAA,yBAAwC,eAAA,CAAA,2BAA0C,eAAA,CAAA,kBAAyC,eAAe,CAAC,wBAAA,eAAA,CAAA,0BAA6D,eAAA,CAAA,yCAAuC,eAAyB,CAAA,6CAAkD,eAAoB,CAAA,uBAAgB,eAAA,CAAA,yBAA8C,eAAgB,CAAA,kBAAA,eAAA,CAAA,oBAAkD,eAAgB,CAAA,8CAAiC,eAA0B,CAAA,kDAAoD,eAAA,CAAA,iBAAA,eAAA,CAAA,0BAA4E,eAAgB,CAAA,oBAAA,eAAA,CAAA,4EAA+E,eAAqD,CAAA,+DAAgB,eAAwD,CAAA,qDAAgB,eAAsD,CAAA,wDAAkD,eAAA,CAAA,sDAAqF,eAAgB,CAAA,kBAAA,eAA2B,CAAA,kDAA2D,eAAA,CAAA,mBAA0B,eAAgB,CAAA,2BAAA,eAAmD,CAAA,2BAAgB,eAAA,CAAA,0BAAuD,eAAgB,CAAA,mDAAoD,eAAe,CAAC,uDAAgD,eAAgB,CAAA,oBAAmB,eAAgB,CAAA,gBAAmB,eAAgB,CAAA,gBAAqB,eAAe,CAAC,gBAAA,eAAuB,CAAA,mBAAgB,eAAuB,CAAA,mBAAgB,eAAsB,CAAA,qBAAgB,eAAkB,CAAA,uBAAyB,eAAkB,CAAA,uBAAqB,eAAU,CAAA,sBAA4B,eAAA,CAAA,kBAA+B,eAAA,CAAA,SAAA,iBAAA,CAAA,SAAmD,CAAA,UAAgB,CAAA,SAAW,CAAA,WAAY,CAAA,eAAS,CAAA,kBAA0B,CAAA,QAAA,CAAA,mDAAA,eAAA,CAAA,UAAA,CAAA,WAAA,CAAA,QAAA,CAAA,gBAAA,CAAA,SAAA","file":"2.637eb612.chunk.css","sourcesContent":[null,null,null,null,null,null,null,null,null,null,"/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:\"\\f000\"}.fa-music:before{content:\"\\f001\"}.fa-search:before{content:\"\\f002\"}.fa-envelope-o:before{content:\"\\f003\"}.fa-heart:before{content:\"\\f004\"}.fa-star:before{content:\"\\f005\"}.fa-star-o:before{content:\"\\f006\"}.fa-user:before{content:\"\\f007\"}.fa-film:before{content:\"\\f008\"}.fa-th-large:before{content:\"\\f009\"}.fa-th:before{content:\"\\f00a\"}.fa-th-list:before{content:\"\\f00b\"}.fa-check:before{content:\"\\f00c\"}.fa-remove:before,.fa-close:before,.fa-times:before{content:\"\\f00d\"}.fa-search-plus:before{content:\"\\f00e\"}.fa-search-minus:before{content:\"\\f010\"}.fa-power-off:before{content:\"\\f011\"}.fa-signal:before{content:\"\\f012\"}.fa-gear:before,.fa-cog:before{content:\"\\f013\"}.fa-trash-o:before{content:\"\\f014\"}.fa-home:before{content:\"\\f015\"}.fa-file-o:before{content:\"\\f016\"}.fa-clock-o:before{content:\"\\f017\"}.fa-road:before{content:\"\\f018\"}.fa-download:before{content:\"\\f019\"}.fa-arrow-circle-o-down:before{content:\"\\f01a\"}.fa-arrow-circle-o-up:before{content:\"\\f01b\"}.fa-inbox:before{content:\"\\f01c\"}.fa-play-circle-o:before{content:\"\\f01d\"}.fa-rotate-right:before,.fa-repeat:before{content:\"\\f01e\"}.fa-refresh:before{content:\"\\f021\"}.fa-list-alt:before{content:\"\\f022\"}.fa-lock:before{content:\"\\f023\"}.fa-flag:before{content:\"\\f024\"}.fa-headphones:before{content:\"\\f025\"}.fa-volume-off:before{content:\"\\f026\"}.fa-volume-down:before{content:\"\\f027\"}.fa-volume-up:before{content:\"\\f028\"}.fa-qrcode:before{content:\"\\f029\"}.fa-barcode:before{content:\"\\f02a\"}.fa-tag:before{content:\"\\f02b\"}.fa-tags:before{content:\"\\f02c\"}.fa-book:before{content:\"\\f02d\"}.fa-bookmark:before{content:\"\\f02e\"}.fa-print:before{content:\"\\f02f\"}.fa-camera:before{content:\"\\f030\"}.fa-font:before{content:\"\\f031\"}.fa-bold:before{content:\"\\f032\"}.fa-italic:before{content:\"\\f033\"}.fa-text-height:before{content:\"\\f034\"}.fa-text-width:before{content:\"\\f035\"}.fa-align-left:before{content:\"\\f036\"}.fa-align-center:before{content:\"\\f037\"}.fa-align-right:before{content:\"\\f038\"}.fa-align-justify:before{content:\"\\f039\"}.fa-list:before{content:\"\\f03a\"}.fa-dedent:before,.fa-outdent:before{content:\"\\f03b\"}.fa-indent:before{content:\"\\f03c\"}.fa-video-camera:before{content:\"\\f03d\"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:\"\\f03e\"}.fa-pencil:before{content:\"\\f040\"}.fa-map-marker:before{content:\"\\f041\"}.fa-adjust:before{content:\"\\f042\"}.fa-tint:before{content:\"\\f043\"}.fa-edit:before,.fa-pencil-square-o:before{content:\"\\f044\"}.fa-share-square-o:before{content:\"\\f045\"}.fa-check-square-o:before{content:\"\\f046\"}.fa-arrows:before{content:\"\\f047\"}.fa-step-backward:before{content:\"\\f048\"}.fa-fast-backward:before{content:\"\\f049\"}.fa-backward:before{content:\"\\f04a\"}.fa-play:before{content:\"\\f04b\"}.fa-pause:before{content:\"\\f04c\"}.fa-stop:before{content:\"\\f04d\"}.fa-forward:before{content:\"\\f04e\"}.fa-fast-forward:before{content:\"\\f050\"}.fa-step-forward:before{content:\"\\f051\"}.fa-eject:before{content:\"\\f052\"}.fa-chevron-left:before{content:\"\\f053\"}.fa-chevron-right:before{content:\"\\f054\"}.fa-plus-circle:before{content:\"\\f055\"}.fa-minus-circle:before{content:\"\\f056\"}.fa-times-circle:before{content:\"\\f057\"}.fa-check-circle:before{content:\"\\f058\"}.fa-question-circle:before{content:\"\\f059\"}.fa-info-circle:before{content:\"\\f05a\"}.fa-crosshairs:before{content:\"\\f05b\"}.fa-times-circle-o:before{content:\"\\f05c\"}.fa-check-circle-o:before{content:\"\\f05d\"}.fa-ban:before{content:\"\\f05e\"}.fa-arrow-left:before{content:\"\\f060\"}.fa-arrow-right:before{content:\"\\f061\"}.fa-arrow-up:before{content:\"\\f062\"}.fa-arrow-down:before{content:\"\\f063\"}.fa-mail-forward:before,.fa-share:before{content:\"\\f064\"}.fa-expand:before{content:\"\\f065\"}.fa-compress:before{content:\"\\f066\"}.fa-plus:before{content:\"\\f067\"}.fa-minus:before{content:\"\\f068\"}.fa-asterisk:before{content:\"\\f069\"}.fa-exclamation-circle:before{content:\"\\f06a\"}.fa-gift:before{content:\"\\f06b\"}.fa-leaf:before{content:\"\\f06c\"}.fa-fire:before{content:\"\\f06d\"}.fa-eye:before{content:\"\\f06e\"}.fa-eye-slash:before{content:\"\\f070\"}.fa-warning:before,.fa-exclamation-triangle:before{content:\"\\f071\"}.fa-plane:before{content:\"\\f072\"}.fa-calendar:before{content:\"\\f073\"}.fa-random:before{content:\"\\f074\"}.fa-comment:before{content:\"\\f075\"}.fa-magnet:before{content:\"\\f076\"}.fa-chevron-up:before{content:\"\\f077\"}.fa-chevron-down:before{content:\"\\f078\"}.fa-retweet:before{content:\"\\f079\"}.fa-shopping-cart:before{content:\"\\f07a\"}.fa-folder:before{content:\"\\f07b\"}.fa-folder-open:before{content:\"\\f07c\"}.fa-arrows-v:before{content:\"\\f07d\"}.fa-arrows-h:before{content:\"\\f07e\"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:\"\\f080\"}.fa-twitter-square:before{content:\"\\f081\"}.fa-facebook-square:before{content:\"\\f082\"}.fa-camera-retro:before{content:\"\\f083\"}.fa-key:before{content:\"\\f084\"}.fa-gears:before,.fa-cogs:before{content:\"\\f085\"}.fa-comments:before{content:\"\\f086\"}.fa-thumbs-o-up:before{content:\"\\f087\"}.fa-thumbs-o-down:before{content:\"\\f088\"}.fa-star-half:before{content:\"\\f089\"}.fa-heart-o:before{content:\"\\f08a\"}.fa-sign-out:before{content:\"\\f08b\"}.fa-linkedin-square:before{content:\"\\f08c\"}.fa-thumb-tack:before{content:\"\\f08d\"}.fa-external-link:before{content:\"\\f08e\"}.fa-sign-in:before{content:\"\\f090\"}.fa-trophy:before{content:\"\\f091\"}.fa-github-square:before{content:\"\\f092\"}.fa-upload:before{content:\"\\f093\"}.fa-lemon-o:before{content:\"\\f094\"}.fa-phone:before{content:\"\\f095\"}.fa-square-o:before{content:\"\\f096\"}.fa-bookmark-o:before{content:\"\\f097\"}.fa-phone-square:before{content:\"\\f098\"}.fa-twitter:before{content:\"\\f099\"}.fa-facebook-f:before,.fa-facebook:before{content:\"\\f09a\"}.fa-github:before{content:\"\\f09b\"}.fa-unlock:before{content:\"\\f09c\"}.fa-credit-card:before{content:\"\\f09d\"}.fa-feed:before,.fa-rss:before{content:\"\\f09e\"}.fa-hdd-o:before{content:\"\\f0a0\"}.fa-bullhorn:before{content:\"\\f0a1\"}.fa-bell:before{content:\"\\f0f3\"}.fa-certificate:before{content:\"\\f0a3\"}.fa-hand-o-right:before{content:\"\\f0a4\"}.fa-hand-o-left:before{content:\"\\f0a5\"}.fa-hand-o-up:before{content:\"\\f0a6\"}.fa-hand-o-down:before{content:\"\\f0a7\"}.fa-arrow-circle-left:before{content:\"\\f0a8\"}.fa-arrow-circle-right:before{content:\"\\f0a9\"}.fa-arrow-circle-up:before{content:\"\\f0aa\"}.fa-arrow-circle-down:before{content:\"\\f0ab\"}.fa-globe:before{content:\"\\f0ac\"}.fa-wrench:before{content:\"\\f0ad\"}.fa-tasks:before{content:\"\\f0ae\"}.fa-filter:before{content:\"\\f0b0\"}.fa-briefcase:before{content:\"\\f0b1\"}.fa-arrows-alt:before{content:\"\\f0b2\"}.fa-group:before,.fa-users:before{content:\"\\f0c0\"}.fa-chain:before,.fa-link:before{content:\"\\f0c1\"}.fa-cloud:before{content:\"\\f0c2\"}.fa-flask:before{content:\"\\f0c3\"}.fa-cut:before,.fa-scissors:before{content:\"\\f0c4\"}.fa-copy:before,.fa-files-o:before{content:\"\\f0c5\"}.fa-paperclip:before{content:\"\\f0c6\"}.fa-save:before,.fa-floppy-o:before{content:\"\\f0c7\"}.fa-square:before{content:\"\\f0c8\"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:\"\\f0c9\"}.fa-list-ul:before{content:\"\\f0ca\"}.fa-list-ol:before{content:\"\\f0cb\"}.fa-strikethrough:before{content:\"\\f0cc\"}.fa-underline:before{content:\"\\f0cd\"}.fa-table:before{content:\"\\f0ce\"}.fa-magic:before{content:\"\\f0d0\"}.fa-truck:before{content:\"\\f0d1\"}.fa-pinterest:before{content:\"\\f0d2\"}.fa-pinterest-square:before{content:\"\\f0d3\"}.fa-google-plus-square:before{content:\"\\f0d4\"}.fa-google-plus:before{content:\"\\f0d5\"}.fa-money:before{content:\"\\f0d6\"}.fa-caret-down:before{content:\"\\f0d7\"}.fa-caret-up:before{content:\"\\f0d8\"}.fa-caret-left:before{content:\"\\f0d9\"}.fa-caret-right:before{content:\"\\f0da\"}.fa-columns:before{content:\"\\f0db\"}.fa-unsorted:before,.fa-sort:before{content:\"\\f0dc\"}.fa-sort-down:before,.fa-sort-desc:before{content:\"\\f0dd\"}.fa-sort-up:before,.fa-sort-asc:before{content:\"\\f0de\"}.fa-envelope:before{content:\"\\f0e0\"}.fa-linkedin:before{content:\"\\f0e1\"}.fa-rotate-left:before,.fa-undo:before{content:\"\\f0e2\"}.fa-legal:before,.fa-gavel:before{content:\"\\f0e3\"}.fa-dashboard:before,.fa-tachometer:before{content:\"\\f0e4\"}.fa-comment-o:before{content:\"\\f0e5\"}.fa-comments-o:before{content:\"\\f0e6\"}.fa-flash:before,.fa-bolt:before{content:\"\\f0e7\"}.fa-sitemap:before{content:\"\\f0e8\"}.fa-umbrella:before{content:\"\\f0e9\"}.fa-paste:before,.fa-clipboard:before{content:\"\\f0ea\"}.fa-lightbulb-o:before{content:\"\\f0eb\"}.fa-exchange:before{content:\"\\f0ec\"}.fa-cloud-download:before{content:\"\\f0ed\"}.fa-cloud-upload:before{content:\"\\f0ee\"}.fa-user-md:before{content:\"\\f0f0\"}.fa-stethoscope:before{content:\"\\f0f1\"}.fa-suitcase:before{content:\"\\f0f2\"}.fa-bell-o:before{content:\"\\f0a2\"}.fa-coffee:before{content:\"\\f0f4\"}.fa-cutlery:before{content:\"\\f0f5\"}.fa-file-text-o:before{content:\"\\f0f6\"}.fa-building-o:before{content:\"\\f0f7\"}.fa-hospital-o:before{content:\"\\f0f8\"}.fa-ambulance:before{content:\"\\f0f9\"}.fa-medkit:before{content:\"\\f0fa\"}.fa-fighter-jet:before{content:\"\\f0fb\"}.fa-beer:before{content:\"\\f0fc\"}.fa-h-square:before{content:\"\\f0fd\"}.fa-plus-square:before{content:\"\\f0fe\"}.fa-angle-double-left:before{content:\"\\f100\"}.fa-angle-double-right:before{content:\"\\f101\"}.fa-angle-double-up:before{content:\"\\f102\"}.fa-angle-double-down:before{content:\"\\f103\"}.fa-angle-left:before{content:\"\\f104\"}.fa-angle-right:before{content:\"\\f105\"}.fa-angle-up:before{content:\"\\f106\"}.fa-angle-down:before{content:\"\\f107\"}.fa-desktop:before{content:\"\\f108\"}.fa-laptop:before{content:\"\\f109\"}.fa-tablet:before{content:\"\\f10a\"}.fa-mobile-phone:before,.fa-mobile:before{content:\"\\f10b\"}.fa-circle-o:before{content:\"\\f10c\"}.fa-quote-left:before{content:\"\\f10d\"}.fa-quote-right:before{content:\"\\f10e\"}.fa-spinner:before{content:\"\\f110\"}.fa-circle:before{content:\"\\f111\"}.fa-mail-reply:before,.fa-reply:before{content:\"\\f112\"}.fa-github-alt:before{content:\"\\f113\"}.fa-folder-o:before{content:\"\\f114\"}.fa-folder-open-o:before{content:\"\\f115\"}.fa-smile-o:before{content:\"\\f118\"}.fa-frown-o:before{content:\"\\f119\"}.fa-meh-o:before{content:\"\\f11a\"}.fa-gamepad:before{content:\"\\f11b\"}.fa-keyboard-o:before{content:\"\\f11c\"}.fa-flag-o:before{content:\"\\f11d\"}.fa-flag-checkered:before{content:\"\\f11e\"}.fa-terminal:before{content:\"\\f120\"}.fa-code:before{content:\"\\f121\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\\f122\"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:\"\\f123\"}.fa-location-arrow:before{content:\"\\f124\"}.fa-crop:before{content:\"\\f125\"}.fa-code-fork:before{content:\"\\f126\"}.fa-unlink:before,.fa-chain-broken:before{content:\"\\f127\"}.fa-question:before{content:\"\\f128\"}.fa-info:before{content:\"\\f129\"}.fa-exclamation:before{content:\"\\f12a\"}.fa-superscript:before{content:\"\\f12b\"}.fa-subscript:before{content:\"\\f12c\"}.fa-eraser:before{content:\"\\f12d\"}.fa-puzzle-piece:before{content:\"\\f12e\"}.fa-microphone:before{content:\"\\f130\"}.fa-microphone-slash:before{content:\"\\f131\"}.fa-shield:before{content:\"\\f132\"}.fa-calendar-o:before{content:\"\\f133\"}.fa-fire-extinguisher:before{content:\"\\f134\"}.fa-rocket:before{content:\"\\f135\"}.fa-maxcdn:before{content:\"\\f136\"}.fa-chevron-circle-left:before{content:\"\\f137\"}.fa-chevron-circle-right:before{content:\"\\f138\"}.fa-chevron-circle-up:before{content:\"\\f139\"}.fa-chevron-circle-down:before{content:\"\\f13a\"}.fa-html5:before{content:\"\\f13b\"}.fa-css3:before{content:\"\\f13c\"}.fa-anchor:before{content:\"\\f13d\"}.fa-unlock-alt:before{content:\"\\f13e\"}.fa-bullseye:before{content:\"\\f140\"}.fa-ellipsis-h:before{content:\"\\f141\"}.fa-ellipsis-v:before{content:\"\\f142\"}.fa-rss-square:before{content:\"\\f143\"}.fa-play-circle:before{content:\"\\f144\"}.fa-ticket:before{content:\"\\f145\"}.fa-minus-square:before{content:\"\\f146\"}.fa-minus-square-o:before{content:\"\\f147\"}.fa-level-up:before{content:\"\\f148\"}.fa-level-down:before{content:\"\\f149\"}.fa-check-square:before{content:\"\\f14a\"}.fa-pencil-square:before{content:\"\\f14b\"}.fa-external-link-square:before{content:\"\\f14c\"}.fa-share-square:before{content:\"\\f14d\"}.fa-compass:before{content:\"\\f14e\"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:\"\\f150\"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:\"\\f151\"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:\"\\f152\"}.fa-euro:before,.fa-eur:before{content:\"\\f153\"}.fa-gbp:before{content:\"\\f154\"}.fa-dollar:before,.fa-usd:before{content:\"\\f155\"}.fa-rupee:before,.fa-inr:before{content:\"\\f156\"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:\"\\f157\"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:\"\\f158\"}.fa-won:before,.fa-krw:before{content:\"\\f159\"}.fa-bitcoin:before,.fa-btc:before{content:\"\\f15a\"}.fa-file:before{content:\"\\f15b\"}.fa-file-text:before{content:\"\\f15c\"}.fa-sort-alpha-asc:before{content:\"\\f15d\"}.fa-sort-alpha-desc:before{content:\"\\f15e\"}.fa-sort-amount-asc:before{content:\"\\f160\"}.fa-sort-amount-desc:before{content:\"\\f161\"}.fa-sort-numeric-asc:before{content:\"\\f162\"}.fa-sort-numeric-desc:before{content:\"\\f163\"}.fa-thumbs-up:before{content:\"\\f164\"}.fa-thumbs-down:before{content:\"\\f165\"}.fa-youtube-square:before{content:\"\\f166\"}.fa-youtube:before{content:\"\\f167\"}.fa-xing:before{content:\"\\f168\"}.fa-xing-square:before{content:\"\\f169\"}.fa-youtube-play:before{content:\"\\f16a\"}.fa-dropbox:before{content:\"\\f16b\"}.fa-stack-overflow:before{content:\"\\f16c\"}.fa-instagram:before{content:\"\\f16d\"}.fa-flickr:before{content:\"\\f16e\"}.fa-adn:before{content:\"\\f170\"}.fa-bitbucket:before{content:\"\\f171\"}.fa-bitbucket-square:before{content:\"\\f172\"}.fa-tumblr:before{content:\"\\f173\"}.fa-tumblr-square:before{content:\"\\f174\"}.fa-long-arrow-down:before{content:\"\\f175\"}.fa-long-arrow-up:before{content:\"\\f176\"}.fa-long-arrow-left:before{content:\"\\f177\"}.fa-long-arrow-right:before{content:\"\\f178\"}.fa-apple:before{content:\"\\f179\"}.fa-windows:before{content:\"\\f17a\"}.fa-android:before{content:\"\\f17b\"}.fa-linux:before{content:\"\\f17c\"}.fa-dribbble:before{content:\"\\f17d\"}.fa-skype:before{content:\"\\f17e\"}.fa-foursquare:before{content:\"\\f180\"}.fa-trello:before{content:\"\\f181\"}.fa-female:before{content:\"\\f182\"}.fa-male:before{content:\"\\f183\"}.fa-gittip:before,.fa-gratipay:before{content:\"\\f184\"}.fa-sun-o:before{content:\"\\f185\"}.fa-moon-o:before{content:\"\\f186\"}.fa-archive:before{content:\"\\f187\"}.fa-bug:before{content:\"\\f188\"}.fa-vk:before{content:\"\\f189\"}.fa-weibo:before{content:\"\\f18a\"}.fa-renren:before{content:\"\\f18b\"}.fa-pagelines:before{content:\"\\f18c\"}.fa-stack-exchange:before{content:\"\\f18d\"}.fa-arrow-circle-o-right:before{content:\"\\f18e\"}.fa-arrow-circle-o-left:before{content:\"\\f190\"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:\"\\f191\"}.fa-dot-circle-o:before{content:\"\\f192\"}.fa-wheelchair:before{content:\"\\f193\"}.fa-vimeo-square:before{content:\"\\f194\"}.fa-turkish-lira:before,.fa-try:before{content:\"\\f195\"}.fa-plus-square-o:before{content:\"\\f196\"}.fa-space-shuttle:before{content:\"\\f197\"}.fa-slack:before{content:\"\\f198\"}.fa-envelope-square:before{content:\"\\f199\"}.fa-wordpress:before{content:\"\\f19a\"}.fa-openid:before{content:\"\\f19b\"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:\"\\f19c\"}.fa-mortar-board:before,.fa-graduation-cap:before{content:\"\\f19d\"}.fa-yahoo:before{content:\"\\f19e\"}.fa-google:before{content:\"\\f1a0\"}.fa-reddit:before{content:\"\\f1a1\"}.fa-reddit-square:before{content:\"\\f1a2\"}.fa-stumbleupon-circle:before{content:\"\\f1a3\"}.fa-stumbleupon:before{content:\"\\f1a4\"}.fa-delicious:before{content:\"\\f1a5\"}.fa-digg:before{content:\"\\f1a6\"}.fa-pied-piper-pp:before{content:\"\\f1a7\"}.fa-pied-piper-alt:before{content:\"\\f1a8\"}.fa-drupal:before{content:\"\\f1a9\"}.fa-joomla:before{content:\"\\f1aa\"}.fa-language:before{content:\"\\f1ab\"}.fa-fax:before{content:\"\\f1ac\"}.fa-building:before{content:\"\\f1ad\"}.fa-child:before{content:\"\\f1ae\"}.fa-paw:before{content:\"\\f1b0\"}.fa-spoon:before{content:\"\\f1b1\"}.fa-cube:before{content:\"\\f1b2\"}.fa-cubes:before{content:\"\\f1b3\"}.fa-behance:before{content:\"\\f1b4\"}.fa-behance-square:before{content:\"\\f1b5\"}.fa-steam:before{content:\"\\f1b6\"}.fa-steam-square:before{content:\"\\f1b7\"}.fa-recycle:before{content:\"\\f1b8\"}.fa-automobile:before,.fa-car:before{content:\"\\f1b9\"}.fa-cab:before,.fa-taxi:before{content:\"\\f1ba\"}.fa-tree:before{content:\"\\f1bb\"}.fa-spotify:before{content:\"\\f1bc\"}.fa-deviantart:before{content:\"\\f1bd\"}.fa-soundcloud:before{content:\"\\f1be\"}.fa-database:before{content:\"\\f1c0\"}.fa-file-pdf-o:before{content:\"\\f1c1\"}.fa-file-word-o:before{content:\"\\f1c2\"}.fa-file-excel-o:before{content:\"\\f1c3\"}.fa-file-powerpoint-o:before{content:\"\\f1c4\"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:\"\\f1c5\"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:\"\\f1c6\"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:\"\\f1c7\"}.fa-file-movie-o:before,.fa-file-video-o:before{content:\"\\f1c8\"}.fa-file-code-o:before{content:\"\\f1c9\"}.fa-vine:before{content:\"\\f1ca\"}.fa-codepen:before{content:\"\\f1cb\"}.fa-jsfiddle:before{content:\"\\f1cc\"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:\"\\f1cd\"}.fa-circle-o-notch:before{content:\"\\f1ce\"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:\"\\f1d0\"}.fa-ge:before,.fa-empire:before{content:\"\\f1d1\"}.fa-git-square:before{content:\"\\f1d2\"}.fa-git:before{content:\"\\f1d3\"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:\"\\f1d4\"}.fa-tencent-weibo:before{content:\"\\f1d5\"}.fa-qq:before{content:\"\\f1d6\"}.fa-wechat:before,.fa-weixin:before{content:\"\\f1d7\"}.fa-send:before,.fa-paper-plane:before{content:\"\\f1d8\"}.fa-send-o:before,.fa-paper-plane-o:before{content:\"\\f1d9\"}.fa-history:before{content:\"\\f1da\"}.fa-circle-thin:before{content:\"\\f1db\"}.fa-header:before{content:\"\\f1dc\"}.fa-paragraph:before{content:\"\\f1dd\"}.fa-sliders:before{content:\"\\f1de\"}.fa-share-alt:before{content:\"\\f1e0\"}.fa-share-alt-square:before{content:\"\\f1e1\"}.fa-bomb:before{content:\"\\f1e2\"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:\"\\f1e3\"}.fa-tty:before{content:\"\\f1e4\"}.fa-binoculars:before{content:\"\\f1e5\"}.fa-plug:before{content:\"\\f1e6\"}.fa-slideshare:before{content:\"\\f1e7\"}.fa-twitch:before{content:\"\\f1e8\"}.fa-yelp:before{content:\"\\f1e9\"}.fa-newspaper-o:before{content:\"\\f1ea\"}.fa-wifi:before{content:\"\\f1eb\"}.fa-calculator:before{content:\"\\f1ec\"}.fa-paypal:before{content:\"\\f1ed\"}.fa-google-wallet:before{content:\"\\f1ee\"}.fa-cc-visa:before{content:\"\\f1f0\"}.fa-cc-mastercard:before{content:\"\\f1f1\"}.fa-cc-discover:before{content:\"\\f1f2\"}.fa-cc-amex:before{content:\"\\f1f3\"}.fa-cc-paypal:before{content:\"\\f1f4\"}.fa-cc-stripe:before{content:\"\\f1f5\"}.fa-bell-slash:before{content:\"\\f1f6\"}.fa-bell-slash-o:before{content:\"\\f1f7\"}.fa-trash:before{content:\"\\f1f8\"}.fa-copyright:before{content:\"\\f1f9\"}.fa-at:before{content:\"\\f1fa\"}.fa-eyedropper:before{content:\"\\f1fb\"}.fa-paint-brush:before{content:\"\\f1fc\"}.fa-birthday-cake:before{content:\"\\f1fd\"}.fa-area-chart:before{content:\"\\f1fe\"}.fa-pie-chart:before{content:\"\\f200\"}.fa-line-chart:before{content:\"\\f201\"}.fa-lastfm:before{content:\"\\f202\"}.fa-lastfm-square:before{content:\"\\f203\"}.fa-toggle-off:before{content:\"\\f204\"}.fa-toggle-on:before{content:\"\\f205\"}.fa-bicycle:before{content:\"\\f206\"}.fa-bus:before{content:\"\\f207\"}.fa-ioxhost:before{content:\"\\f208\"}.fa-angellist:before{content:\"\\f209\"}.fa-cc:before{content:\"\\f20a\"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:\"\\f20b\"}.fa-meanpath:before{content:\"\\f20c\"}.fa-buysellads:before{content:\"\\f20d\"}.fa-connectdevelop:before{content:\"\\f20e\"}.fa-dashcube:before{content:\"\\f210\"}.fa-forumbee:before{content:\"\\f211\"}.fa-leanpub:before{content:\"\\f212\"}.fa-sellsy:before{content:\"\\f213\"}.fa-shirtsinbulk:before{content:\"\\f214\"}.fa-simplybuilt:before{content:\"\\f215\"}.fa-skyatlas:before{content:\"\\f216\"}.fa-cart-plus:before{content:\"\\f217\"}.fa-cart-arrow-down:before{content:\"\\f218\"}.fa-diamond:before{content:\"\\f219\"}.fa-ship:before{content:\"\\f21a\"}.fa-user-secret:before{content:\"\\f21b\"}.fa-motorcycle:before{content:\"\\f21c\"}.fa-street-view:before{content:\"\\f21d\"}.fa-heartbeat:before{content:\"\\f21e\"}.fa-venus:before{content:\"\\f221\"}.fa-mars:before{content:\"\\f222\"}.fa-mercury:before{content:\"\\f223\"}.fa-intersex:before,.fa-transgender:before{content:\"\\f224\"}.fa-transgender-alt:before{content:\"\\f225\"}.fa-venus-double:before{content:\"\\f226\"}.fa-mars-double:before{content:\"\\f227\"}.fa-venus-mars:before{content:\"\\f228\"}.fa-mars-stroke:before{content:\"\\f229\"}.fa-mars-stroke-v:before{content:\"\\f22a\"}.fa-mars-stroke-h:before{content:\"\\f22b\"}.fa-neuter:before{content:\"\\f22c\"}.fa-genderless:before{content:\"\\f22d\"}.fa-facebook-official:before{content:\"\\f230\"}.fa-pinterest-p:before{content:\"\\f231\"}.fa-whatsapp:before{content:\"\\f232\"}.fa-server:before{content:\"\\f233\"}.fa-user-plus:before{content:\"\\f234\"}.fa-user-times:before{content:\"\\f235\"}.fa-hotel:before,.fa-bed:before{content:\"\\f236\"}.fa-viacoin:before{content:\"\\f237\"}.fa-train:before{content:\"\\f238\"}.fa-subway:before{content:\"\\f239\"}.fa-medium:before{content:\"\\f23a\"}.fa-yc:before,.fa-y-combinator:before{content:\"\\f23b\"}.fa-optin-monster:before{content:\"\\f23c\"}.fa-opencart:before{content:\"\\f23d\"}.fa-expeditedssl:before{content:\"\\f23e\"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:\"\\f240\"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:\"\\f241\"}.fa-battery-2:before,.fa-battery-half:before{content:\"\\f242\"}.fa-battery-1:before,.fa-battery-quarter:before{content:\"\\f243\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\\f244\"}.fa-mouse-pointer:before{content:\"\\f245\"}.fa-i-cursor:before{content:\"\\f246\"}.fa-object-group:before{content:\"\\f247\"}.fa-object-ungroup:before{content:\"\\f248\"}.fa-sticky-note:before{content:\"\\f249\"}.fa-sticky-note-o:before{content:\"\\f24a\"}.fa-cc-jcb:before{content:\"\\f24b\"}.fa-cc-diners-club:before{content:\"\\f24c\"}.fa-clone:before{content:\"\\f24d\"}.fa-balance-scale:before{content:\"\\f24e\"}.fa-hourglass-o:before{content:\"\\f250\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\\f251\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\\f252\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\\f253\"}.fa-hourglass:before{content:\"\\f254\"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:\"\\f255\"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:\"\\f256\"}.fa-hand-scissors-o:before{content:\"\\f257\"}.fa-hand-lizard-o:before{content:\"\\f258\"}.fa-hand-spock-o:before{content:\"\\f259\"}.fa-hand-pointer-o:before{content:\"\\f25a\"}.fa-hand-peace-o:before{content:\"\\f25b\"}.fa-trademark:before{content:\"\\f25c\"}.fa-registered:before{content:\"\\f25d\"}.fa-creative-commons:before{content:\"\\f25e\"}.fa-gg:before{content:\"\\f260\"}.fa-gg-circle:before{content:\"\\f261\"}.fa-tripadvisor:before{content:\"\\f262\"}.fa-odnoklassniki:before{content:\"\\f263\"}.fa-odnoklassniki-square:before{content:\"\\f264\"}.fa-get-pocket:before{content:\"\\f265\"}.fa-wikipedia-w:before{content:\"\\f266\"}.fa-safari:before{content:\"\\f267\"}.fa-chrome:before{content:\"\\f268\"}.fa-firefox:before{content:\"\\f269\"}.fa-opera:before{content:\"\\f26a\"}.fa-internet-explorer:before{content:\"\\f26b\"}.fa-tv:before,.fa-television:before{content:\"\\f26c\"}.fa-contao:before{content:\"\\f26d\"}.fa-500px:before{content:\"\\f26e\"}.fa-amazon:before{content:\"\\f270\"}.fa-calendar-plus-o:before{content:\"\\f271\"}.fa-calendar-minus-o:before{content:\"\\f272\"}.fa-calendar-times-o:before{content:\"\\f273\"}.fa-calendar-check-o:before{content:\"\\f274\"}.fa-industry:before{content:\"\\f275\"}.fa-map-pin:before{content:\"\\f276\"}.fa-map-signs:before{content:\"\\f277\"}.fa-map-o:before{content:\"\\f278\"}.fa-map:before{content:\"\\f279\"}.fa-commenting:before{content:\"\\f27a\"}.fa-commenting-o:before{content:\"\\f27b\"}.fa-houzz:before{content:\"\\f27c\"}.fa-vimeo:before{content:\"\\f27d\"}.fa-black-tie:before{content:\"\\f27e\"}.fa-fonticons:before{content:\"\\f280\"}.fa-reddit-alien:before{content:\"\\f281\"}.fa-edge:before{content:\"\\f282\"}.fa-credit-card-alt:before{content:\"\\f283\"}.fa-codiepie:before{content:\"\\f284\"}.fa-modx:before{content:\"\\f285\"}.fa-fort-awesome:before{content:\"\\f286\"}.fa-usb:before{content:\"\\f287\"}.fa-product-hunt:before{content:\"\\f288\"}.fa-mixcloud:before{content:\"\\f289\"}.fa-scribd:before{content:\"\\f28a\"}.fa-pause-circle:before{content:\"\\f28b\"}.fa-pause-circle-o:before{content:\"\\f28c\"}.fa-stop-circle:before{content:\"\\f28d\"}.fa-stop-circle-o:before{content:\"\\f28e\"}.fa-shopping-bag:before{content:\"\\f290\"}.fa-shopping-basket:before{content:\"\\f291\"}.fa-hashtag:before{content:\"\\f292\"}.fa-bluetooth:before{content:\"\\f293\"}.fa-bluetooth-b:before{content:\"\\f294\"}.fa-percent:before{content:\"\\f295\"}.fa-gitlab:before{content:\"\\f296\"}.fa-wpbeginner:before{content:\"\\f297\"}.fa-wpforms:before{content:\"\\f298\"}.fa-envira:before{content:\"\\f299\"}.fa-universal-access:before{content:\"\\f29a\"}.fa-wheelchair-alt:before{content:\"\\f29b\"}.fa-question-circle-o:before{content:\"\\f29c\"}.fa-blind:before{content:\"\\f29d\"}.fa-audio-description:before{content:\"\\f29e\"}.fa-volume-control-phone:before{content:\"\\f2a0\"}.fa-braille:before{content:\"\\f2a1\"}.fa-assistive-listening-systems:before{content:\"\\f2a2\"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:\"\\f2a3\"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:\"\\f2a4\"}.fa-glide:before{content:\"\\f2a5\"}.fa-glide-g:before{content:\"\\f2a6\"}.fa-signing:before,.fa-sign-language:before{content:\"\\f2a7\"}.fa-low-vision:before{content:\"\\f2a8\"}.fa-viadeo:before{content:\"\\f2a9\"}.fa-viadeo-square:before{content:\"\\f2aa\"}.fa-snapchat:before{content:\"\\f2ab\"}.fa-snapchat-ghost:before{content:\"\\f2ac\"}.fa-snapchat-square:before{content:\"\\f2ad\"}.fa-pied-piper:before{content:\"\\f2ae\"}.fa-first-order:before{content:\"\\f2b0\"}.fa-yoast:before{content:\"\\f2b1\"}.fa-themeisle:before{content:\"\\f2b2\"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:\"\\f2b3\"}.fa-fa:before,.fa-font-awesome:before{content:\"\\f2b4\"}.fa-handshake-o:before{content:\"\\f2b5\"}.fa-envelope-open:before{content:\"\\f2b6\"}.fa-envelope-open-o:before{content:\"\\f2b7\"}.fa-linode:before{content:\"\\f2b8\"}.fa-address-book:before{content:\"\\f2b9\"}.fa-address-book-o:before{content:\"\\f2ba\"}.fa-vcard:before,.fa-address-card:before{content:\"\\f2bb\"}.fa-vcard-o:before,.fa-address-card-o:before{content:\"\\f2bc\"}.fa-user-circle:before{content:\"\\f2bd\"}.fa-user-circle-o:before{content:\"\\f2be\"}.fa-user-o:before{content:\"\\f2c0\"}.fa-id-badge:before{content:\"\\f2c1\"}.fa-drivers-license:before,.fa-id-card:before{content:\"\\f2c2\"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:\"\\f2c3\"}.fa-quora:before{content:\"\\f2c4\"}.fa-free-code-camp:before{content:\"\\f2c5\"}.fa-telegram:before{content:\"\\f2c6\"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:\"\\f2c7\"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:\"\\f2c8\"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:\"\\f2c9\"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:\"\\f2ca\"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:\"\\f2cb\"}.fa-shower:before{content:\"\\f2cc\"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:\"\\f2cd\"}.fa-podcast:before{content:\"\\f2ce\"}.fa-window-maximize:before{content:\"\\f2d0\"}.fa-window-minimize:before{content:\"\\f2d1\"}.fa-window-restore:before{content:\"\\f2d2\"}.fa-times-rectangle:before,.fa-window-close:before{content:\"\\f2d3\"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:\"\\f2d4\"}.fa-bandcamp:before{content:\"\\f2d5\"}.fa-grav:before{content:\"\\f2d6\"}.fa-etsy:before{content:\"\\f2d7\"}.fa-imdb:before{content:\"\\f2d8\"}.fa-ravelry:before{content:\"\\f2d9\"}.fa-eercast:before{content:\"\\f2da\"}.fa-microchip:before{content:\"\\f2db\"}.fa-snowflake-o:before{content:\"\\f2dc\"}.fa-superpowers:before{content:\"\\f2dd\"}.fa-wpexplorer:before{content:\"\\f2de\"}.fa-meetup:before{content:\"\\f2e0\"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}\n"]} \ No newline at end of file diff --git a/react-material-admin-master/docs/static/css/main.102e159d.chunk.css b/react-material-admin-master/docs/static/css/main.102e159d.chunk.css new file mode 100644 index 0000000..030f4ba --- /dev/null +++ b/react-material-admin-master/docs/static/css/main.102e159d.chunk.css @@ -0,0 +1 @@ +.Calendar_widget__3l0nT{background-color:#fff;padding:16px;margin:16px 0;box-shadow:0 3px 11px 0 #e8eafc,0 3px 3px -2px hsla(0,0%,69.8%,.1019607843),0 1px 8px 0 hsla(0,0%,60.4%,.1019607843);border-radius:4px} \ No newline at end of file diff --git a/react-material-admin-master/docs/static/js/2.af6eef2b.chunk.js b/react-material-admin-master/docs/static/js/2.af6eef2b.chunk.js new file mode 100644 index 0000000..4aada7b --- /dev/null +++ b/react-material-admin-master/docs/static/js/2.af6eef2b.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see 2.af6eef2b.chunk.js.LICENSE.txt */ +(this["webpackJsonpreact-material-admin"]=this["webpackJsonpreact-material-admin"]||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(555)},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(3),a=n(0),i=n.n(a),o=n(148);function s(e,t){var n=i.a.memo(i.a.forwardRef((function(t,n){return i.a.createElement(o.a,Object(r.a)({ref:n},t),e)})));return n.muiName=o.a.muiName,n}},function(e,t,n){e.exports=n(559)()},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}},function(e,t,n){"use strict";var r=n(3),a=n(5),i=n(0),o=n.n(i),s=(n(2),n(60)),l=n.n(s),c=n(2073),u=n(1093),d=n(327),p=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){var i=t.defaultTheme,s=t.withTheme,p=void 0!==s&&s,f=t.name,h=Object(a.a)(t,["defaultTheme","withTheme","name"]);var m=f,g=Object(c.a)(e,Object(r.a)({defaultTheme:i,Component:n,name:f||n.displayName,classNamePrefix:m},h)),v=o.a.forwardRef((function(e,t){e.classes;var s,l=e.innerRef,c=Object(a.a)(e,["classes","innerRef"]),h=g(Object(r.a)(Object(r.a)({},n.defaultProps),e)),m=c;return("string"===typeof f||p)&&(s=Object(d.a)()||i,f&&(m=Object(u.a)({theme:s,name:f,props:c})),p&&!m.theme&&(m.theme=s)),o.a.createElement(n,Object(r.a)({ref:l||t,classes:h},m))}));return l()(v,n),v}},f=n(82);t.a=function(e,t){return p(e,Object(r.a)({defaultTheme:f.a},t))}},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function a(){for(var e=[],t=0;t2?n-2:0),a=2;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.min(Math.max(t,e),n)}function i(e){e=e.substr(1);var t=new RegExp(".{1,".concat(e.length>=6?2:1,"}"),"g"),n=e.match(t);return n&&1===n[0].length&&(n=n.map((function(e){return e+e}))),n?"rgb".concat(4===n.length?"a":"","(").concat(n.map((function(e,t){return t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3})).join(", "),")"):""}function o(e){if(0===e.indexOf("#"))return e;var t=l(e).values;return"#".concat(t.map((function(e){return function(e){var t=e.toString(16);return 1===t.length?"0".concat(t):t}(e)})).join(""))}function s(e){var t=(e=l(e)).values,n=t[0],r=t[1]/100,a=t[2]/100,i=r*Math.min(a,1-a),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+n/30)%12;return a-i*Math.max(Math.min(t-3,9-t,1),-1)},s="rgb",u=[Math.round(255*o(0)),Math.round(255*o(8)),Math.round(255*o(4))];return"hsla"===e.type&&(s+="a",u.push(t[3])),c({type:s,values:u})}function l(e){if(e.type)return e;if("#"===e.charAt(0))return l(i(e));var t=e.indexOf("("),n=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla"].indexOf(n))throw new Error(Object(r.a)(3,e));var a=e.substring(t+1,e.length-1).split(",");return{type:n,values:a=a.map((function(e){return parseFloat(e)}))}}function c(e){var t=e.type,n=e.values;return-1!==t.indexOf("rgb")?n=n.map((function(e,t){return t<3?parseInt(e,10):e})):-1!==t.indexOf("hsl")&&(n[1]="".concat(n[1],"%"),n[2]="".concat(n[2],"%")),"".concat(t,"(").concat(n.join(", "),")")}function u(e,t){var n=d(e),r=d(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function d(e){var t="hsl"===(e=l(e)).type?l(s(e)).values:e.values;return t=t.map((function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)})),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return d(e)>.5?h(e,t):m(e,t)}function f(e,t){return e=l(e),t=a(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),e.values[3]=t,c(e)}function h(e,t){if(e=l(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]*=1-t;return c(e)}function m(e,t){if(e=l(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;return c(e)}},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){return function(){return null}}n.r(t),n.d(t,"chainPropTypes",(function(){return r})),n.d(t,"deepmerge",(function(){return a.a})),n.d(t,"elementAcceptingRef",(function(){return l})),n.d(t,"elementTypeAcceptingRef",(function(){return c})),n.d(t,"exactProp",(function(){return u})),n.d(t,"formatMuiErrorMessage",(function(){return d.a})),n.d(t,"getDisplayName",(function(){return b})),n.d(t,"HTMLElementType",(function(){return _})),n.d(t,"ponyfillGlobal",(function(){return y})),n.d(t,"refType",(function(){return E}));var a=n(219),i=n(2),o=n.n(i);var s=(o.a.element,function(){return null});s.isRequired=(o.a.element.isRequired,function(){return null});var l=s;var c=(i.elementType,function(){return null});n(14),n(3);function u(e){return e}var d=n(173),p=n(75),f=n(45),h=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function m(e){var t="".concat(e).match(h);return t&&t[1]||""}function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e.displayName||e.name||m(e)||t}function v(e,t,n){var r=g(t);return e.displayName||(""!==r?"".concat(n,"(").concat(r,")"):n)}function b(e){if(null!=e){if("string"===typeof e)return e;if("function"===typeof e)return g(e,"Component");if("object"===Object(p.a)(e))switch(e.$$typeof){case f.ForwardRef:return v(e,e.render,"ForwardRef");case f.Memo:return v(e,e.type,"memo");default:return}}}function _(e,t,n,r,a){return null}var y="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),E=o.a.oneOfType([o.a.func,o.a.object])},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),a=n(34);function i(e,t){return r.useMemo((function(){return null==e&&null==t?null:function(n){Object(a.a)(e,n),Object(a.a)(t,n)}}),[e,t])}},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}}(),e.exports=n(556)},function(e,t,n){"use strict";n.d(t,"h",(function(){return St})),n.d(t,"o",(function(){return lr})),n.d(t,"m",(function(){return _r})),n.d(t,"f",(function(){return xr})),n.d(t,"n",(function(){return Yc})),n.d(t,"k",(function(){return zd})),n.d(t,"e",(function(){return Kd})),n.d(t,"i",(function(){return bp})),n.d(t,"a",(function(){return Np})),n.d(t,"c",(function(){return tf})),n.d(t,"p",(function(){return uf})),n.d(t,"q",(function(){return bf})),n.d(t,"j",(function(){return Cm})),n.d(t,"d",(function(){return wm})),n.d(t,"l",(function(){return mg})),n.d(t,"b",(function(){return gg})),n.d(t,"g",(function(){return Pg}));var r={};n.r(r),n.d(r,"scaleBand",(function(){return ia})),n.d(r,"scalePoint",(function(){return sa})),n.d(r,"scaleIdentity",(function(){return Ai})),n.d(r,"scaleLinear",(function(){return wi})),n.d(r,"scaleLog",(function(){return zi})),n.d(r,"scaleSymlog",(function(){return Bi})),n.d(r,"scaleOrdinal",(function(){return aa})),n.d(r,"scaleImplicit",(function(){return ra})),n.d(r,"scalePow",(function(){return Wi})),n.d(r,"scaleSqrt",(function(){return qi})),n.d(r,"scaleQuantile",(function(){return $i})),n.d(r,"scaleQuantize",(function(){return Xi})),n.d(r,"scaleThreshold",(function(){return Ki})),n.d(r,"scaleTime",(function(){return sl})),n.d(r,"scaleUtc",(function(){return hl})),n.d(r,"scaleSequential",(function(){return vl})),n.d(r,"scaleSequentialLog",(function(){return bl})),n.d(r,"scaleSequentialPow",(function(){return yl})),n.d(r,"scaleSequentialSqrt",(function(){return El})),n.d(r,"scaleSequentialSymlog",(function(){return _l})),n.d(r,"scaleSequentialQuantile",(function(){return Sl})),n.d(r,"scaleDiverging",(function(){return Ol})),n.d(r,"scaleDivergingLog",(function(){return Tl})),n.d(r,"scaleDivergingPow",(function(){return wl})),n.d(r,"scaleDivergingSqrt",(function(){return Al})),n.d(r,"scaleDivergingSymlog",(function(){return Cl})),n.d(r,"tickFormat",(function(){return Ti}));n(563),n(585);if(!Object.setPrototypeOf&&!{}.__proto__){var a=Object.getPrototypeOf;Object.getPrototypeOf=function(e){return e.__proto__?e.__proto__:a.call(Object,e)}}var i=n(9),o=n.n(i),s=n(149),l=n.n(s),c=n(0),u=n.n(c),d=n(2),p=n.n(d),f=n(7),h=n.n(f),m=n(12),g=n.n(m),v=n(91),b=n.n(v),_=n(35),y=n.n(_),E=n(17),S=n.n(E),x=n(65),O=n.n(x),T=n(115),C=n.n(T),w=n(144),A=n.n(w),R=function(e){return 0===e?0:e>0?1:-1},N=function(e){return b()(e)&&e.indexOf("%")===e.length-1},M=function(e){return A()(e)&&!C()(e)},I=function(e){return M(e)||b()(e)},k=0,D=function(e){var t=++k;return"".concat(e||"").concat(t)},L=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!M(e)&&!b()(e))return r;if(N(e)){var i=e.indexOf("%");n=t*parseFloat(e.slice(0,i))/100}else n=+e;return C()(n)&&(n=r),a&&n>t&&(n=t),n},P=function(e){if(!e)return null;var t=Object.keys(e);return t&&t.length?e[t[0]]:null},z=function(e,t){return M(e)&&M(t)?function(n){return e+n*(t-e)}:function(){return t}},j=function(e,t,n){return e&&e.length?e.find((function(e){return e&&("function"===typeof t?t(e):O()(e,t))===n})):null};function F(e,t){for(var n in e)if({}.hasOwnProperty.call(e,n)&&(!{}.hasOwnProperty.call(t,n)||e[n]!==t[n]))return!1;for(var r in t)if({}.hasOwnProperty.call(t,r)&&!{}.hasOwnProperty.call(e,r))return!1;return!0}function H(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var V={"aria-current":p.a.string,"aria-details":p.a.any,"aria-disabled":p.a.any,"aria-hidden":p.a.any,"aria-invalid":p.a.any,"aria-keyshortcuts":p.a.any,"aria-label":p.a.any,"aria-roledescription":p.a.any,"aria-autocomplete":p.a.any,"aria-checked":p.a.any,"aria-expanded":p.a.any,"aria-haspopup":p.a.any,"aria-level":p.a.any,"aria-modal":p.a.any,"aria-multiline":p.a.any,"aria-multiselectable":p.a.any,"aria-orientation":p.a.any,"aria-placeholder":p.a.any,"aria-pressed":p.a.any,"aria-readonly":p.a.any,"aria-required":p.a.any,"aria-selected":p.a.any,"aria-sort":p.a.any,"aria-valuemax":p.a.any,"aria-valuemin":p.a.any,"aria-valuenow":p.a.any,"aria-valuetext":p.a.any,"aria-atomic":p.a.any,"aria-busy":p.a.any,"aria-live":p.a.any,"aria-relevant":p.a.any,"aria-dropeffect":p.a.any,"aria-grabbed":p.a.any,"aria-activedescendant":p.a.any,"aria-colcount":p.a.any,"aria-colindex":p.a.any,"aria-colspan":p.a.any,"aria-controls":p.a.any,"aria-describedby":p.a.any,"aria-errormessage":p.a.any,"aria-flowto":p.a.any,"aria-labelledby":p.a.any,"aria-owns":p.a.any,"aria-posinset":p.a.any,"aria-rowcount":p.a.any,"aria-rowindex":p.a.any,"aria-rowspan":p.a.any,"aria-setsize":p.a.any,alignmentBaseline:p.a.string,angle:p.a.number,baselineShift:p.a.string,clip:p.a.string,clipPath:p.a.string,clipRule:p.a.string,color:p.a.string,colorInterpolation:p.a.string,colorInterpolationFilters:p.a.string,colorProfile:p.a.string,colorRendering:p.a.string,cursor:p.a.string,direction:p.a.oneOf(["ltr","rtl","inherit"]),display:p.a.string,dominantBaseline:p.a.string,enableBackground:p.a.string,fill:p.a.string,fillOpacity:p.a.oneOfType([p.a.string,p.a.number]),fillRule:p.a.oneOf(["nonzero","evenodd","inherit"]),filter:p.a.string,floodColor:p.a.string,floodOpacity:p.a.oneOfType([p.a.string,p.a.number]),font:p.a.string,fontFamily:p.a.string,fontSize:p.a.oneOfType([p.a.number,p.a.string]),fontSizeAdjust:p.a.oneOfType([p.a.number,p.a.string]),fontStretch:p.a.oneOf(["normal","wider","narrower","ultra-condensed","extra-condensed","condensed","semi-condensed","semi-expanded","expanded","extra-expanded","ultra-expanded","inherit"]),fontStyle:p.a.oneOf(["normal","italic","oblique","inherit"]),fontVariant:p.a.oneOf(["normal","small-caps","inherit"]),fontWeight:p.a.oneOf(["normal","bold","bolder","lighter",100,200,300,400,500,600,700,800,900,"inherit"]),glyphOrientationHorizontal:p.a.string,glyphOrientationVertical:p.a.string,imageRendering:p.a.oneOf(["auto","optimizeSpeed","optimizeQuality","inherit"]),kerning:p.a.oneOfType([p.a.number,p.a.string]),letterSpacing:p.a.oneOfType([p.a.number,p.a.string]),lightingColor:p.a.string,lineHeight:p.a.oneOfType([p.a.number,p.a.string]),markerEnd:p.a.string,markerMid:p.a.string,markerStart:p.a.string,mask:p.a.string,opacity:p.a.oneOfType([p.a.number,p.a.string]),overflow:p.a.oneOf(["visible","hidden","scroll","auto","inherit"]),pointerEvents:p.a.oneOf(["visiblePainted","visibleFill","visibleStroke","visible","painted","fill","stroke","all","none","inherit"]),shapeRendering:p.a.oneOf(["auto","optimizeSpeed","crispEdges","geometricPrecision","inherit"]),stopColor:p.a.string,stopOpacity:p.a.oneOfType([p.a.number,p.a.string]),stroke:p.a.oneOfType([p.a.number,p.a.string]),strokeDasharray:p.a.string,strokeDashoffset:p.a.oneOfType([p.a.number,p.a.string]),strokeLinecap:p.a.oneOf(["butt","round","square","inherit"]),strokeLinejoin:p.a.oneOf(["miter","round","bevel","inherit"]),strokeMiterlimit:p.a.oneOfType([p.a.number,p.a.string]),strokeOpacity:p.a.oneOfType([p.a.number,p.a.string]),strokeWidth:p.a.oneOfType([p.a.number,p.a.string]),textAnchor:p.a.oneOf(["start","middle","end","inherit"]),textDecoration:p.a.oneOf(["none","underline","overline","line-through","blink","inherit"]),textRendering:p.a.oneOf(["auto","optimizeSpeed","optimizeLegibility","geometricPrecision","inherit"]),unicodeBidi:p.a.oneOf(["normal","embed","bidi-override","inherit"]),visibility:p.a.oneOf(["visible","hidden","collapse","inherit"]),wordSpacing:p.a.oneOfType([p.a.number,p.a.string]),writingMode:p.a.oneOf(["lr-tb","rl-tb","tb-rl","lr","rl","tb","inherit"]),transform:p.a.string,role:p.a.string,focusable:p.a.string,tabIndex:p.a.string,style:p.a.object,width:p.a.number,height:p.a.number,dx:p.a.number,dy:p.a.number,x:p.a.number,y:p.a.number,r:p.a.number,radius:p.a.oneOfType([p.a.number,p.a.array])},U={onClick:p.a.func,onMouseDown:p.a.func,onMouseUp:p.a.func,onMouseOver:p.a.func,onMouseMove:p.a.func,onMouseOut:p.a.func,onMouseEnter:p.a.func,onMouseLeave:p.a.func,onTouchEnd:p.a.func,onTouchMove:p.a.func,onTouchStart:p.a.func,onTouchCancel:p.a.func},G={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},Y=["auto","linear","pow","sqrt","log","identity","time","band","point","ordinal","quantile","quantize","utc","sequential","threshold"],W=["plainline","line","square","rect","circle","cross","diamond","star","triangle","wye","none"],q=["none"],$=function(e){return"string"===typeof e?e:e?e.displayName||e.name||"Component":""},X=function(e,t){var n=[],r=[];return r=S()(t)?t.map((function(e){return $(e)})):[$(t)],u.a.Children.forEach(e,(function(e){var t=e&&e.type&&(e.type.displayName||e.type.name);-1!==r.indexOf(t)&&n.push(e)})),n},K=function(e,t){var n=X(e,t);return n&&n[0]},Q=function(e){if(!e||o()(e))return null;var t=u.a.isValidElement(e)?e.props:e;if(!y()(t))return null;var n=null;for(var r in t)({}).hasOwnProperty.call(t,r)&&V[r]&&(n||(n={}),n[r]=t[r]);return n},Z=function(e,t){return function(n){return e(t,n),null}},J=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e||o()(e))return null;var r=u.a.isValidElement(e)?e.props:e;if(!y()(r))return null;var a=null;for(var i in r)({}).hasOwnProperty.call(r,i)&&U[i]&&(a||(a={}),a[i]=t||(n?Z(r[i],r):r[i]));return a},ee=function(e,t,n){return function(r){return e(t,n,r),null}},te=function(e,t,n){if(!y()(e))return null;var r=null;for(var a in e)({}).hasOwnProperty.call(e,a)&&U[a]&&o()(e[a])&&(r||(r={}),r[a]=ee(e[a],t,n));return r},ne=function(e){if(!e||!e.props)return!1;var t=e.props,n=t.width,r=t.height;return!(!M(n)||n<=0||!M(r)||r<=0)},re=function(){return!("undefined"!==typeof window&&window.document&&window.document.createElement&&window.setTimeout)},ae=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],ie=function(e,t){if(g()(e)&&g()(t))return!0;if(!g()(e)&&!g()(t)){var n=e.props||{},r=n.children,a=B(n,["children"]),i=t.props||{},o=i.children,s=B(i,["children"]);return r&&o?F(a,s)&&oe(r,o):!r&&!o&&F(a,s)}return!1},oe=function e(t,n){if(t===n)return!0;if(c.Children.count(t)!==c.Children.count(n))return!1;var r=c.Children.count(t);if(0===r)return!0;if(1===r)return ie(S()(t)?t[0]:t,S()(n)?n[0]:n);for(var a=0;a=0}(e))n.push(e);else if(e&&t[$(e.type)]){var i=$(e.type),o=t[i],s=o.handler,l=o.once;if(l&&!r[i]||!l){var c=s(e,i,a);S()(c)?n=[n].concat(H(c)):n.push(c),r[i]=!0}}})),n},le=function(e,t){var n=-1;return c.Children.forEach(t,(function(t,r){t===e&&(n=r)})),n};function ce(){return(ce=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var de={width:p.a.number.isRequired,height:p.a.number.isRequired,viewBox:p.a.shape({x:p.a.number,y:p.a.number,width:p.a.number,height:p.a.number}),className:p.a.string,style:p.a.object,children:p.a.oneOfType([p.a.arrayOf(p.a.node),p.a.node])};function pe(e){var t=e.children,n=e.width,r=e.height,a=e.viewBox,i=e.className,o=e.style,s=ue(e,["children","width","height","viewBox","className","style"]),l=a||{width:n,height:r,x:0,y:0},c=h()("recharts-surface",i),d=Q(s);return u.a.createElement("svg",ce({},d,{className:c,width:n,height:r,style:o,viewBox:"".concat(l.x," ").concat(l.y," ").concat(l.width," ").concat(l.height),version:"1.1"}),t)}pe.propTypes=de;var fe=pe,he=(Math.abs,Math.atan2,Math.cos,Math.max,Math.min,Math.sin,Math.sqrt,Math.PI),me=2*he;var ge={draw:function(e,t){var n=Math.sqrt(t/he);e.moveTo(n,0),e.arc(0,0,n,0,me)}},ve={draw:function(e,t){var n=Math.sqrt(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},be=Math.sqrt(1/3),_e=2*be,ye={draw:function(e,t){var n=Math.sqrt(t/_e),r=n*be;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},Ee={draw:function(e,t){var n=Math.sqrt(t),r=-n/2;e.rect(r,r,n,n)}},Se=Math.sin(he/10)/Math.sin(7*he/10),xe=Math.sin(me/10)*Se,Oe=-Math.cos(me/10)*Se,Te={draw:function(e,t){var n=Math.sqrt(.8908130915292852*t),r=xe*n,a=Oe*n;e.moveTo(0,-n),e.lineTo(r,a);for(var i=1;i<5;++i){var o=me*i/5,s=Math.cos(o),l=Math.sin(o);e.lineTo(l*n,-s*n),e.lineTo(s*r-l*a,l*r+s*a)}e.closePath()}},Ce=Math.sqrt(3),we={draw:function(e,t){var n=-Math.sqrt(t/(3*Ce));e.moveTo(0,2*n),e.lineTo(-Ce*n,-n),e.lineTo(Ce*n,-n),e.closePath()}},Ae=Math.sqrt(3)/2,Re=1/Math.sqrt(12),Ne=3*(Re/2+1),Me={draw:function(e,t){var n=Math.sqrt(t/Ne),r=n/2,a=n*Re,i=r,o=n*Re+n,s=-i,l=o;e.moveTo(r,a),e.lineTo(i,o),e.lineTo(s,l),e.lineTo(-.5*r-Ae*a,Ae*r+-.5*a),e.lineTo(-.5*i-Ae*o,Ae*i+-.5*o),e.lineTo(-.5*s-Ae*l,Ae*s+-.5*l),e.lineTo(-.5*r+Ae*a,-.5*a-Ae*r),e.lineTo(-.5*i+Ae*o,-.5*o-Ae*i),e.lineTo(-.5*s+Ae*l,-.5*l-Ae*s),e.closePath()}},Ie=Math.PI,ke=2*Ie,De=ke-1e-6;function Le(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Pe(){return new Le}Le.prototype=Pe.prototype={constructor:Le,moveTo:function(e,t){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(e,t){this._+="L"+(this._x1=+e)+","+(this._y1=+t)},quadraticCurveTo:function(e,t,n,r){this._+="Q"+ +e+","+ +t+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(e,t,n,r,a,i){this._+="C"+ +e+","+ +t+","+ +n+","+ +r+","+(this._x1=+a)+","+(this._y1=+i)},arcTo:function(e,t,n,r,a){e=+e,t=+t,n=+n,r=+r,a=+a;var i=this._x1,o=this._y1,s=n-e,l=r-t,c=i-e,u=o-t,d=c*c+u*u;if(a<0)throw new Error("negative radius: "+a);if(null===this._x1)this._+="M"+(this._x1=e)+","+(this._y1=t);else if(d>1e-6)if(Math.abs(u*s-l*c)>1e-6&&a){var p=n-i,f=r-o,h=s*s+l*l,m=p*p+f*f,g=Math.sqrt(h),v=Math.sqrt(d),b=a*Math.tan((Ie-Math.acos((h+d-m)/(2*g*v)))/2),_=b/v,y=b/g;Math.abs(_-1)>1e-6&&(this._+="L"+(e+_*c)+","+(t+_*u)),this._+="A"+a+","+a+",0,0,"+ +(u*p>c*f)+","+(this._x1=e+y*s)+","+(this._y1=t+y*l)}else this._+="L"+(this._x1=e)+","+(this._y1=t);else;},arc:function(e,t,n,r,a,i){e=+e,t=+t,i=!!i;var o=(n=+n)*Math.cos(r),s=n*Math.sin(r),l=e+o,c=t+s,u=1^i,d=i?r-a:a-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+l+","+c:(Math.abs(this._x1-l)>1e-6||Math.abs(this._y1-c)>1e-6)&&(this._+="L"+l+","+c),n&&(d<0&&(d=d%ke+ke),d>De?this._+="A"+n+","+n+",0,1,"+u+","+(e-o)+","+(t-s)+"A"+n+","+n+",0,1,"+u+","+(this._x1=l)+","+(this._y1=c):d>1e-6&&(this._+="A"+n+","+n+",0,"+ +(d>=Ie)+","+u+","+(this._x1=e+n*Math.cos(a))+","+(this._y1=t+n*Math.sin(a))))},rect:function(e,t,n,r){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var ze=Pe,je=function(e){return function(){return e}};function Fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function He(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Be(e){return(Be="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ve(){return(Ve=Object.assign||function(e){for(var t=1;t=0&&n>=0?{width:t,height:n}:null}},{key:"getDefaultPosition",value:function(e){var t,n,r=this.props,a=r.layout,i=r.align,o=r.verticalAlign,s=r.margin,l=r.chartWidth,c=r.chartHeight;return e&&(void 0!==e.left&&null!==e.left||void 0!==e.right&&null!==e.right)||(t="center"===i&&"vertical"===a?{left:((l||0)-(this.getBBox()||{width:0}).width)/2}:"right"===i?{right:s&&s.right||0}:{left:s&&s.left||0}),e&&(void 0!==e.top&&null!==e.top||void 0!==e.bottom&&null!==e.bottom)||(n="middle"===o?{top:((c||0)-(this.getBBox()||{height:0}).height)/2}:"bottom"===o?{bottom:s&&s.bottom||0}:{top:s&&s.top||0}),dt({},t,{},n)}},{key:"updateBBox",value:function(){var e=this.state,t=e.boxWidth,n=e.boxHeight,r=this.props.onBBoxUpdate;if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var a=this.wrapperNode.getBoundingClientRect();(Math.abs(a.width-t)>1||Math.abs(a.height-n)>1)&&this.setState({boxWidth:a.width,boxHeight:a.height},(function(){r&&r(a)}))}else-1===t&&-1===n||this.setState({boxWidth:-1,boxHeight:-1},(function(){r&&r(null)}))}},{key:"render",value:function(){var e=this,t=this.props,n=t.content,r=t.width,a=t.height,i=t.wrapperStyle,s=t.paylodUniqBy,l=t.payload,c=dt({position:"absolute",width:r||"auto",height:a||"auto"},this.getDefaultPosition(i),{},i);return u.a.createElement("div",{className:"recharts-legend-wrapper",style:c,ref:function(t){e.wrapperNode=t}},function(e,t){return u.a.isValidElement(e)?u.a.cloneElement(e,t):o()(e)?e(t):u.a.createElement(lt,t)}(n,dt({},this.props,{payload:_t(s,l)})))}}])&&ht(n.prototype,r),a&&ht(n,a),t}(c.PureComponent);Et.displayName="Legend",Et.propTypes={content:p.a.oneOfType([p.a.element,p.a.func]),wrapperStyle:p.a.object,chartWidth:p.a.number,chartHeight:p.a.number,width:p.a.number,height:p.a.number,iconSize:p.a.number,iconType:p.a.oneOf(yt),layout:p.a.oneOf(["horizontal","vertical"]),align:p.a.oneOf(["center","left","right"]),verticalAlign:p.a.oneOf(["top","bottom","middle"]),margin:p.a.shape({top:p.a.number,left:p.a.number,bottom:p.a.number,right:p.a.number}),payload:p.a.arrayOf(p.a.shape({value:p.a.any,id:p.a.any,type:p.a.oneOf(W)})),paylodUniqBy:p.a.oneOfType([p.a.func,p.a.bool]),formatter:p.a.func,onMouseEnter:p.a.func,onMouseLeave:p.a.func,onClick:p.a.func,onBBoxUpdate:p.a.func},Et.defaultProps={iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"};var St=Et,xt=n(47),Ot=n.n(xt),Tt=n(104),Ct=n.n(Tt);function wt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=-1,r=function r(a){n<0&&(n=a),a-n>t?(e(a),n=-1):Ct()(r)};Ct()(r)}function At(e){return(At="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Rt(e){return function(e){if(Array.isArray(e))return e}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Nt(){var e=function(){return null},t=!1;return{stop:function(){t=!0},start:function(n){t=!1,function n(r){if(!t){if(Array.isArray(r)){if(!r.length)return;var a=Rt(r),i=a[0],o=a.slice(1);return"number"===typeof i?void wt(n.bind(null,o),i):(n(i),void wt(n.bind(null,o)))}"object"===At(r)&&e(r),"function"===typeof r&&r()}}(n)},subscribe:function(t){return e=t,function(){e=function(){return null}}}}}var Mt=n(511),It=n.n(Mt);function kt(e){for(var t=1;t=0&&e<=1}));var u=Wt(r,i),d=Wt(a,o),p=qt(r,i),f=function(e){return e>1?1:e<0?0:e},h=function(e){for(var t=e>1?1:e,n=t,r=0;r<8;++r){var a=u(n)-t,i=p(n);if(Math.abs(a-t)<1e-4||i<1e-4)return d(n);n=f(n-a/i)}return d(n)};return h.isStepper=!1,h},Xt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.stiff,n=void 0===t?100:t,r=e.damping,a=void 0===r?8:r,i=e.dt,o=void 0===i?17:i,s=function(e,t,r){var i=r+(-(e-t)*n-r*a)*o/1e3,s=r*o/1e3+e;return Math.abs(s-t)<1e-4&&Math.abs(i)<1e-4?[t,0]:[s,i]};return s.isStepper=!0,s.dt=o,s},Kt=n(512),Qt=n.n(Kt);function Zt(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function ln(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0?n[a-1]:r,p=c||Object.keys(l);if("function"===typeof s||"spring"===s)return ln(e).concat([t.runJSAnimation.bind(t,{from:d.style,to:l,duration:i,easing:s}),i]);var f=Bt(p,i,s),h=cn({},d.style,l,{transition:f});return ln(e).concat([h,i,u]).filter(jt)}),[o,Math.max(l,r)])),[e.onAnimationEnd]))}},{key:"runAnimation",value:function(e){this.manager||(this.manager=Nt());var t=e.begin,n=e.duration,r=e.attributeName,a=e.to,i=e.easing,o=e.onAnimationStart,s=e.onAnimationEnd,l=e.steps,c=e.children,u=this.manager;if(this.unSubscribe=u.subscribe(this.handleStyleChange),"function"!==typeof i&&"function"!==typeof c&&"spring"!==i)if(l.length>1)this.runStepAnimation(e);else{var d=r?un({},r,a):a,p=Bt(Object.keys(d),n,i);u.start([o,t,cn({},d,{transition:p}),n,s])}else this.runJSAnimation(e)}},{key:"handleStyleChange",value:function(e){this.changeStyle(e)}},{key:"changeStyle",value:function(e){this.mounted&&this.setState({style:e})}},{key:"render",value:function(){var e=this.props,t=e.children,n=(e.begin,e.duration,e.attributeName,e.easing,e.isActive),r=(e.steps,e.from,e.to,e.canBegin,e.onAnimationEnd,e.shouldReAnimate,e.onAnimationReStart,sn(e,["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"])),a=c.Children.count(t),i=Ht(this.state.style);if("function"===typeof t)return t(i);if(!n||0===a)return t;var o=function(e){var t=e.props,n=t.style,a=void 0===n?{}:n,o=t.className;return Object(c.cloneElement)(e,cn({},r,{style:cn({},a,i),className:o}))};return 1===a?o(c.Children.only(t)):u.a.createElement("div",null,c.Children.map(t,(function(e){return o(e)})))}}])&&dn(n.prototype,r),a&&dn(n,a),t}(c.PureComponent);gn.displayName="Animate",gn.propTypes={from:p.a.oneOfType([p.a.object,p.a.string]),to:p.a.oneOfType([p.a.object,p.a.string]),attributeName:p.a.string,duration:p.a.number,begin:p.a.number,easing:p.a.oneOfType([p.a.string,p.a.func]),steps:p.a.arrayOf(p.a.shape({duration:p.a.number.isRequired,style:p.a.object.isRequired,easing:p.a.oneOfType([p.a.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),p.a.func]),properties:p.a.arrayOf("string"),onAnimationEnd:p.a.func})),children:p.a.oneOfType([p.a.node,p.a.func]),isActive:p.a.bool,canBegin:p.a.bool,onAnimationEnd:p.a.func,shouldReAnimate:p.a.bool,onAnimationStart:p.a.func,onAnimationReStart:p.a.func},gn.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};var vn=gn,bn=n(229);function _n(e){return(_n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function yn(){return(yn=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function Sn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function On(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.steps,n=e.duration;return t&&t.length?t.reduce((function(e,t){return e+(A()(t.duration)&&t.duration>0?t.duration:0)}),0):A()(n)?n:0},Rn=function(e){function t(){var e,n;xn(this,t);for(var r=arguments.length,a=new Array(r),i=0;iu[t]+a?Math.max(d,u[t]):Math.max(p,u[t])},n}var n,r,a;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&nr(e,t)}(t,e),n=t,(r=[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"updateBBox",value:function(){var e=this.state,t=e.boxWidth,n=e.boxHeight;if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();(Math.abs(r.width-t)>1||Math.abs(r.height-n)>1)&&this.setState({boxWidth:r.width,boxHeight:r.height})}else-1===t&&-1===n||this.setState({boxWidth:-1,boxHeight:-1})}},{key:"render",value:function(){var e,t,n,r=this,a=this.props,i=a.payload,s=a.isAnimationActive,c=a.animationDuration,d=a.animationEasing,p=a.filterNull,f=function(e,t){return!0===e?l()(t,ar):o()(e)?l()(t,e):t}(a.paylodUniqBy,p&&i&&i.length?i.filter((function(e){return!g()(e.value)})):i),m=f&&f.length,v=this.props,b=v.content,_=v.viewBox,y=v.coordinate,E=v.position,S=v.active,x=Kn({pointerEvents:"none",visibility:S&&m?"visible":"hidden",position:"absolute",top:0},v.wrapperStyle);if(E&&M(E.x)&&M(E.y))t=E.x,n=E.y;else{var O=this.state,T=O.boxWidth,C=O.boxHeight;T>0&&C>0&&y?(t=this.getTranslate({key:"x",tooltipDimension:T,viewBoxDimension:_.width}),n=this.getTranslate({key:"y",tooltipDimension:C,viewBoxDimension:_.height})):x.visibility="hidden"}x=Kn({},Ht({transform:this.props.useTranslate3d?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}),{},x),s&&S&&(x=Kn({},Ht({transition:"transform ".concat(c,"ms ").concat(d)}),{},x));var w=h()(rr,(Qn(e={},"".concat(rr,"-right"),M(t)&&y&&M(y.x)&&t>=y.x),Qn(e,"".concat(rr,"-left"),M(t)&&y&&M(y.x)&&t=y.y),Qn(e,"".concat(rr,"-top"),M(n)&&y&&M(y.y)&&n0?ur()(n.updateDimensionsImmediate,e.debounce):n.updateDimensionsImmediate,n}var n,r,a;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&vr(e,t)}(t,e),n=t,(r=[{key:"componentDidMount",value:function(){this.mounted=!0;var e=this.getContainerSize();e&&this.setState(e)}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"getContainerSize",value:function(){return this.container?{containerWidth:this.container.clientWidth,containerHeight:this.container.clientHeight}:null}},{key:"renderChart",value:function(){var e=this.state,t=e.containerWidth,n=e.containerHeight;if(t<0||n<0)return null;var r=this.props,a=r.aspect,i=r.width,o=r.height,s=(r.minWidth,r.minHeight,r.maxHeight),l=r.children;N(i)||N(o);var c=N(i)?t:i,d=N(o)?n:o;return a&&a>0&&(c?d=c/a:d&&(c=d*a),s&&d>s&&(d=s)),u.a.cloneElement(l,{width:c,height:d})}},{key:"render",value:function(){var e=this,t=this.props,n=t.minWidth,r=t.minHeight,a=t.width,i=t.height,o=t.maxHeight,s=t.id,l=t.className,c={width:a,height:i,minWidth:n,minHeight:r,maxHeight:o};return u.a.createElement("div",{id:s,className:h()("recharts-responsive-container",l),style:c,ref:function(t){e.container=t}},this.renderChart(),u.a.createElement(pr.a,{handleWidth:!0,handleHeight:!0,onResize:this.handleResize}))}}])&&hr(n.prototype,r),a&&hr(n,a),t}(c.Component);br.displayName="ResponsiveContainer",br.propTypes={aspect:p.a.number,width:p.a.oneOfType([p.a.string,p.a.number]),height:p.a.oneOfType([p.a.string,p.a.number]),minHeight:p.a.oneOfType([p.a.string,p.a.number]),minWidth:p.a.oneOfType([p.a.string,p.a.number]),maxHeight:p.a.oneOfType([p.a.string,p.a.number]),children:p.a.node.isRequired,debounce:p.a.number,id:p.a.oneOfType([p.a.string,p.a.number]),className:p.a.oneOfType([p.a.string,p.a.number])},br.defaultProps={width:"100%",height:"100%",debounce:0};var _r=br;function yr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Er(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sr(){return null}Sr.propTypes=function(e){for(var t=1;tt?1:e>=t?0:NaN},Ir=function(e){var t;return 1===e.length&&(t=e,e=function(e,n){return Mr(t(e),n)}),{left:function(t,n,r,a){for(null==r&&(r=0),null==a&&(a=t.length);r>>1;e(t[i],n)<0?r=i+1:a=i}return r},right:function(t,n,r,a){for(null==r&&(r=0),null==a&&(a=t.length);r>>1;e(t[i],n)>0?a=i:r=i+1}return r}}};var kr=Ir(Mr),Dr=kr.right,Lr=(kr.left,Dr);var Pr=function(e){return null===e?NaN:+e},zr=Array.prototype,jr=(zr.slice,zr.map,function(e,t,n){e=+e,t=+t,n=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+n;for(var r=-1,a=0|Math.max(0,Math.ceil((t-e)/n)),i=new Array(a);++r0)return[e];if((r=t0)for(e=Math.ceil(e/o),t=Math.floor(t/o),i=new Array(a=Math.ceil(t-e+1));++s=0?(i>=Fr?10:i>=Hr?5:i>=Br?2:1)*Math.pow(10,a):-Math.pow(10,-a)/(i>=Fr?10:i>=Hr?5:i>=Br?2:1)}function Gr(e,t,n){var r=Math.abs(t-e)/Math.max(0,n),a=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),i=r/a;return i>=Fr?a*=10:i>=Hr?a*=5:i>=Br&&(a*=2),t=1)return+n(e[r-1],r-1,e);var r,a=(r-1)*t,i=Math.floor(a),o=+n(e[i],i,e);return o+(+n(e[i+1],i+1,e)-o)*(a-i)}};function Wr(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function qr(e,t){switch(arguments.length){case 0:break;case 1:this.interpolator(e);break;default:this.interpolator(t).domain(e)}return this}function $r(){}function Xr(e,t){var n=new $r;if(e instanceof $r)e.each((function(e,t){n.set(t,e)}));else if(Array.isArray(e)){var r,a=-1,i=e.length;if(null==t)for(;++a>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Ca(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Ca(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=ma.exec(e))?new Ra(t[1],t[2],t[3],1):(t=ga.exec(e))?new Ra(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=va.exec(e))?Ca(t[1],t[2],t[3],t[4]):(t=ba.exec(e))?Ca(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=_a.exec(e))?ka(t[1],t[2]/100,t[3]/100,1):(t=ya.exec(e))?ka(t[1],t[2]/100,t[3]/100,t[4]):Ea.hasOwnProperty(e)?Ta(Ea[e]):"transparent"===e?new Ra(NaN,NaN,NaN,0):null}function Ta(e){return new Ra(e>>16&255,e>>8&255,255&e,1)}function Ca(e,t,n,r){return r<=0&&(e=t=n=NaN),new Ra(e,t,n,r)}function wa(e){return e instanceof ua||(e=Oa(e)),e?new Ra((e=e.rgb()).r,e.g,e.b,e.opacity):new Ra}function Aa(e,t,n,r){return 1===arguments.length?wa(e):new Ra(e,t,n,null==r?1:r)}function Ra(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function Na(){return"#"+Ia(this.r)+Ia(this.g)+Ia(this.b)}function Ma(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function Ia(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function ka(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new La(e,t,n,r)}function Da(e){if(e instanceof La)return new La(e.h,e.s,e.l,e.opacity);if(e instanceof ua||(e=Oa(e)),!e)return new La;if(e instanceof La)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),i=Math.max(t,n,r),o=NaN,s=i-a,l=(i+a)/2;return s?(o=t===i?(n-r)/s+6*(n0&&l<1?0:o,new La(o,s,l,e.opacity)}function La(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function Pa(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function za(e,t,n,r,a){var i=e*e,o=i*e;return((1-3*e+3*i-o)*t+(4-6*i+3*o)*n+(1+3*e+3*i-3*o)*r+o*a)/6}la(ua,Oa,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:Sa,formatHex:Sa,formatHsl:function(){return Da(this).formatHsl()},formatRgb:xa,toString:xa}),la(Ra,Aa,ca(ua,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new Ra(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new Ra(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Na,formatHex:Na,formatRgb:Ma,toString:Ma})),la(La,(function(e,t,n,r){return 1===arguments.length?Da(e):new La(e,t,n,null==r?1:r)}),ca(ua,{brighter:function(e){return e=null==e?1/.7:Math.pow(1/.7,e),new La(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new La(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,a=2*n-r;return new Ra(Pa(e>=240?e-240:e+120,a,r),Pa(e,a,r),Pa(e<120?e+240:e-120,a,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===e?")":", "+e+")")}}));var ja=function(e){return function(){return e}};function Fa(e,t){return function(n){return e+n*t}}function Ha(e){return 1===(e=+e)?Ba:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):ja(isNaN(t)?n:t)}}function Ba(e,t){var n=t-e;return n?Fa(e,n):ja(isNaN(e)?t:e)}var Va=function e(t){var n=Ha(t);function r(e,t){var r=n((e=Aa(e)).r,(t=Aa(t)).r),a=n(e.g,t.g),i=n(e.b,t.b),o=Ba(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=a(t),e.b=i(t),e.opacity=o(t),e+""}}return r.gamma=e,r}(1);function Ua(e){return function(t){var n,r,a=t.length,i=new Array(a),o=new Array(a),s=new Array(a);for(n=0;n=1?(n=1,t-1):Math.floor(n*t),a=e[r],i=e[r+1],o=r>0?e[r-1]:2*a-i,s=ri&&(a=t.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,l.push({i:o,x:$a(n,r)})),i=Qa.lastIndex;return ir&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function oi(e,t,n){var r=e[0],a=e[1],i=t[0],o=t[1];return a2?si:oi,a=i=null,d}function d(t){return isNaN(t=+t)?n:(a||(a=r(o.map(e),s,l)))(e(c(t)))}return d.invert=function(n){return c(t((i||(i=r(s,o.map(e),$a)))(n)))},d.domain=function(e){return arguments.length?(o=ta.call(e,ti),c===ri||(c=ii(o)),u()):o.slice()},d.range=function(e){return arguments.length?(s=na.call(e),u()):s.slice()},d.rangeRound=function(e){return s=na.call(e),l=ei,u()},d.clamp=function(e){return arguments.length?(c=e?ii(o):ri,d):c!==ri},d.interpolate=function(e){return arguments.length?(l=e,u()):l},d.unknown=function(e){return arguments.length?(n=e,d):n},function(n,r){return e=n,t=r,u()}}function ui(e,t){return ci()(e,t)}var di=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function pi(e){if(!(t=di.exec(e)))throw new Error("invalid format: "+e);var t;return new fi({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function fi(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}pi.prototype=fi.prototype,fi.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};function hi(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}var mi,gi,vi,bi,_i=function(e){return(e=hi(Math.abs(e)))?e[1]:NaN},yi=function(e,t){var n=hi(e,t);if(!n)return e+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")},Ei={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return yi(100*e,t)},r:yi,s:function(e,t){var n=hi(e,t);if(!n)return e+"";var r=n[0],a=n[1],i=a-(mi=3*Math.max(-8,Math.min(8,Math.floor(a/3))))+1,o=r.length;return i===o?r:i>o?r+new Array(i-o+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+hi(e,Math.max(0,t+i-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}},Si=function(e){return e},xi=Array.prototype.map,Oi=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];gi=function(e){var t,n,r=void 0===e.grouping||void 0===e.thousands?Si:(t=xi.call(e.grouping,Number),n=e.thousands+"",function(e,r){for(var a=e.length,i=[],o=0,s=t[0],l=0;a>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),i.push(e.substring(a-=s,a+s)),!((l+=s+1)>r));)s=t[o=(o+1)%t.length];return i.reverse().join(n)}),a=void 0===e.currency?"":e.currency[0]+"",i=void 0===e.currency?"":e.currency[1]+"",o=void 0===e.decimal?".":e.decimal+"",s=void 0===e.numerals?Si:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(xi.call(e.numerals,String)),l=void 0===e.percent?"%":e.percent+"",c=void 0===e.minus?"-":e.minus+"",u=void 0===e.nan?"NaN":e.nan+"";function d(e){var t=(e=pi(e)).fill,n=e.align,d=e.sign,p=e.symbol,f=e.zero,h=e.width,m=e.comma,g=e.precision,v=e.trim,b=e.type;"n"===b?(m=!0,b="g"):Ei[b]||(void 0===g&&(g=12),v=!0,b="g"),(f||"0"===t&&"="===n)&&(f=!0,t="0",n="=");var _="$"===p?a:"#"===p&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",y="$"===p?i:/[%p]/.test(b)?l:"",E=Ei[b],S=/[defgprs%]/.test(b);function x(e){var a,i,l,p=_,x=y;if("c"===b)x=E(e)+x,e="";else{var O=(e=+e)<0||1/e<0;if(e=isNaN(e)?u:E(Math.abs(e),g),v&&(e=function(e){e:for(var t,n=e.length,r=1,a=-1;r0&&(a=0)}return a>0?e.slice(0,a)+e.slice(t+1):e}(e)),O&&0===+e&&"+"!==d&&(O=!1),p=(O?"("===d?d:c:"-"===d||"("===d?"":d)+p,x=("s"===b?Oi[8+mi/3]:"")+x+(O&&"("===d?")":""),S)for(a=-1,i=e.length;++a(l=e.charCodeAt(a))||l>57){x=(46===l?o+e.slice(a+1):e.slice(a))+x,e=e.slice(0,a);break}}m&&!f&&(e=r(e,1/0));var T=p.length+e.length+x.length,C=T>1)+p+e+x+C.slice(T);break;default:e=C+p+e+x}return s(e)}return g=void 0===g?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),x.toString=function(){return e+""},x}return{format:d,formatPrefix:function(e,t){var n=d(((e=pi(e)).type="f",e)),r=3*Math.max(-8,Math.min(8,Math.floor(_i(t)/3))),a=Math.pow(10,-r),i=Oi[8+r/3];return function(e){return n(a*e)+i}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),vi=gi.format,bi=gi.formatPrefix;var Ti=function(e,t,n,r){var a,i=Gr(e,t,n);switch((r=pi(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN(a=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(_i(t)/3)))-_i(Math.abs(e)))}(i,o))||(r.precision=a),bi(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(a=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,_i(t)-_i(e))+1}(i,Math.max(Math.abs(e),Math.abs(t))))||(r.precision=a-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(a=function(e){return Math.max(0,-_i(Math.abs(e)))}(i))||(r.precision=a-2*("%"===r.type))}return vi(r)};function Ci(e){var t=e.domain;return e.ticks=function(e){var n=t();return Vr(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var r=t();return Ti(r[0],r[r.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var r,a=t(),i=0,o=a.length-1,s=a[i],l=a[o];return l0?r=Ur(s=Math.floor(s/r)*r,l=Math.ceil(l/r)*r,n):r<0&&(r=Ur(s=Math.ceil(s*r)/r,l=Math.floor(l*r)/r,n)),r>0?(a[i]=Math.floor(s/r)*r,a[o]=Math.ceil(l/r)*r,t(a)):r<0&&(a[i]=Math.ceil(s*r)/r,a[o]=Math.floor(l*r)/r,t(a)),e},e}function wi(){var e=ui(ri,ri);return e.copy=function(){return li(e,wi())},Wr.apply(e,arguments),Ci(e)}function Ai(e){var t;function n(e){return isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=ta.call(t,ti),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Ai(e).unknown(t)},e=arguments.length?ta.call(e,ti):[0,1],Ci(n)}var Ri=function(e,t){var n,r=0,a=(e=e.slice()).length-1,i=e[r],o=e[a];return o0){for(;pl)break;m.push(d)}}else for(;p=1;--u)if(!((d=c*u)l)break;m.push(d)}}else m=Vr(p,f,Math.min(f-p,h)).map(n);return r?m.reverse():m},r.tickFormat=function(e,a){if(null==a&&(a=10===i?".0e":","),"function"!==typeof a&&(a=vi(a)),e===1/0)return a;null==e&&(e=10);var o=Math.max(1,i*e/r.ticks().length);return function(e){var r=e/n(Math.round(t(e)));return r*i0?r[a-1]:t[0],a=r?[a[r-1],n]:[a[o-1],a[o]]},o.unknown=function(t){return arguments.length?(e=t,o):o},o.thresholds=function(){return a.slice()},o.copy=function(){return Xi().domain([t,n]).range(i).unknown(e)},Wr.apply(Ci(o),arguments)}function Ki(){var e,t=[.5],n=[0,1],r=1;function a(a){return a<=a?n[Lr(t,a,0,r)]:e}return a.domain=function(e){return arguments.length?(t=na.call(e),r=Math.min(t.length,n.length-1),a):t.slice()},a.range=function(e){return arguments.length?(n=na.call(e),r=Math.min(t.length,n.length-1),a):n.slice()},a.invertExtent=function(e){var r=n.indexOf(e);return[t[r-1],t[r]]},a.unknown=function(t){return arguments.length?(e=t,a):e},a.copy=function(){return Ki().domain(t).range(n).unknown(e)},Wr.apply(a,arguments)}var Qi=new Date,Zi=new Date;function Ji(e,t,n,r){function a(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return a.floor=function(t){return e(t=new Date(+t)),t},a.ceil=function(n){return e(n=new Date(n-1)),t(n,1),e(n),n},a.round=function(e){var t=a(e),n=a.ceil(e);return e-t0))return s;do{s.push(o=new Date(+n)),t(n,i),e(n)}while(o=t)for(;e(t),!n(t);)t.setTime(t-1)}),(function(e,r){if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}))},n&&(a.count=function(t,r){return Qi.setTime(+t),Zi.setTime(+r),e(Qi),e(Zi),Math.floor(n(Qi,Zi))},a.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?a.filter(r?function(t){return r(t)%e===0}:function(t){return a.count(0,t)%e===0}):a:null}),a}var eo=Ji((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));eo.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Ji((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n*e)})):null};var to=eo,no=(eo.range,Ji((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}))),ro=no;no.range;function ao(e){return Ji((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/6048e5}))}var io=ao(0),oo=ao(1),so=ao(2),lo=ao(3),co=ao(4),uo=ao(5),po=ao(6),fo=(io.range,oo.range,so.range,lo.range,co.range,uo.range,po.range,Ji((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5}),(function(e){return e.getDate()-1}))),ho=fo,mo=(fo.range,Ji((function(e){e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds()-6e4*e.getMinutes())}),(function(e,t){e.setTime(+e+36e5*t)}),(function(e,t){return(t-e)/36e5}),(function(e){return e.getHours()}))),go=mo,vo=(mo.range,Ji((function(e){e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds())}),(function(e,t){e.setTime(+e+6e4*t)}),(function(e,t){return(t-e)/6e4}),(function(e){return e.getMinutes()}))),bo=vo,_o=(vo.range,Ji((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+1e3*t)}),(function(e,t){return(t-e)/1e3}),(function(e){return e.getUTCSeconds()}))),yo=_o,Eo=(_o.range,Ji((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e})));Eo.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?Ji((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,n){t.setTime(+t+n*e)}),(function(t,n){return(n-t)/e})):Eo:null};var So=Eo;Eo.range;function xo(e){return Ji((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/6048e5}))}var Oo=xo(0),To=xo(1),Co=xo(2),wo=xo(3),Ao=xo(4),Ro=xo(5),No=xo(6),Mo=(Oo.range,To.range,Co.range,wo.range,Ao.range,Ro.range,No.range,Ji((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/864e5}),(function(e){return e.getUTCDate()-1}))),Io=Mo,ko=(Mo.range,Ji((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()})));ko.every=function(e){return isFinite(e=Math.floor(e))&&e>0?Ji((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)})):null};var Do=ko;ko.range;function Lo(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Po(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function zo(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}var jo,Fo,Ho,Bo={"-":"",_:" ",0:"0"},Vo=/^\s*\d+/,Uo=/^%/,Go=/[\\^$*+?|[\]().{}]/g;function Yo(e,t,n){var r=e<0?"-":"",a=(r?-e:e)+"",i=a.length;return r+(i68?1900:2e3),n+r[0].length):-1}function ns(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function rs(e,t,n){var r=Vo.exec(t.slice(n,n+1));return r?(e.q=3*r[0]-3,n+r[0].length):-1}function as(e,t,n){var r=Vo.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function is(e,t,n){var r=Vo.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function os(e,t,n){var r=Vo.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function ss(e,t,n){var r=Vo.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function ls(e,t,n){var r=Vo.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function cs(e,t,n){var r=Vo.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function us(e,t,n){var r=Vo.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function ds(e,t,n){var r=Vo.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function ps(e,t,n){var r=Uo.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function fs(e,t,n){var r=Vo.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function hs(e,t,n){var r=Vo.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function ms(e,t){return Yo(e.getDate(),t,2)}function gs(e,t){return Yo(e.getHours(),t,2)}function vs(e,t){return Yo(e.getHours()%12||12,t,2)}function bs(e,t){return Yo(1+ho.count(to(e),e),t,3)}function _s(e,t){return Yo(e.getMilliseconds(),t,3)}function ys(e,t){return _s(e,t)+"000"}function Es(e,t){return Yo(e.getMonth()+1,t,2)}function Ss(e,t){return Yo(e.getMinutes(),t,2)}function xs(e,t){return Yo(e.getSeconds(),t,2)}function Os(e){var t=e.getDay();return 0===t?7:t}function Ts(e,t){return Yo(io.count(to(e)-1,e),t,2)}function Cs(e){var t=e.getDay();return t>=4||0===t?co(e):co.ceil(e)}function ws(e,t){return e=Cs(e),Yo(co.count(to(e),e)+(4===to(e).getDay()),t,2)}function As(e){return e.getDay()}function Rs(e,t){return Yo(oo.count(to(e)-1,e),t,2)}function Ns(e,t){return Yo(e.getFullYear()%100,t,2)}function Ms(e,t){return Yo((e=Cs(e)).getFullYear()%100,t,2)}function Is(e,t){return Yo(e.getFullYear()%1e4,t,4)}function ks(e,t){var n=e.getDay();return Yo((e=n>=4||0===n?co(e):co.ceil(e)).getFullYear()%1e4,t,4)}function Ds(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Yo(t/60|0,"0",2)+Yo(t%60,"0",2)}function Ls(e,t){return Yo(e.getUTCDate(),t,2)}function Ps(e,t){return Yo(e.getUTCHours(),t,2)}function zs(e,t){return Yo(e.getUTCHours()%12||12,t,2)}function js(e,t){return Yo(1+Io.count(Do(e),e),t,3)}function Fs(e,t){return Yo(e.getUTCMilliseconds(),t,3)}function Hs(e,t){return Fs(e,t)+"000"}function Bs(e,t){return Yo(e.getUTCMonth()+1,t,2)}function Vs(e,t){return Yo(e.getUTCMinutes(),t,2)}function Us(e,t){return Yo(e.getUTCSeconds(),t,2)}function Gs(e){var t=e.getUTCDay();return 0===t?7:t}function Ys(e,t){return Yo(Oo.count(Do(e)-1,e),t,2)}function Ws(e){var t=e.getUTCDay();return t>=4||0===t?Ao(e):Ao.ceil(e)}function qs(e,t){return e=Ws(e),Yo(Ao.count(Do(e),e)+(4===Do(e).getUTCDay()),t,2)}function $s(e){return e.getUTCDay()}function Xs(e,t){return Yo(To.count(Do(e)-1,e),t,2)}function Ks(e,t){return Yo(e.getUTCFullYear()%100,t,2)}function Qs(e,t){return Yo((e=Ws(e)).getUTCFullYear()%100,t,2)}function Zs(e,t){return Yo(e.getUTCFullYear()%1e4,t,4)}function Js(e,t){var n=e.getUTCDay();return Yo((e=n>=4||0===n?Ao(e):Ao.ceil(e)).getUTCFullYear()%1e4,t,4)}function el(){return"+0000"}function tl(){return"%"}function nl(e){return+e}function rl(e){return Math.floor(+e/1e3)}!function(e){jo=function(e){var t=e.dateTime,n=e.date,r=e.time,a=e.periods,i=e.days,o=e.shortDays,s=e.months,l=e.shortMonths,c=qo(a),u=$o(a),d=qo(i),p=$o(i),f=qo(o),h=$o(o),m=qo(s),g=$o(s),v=qo(l),b=$o(l),_={a:function(e){return o[e.getDay()]},A:function(e){return i[e.getDay()]},b:function(e){return l[e.getMonth()]},B:function(e){return s[e.getMonth()]},c:null,d:ms,e:ms,f:ys,g:Ms,G:ks,H:gs,I:vs,j:bs,L:_s,m:Es,M:Ss,p:function(e){return a[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:nl,s:rl,S:xs,u:Os,U:Ts,V:ws,w:As,W:Rs,x:null,X:null,y:Ns,Y:Is,Z:Ds,"%":tl},y={a:function(e){return o[e.getUTCDay()]},A:function(e){return i[e.getUTCDay()]},b:function(e){return l[e.getUTCMonth()]},B:function(e){return s[e.getUTCMonth()]},c:null,d:Ls,e:Ls,f:Hs,g:Qs,G:Js,H:Ps,I:zs,j:js,L:Fs,m:Bs,M:Vs,p:function(e){return a[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:nl,s:rl,S:Us,u:Gs,U:Ys,V:qs,w:$s,W:Xs,x:null,X:null,y:Ks,Y:Zs,Z:el,"%":tl},E={a:function(e,t,n){var r=f.exec(t.slice(n));return r?(e.w=h[r[0].toLowerCase()],n+r[0].length):-1},A:function(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=p[r[0].toLowerCase()],n+r[0].length):-1},b:function(e,t,n){var r=v.exec(t.slice(n));return r?(e.m=b[r[0].toLowerCase()],n+r[0].length):-1},B:function(e,t,n){var r=m.exec(t.slice(n));return r?(e.m=g[r[0].toLowerCase()],n+r[0].length):-1},c:function(e,n,r){return O(e,t,n,r)},d:is,e:is,f:ds,g:ts,G:es,H:ss,I:ss,j:os,L:us,m:as,M:ls,p:function(e,t,n){var r=c.exec(t.slice(n));return r?(e.p=u[r[0].toLowerCase()],n+r[0].length):-1},q:rs,Q:fs,s:hs,S:cs,u:Ko,U:Qo,V:Zo,w:Xo,W:Jo,x:function(e,t,r){return O(e,n,t,r)},X:function(e,t,n){return O(e,r,t,n)},y:ts,Y:es,Z:ns,"%":ps};function S(e,t){return function(n){var r,a,i,o=[],s=-1,l=0,c=e.length;for(n instanceof Date||(n=new Date(+n));++s53)return null;"w"in i||(i.w=1),"Z"in i?(a=(r=Po(zo(i.y,0,1))).getUTCDay(),r=a>4||0===a?To.ceil(r):To(r),r=Io.offset(r,7*(i.V-1)),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(a=(r=Lo(zo(i.y,0,1))).getDay(),r=a>4||0===a?oo.ceil(r):oo(r),r=ho.offset(r,7*(i.V-1)),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),a="Z"in i?Po(zo(i.y,0,1)).getUTCDay():Lo(zo(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(a+5)%7:i.w+7*i.U-(a+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,Po(i)):Lo(i)}}function O(e,t,n,r){for(var a,i,o=0,s=t.length,l=n.length;o=l)return-1;if(37===(a=t.charCodeAt(o++))){if(a=t.charAt(o++),!(i=E[a in Bo?t.charAt(o++):a])||(r=i(e,n,r))<0)return-1}else if(a!=n.charCodeAt(r++))return-1}return r}return _.x=S(n,_),_.X=S(r,_),_.c=S(t,_),y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),{format:function(e){var t=S(e+="",_);return t.toString=function(){return e},t},parse:function(e){var t=x(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+="",y);return t.toString=function(){return e},t},utcParse:function(e){var t=x(e+="",!0);return t.toString=function(){return e},t}}}(e),Fo=jo.format,jo.parse,Ho=jo.utcFormat,jo.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function al(e){return new Date(e)}function il(e){return e instanceof Date?+e:+new Date(+e)}function ol(e,t,n,r,a,i,o,s,l){var c=ui(ri,ri),u=c.invert,d=c.domain,p=l(".%L"),f=l(":%S"),h=l("%I:%M"),m=l("%I %p"),g=l("%a %d"),v=l("%b %d"),b=l("%B"),_=l("%Y"),y=[[o,1,1e3],[o,5,5e3],[o,15,15e3],[o,30,3e4],[i,1,6e4],[i,5,3e5],[i,15,9e5],[i,30,18e5],[a,1,36e5],[a,3,108e5],[a,6,216e5],[a,12,432e5],[r,1,864e5],[r,2,1728e5],[n,1,6048e5],[t,1,2592e6],[t,3,7776e6],[e,1,31536e6]];function E(s){return(o(s)1)for(var n,r,a,i=1,o=e[t[0]],s=o.length;i=0;)n[t]=t;return n};function Il(e,t){return e[t]}function kl(){return(kl=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Ll={className:p.a.string,children:p.a.oneOfType([p.a.arrayOf(p.a.node),p.a.node])};function Pl(e){var t=e.children,n=e.className,r=Dl(e,["children","className"]),a=h()("recharts-layer",n);return u.a.createElement("g",kl({className:a},r),t)}Pl.propTypes=Ll;var zl=Pl;function jl(e){return(jl="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fl(){return(Fl=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function Vl(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ul(e,t){for(var n=0;n=0}));if(i&&i.length){var o=i.map((function(e){return e.props.dataKey}));return e.reduce((function(e,t){var r=Jl(t,n,0),a=S()(r)?[wr()(r),Tr()(r)]:[r,r],i=o.reduce((function(e,n){var r=Jl(t,n,0),i=a[0]-Math.abs(S()(r)?r[0]:r),o=a[1]+Math.abs(S()(r)?r[1]:r);return[Math.min(i,e[0]),Math.max(o,e[1])]}),[1/0,-1/0]);return[Math.min(i[0],e[0]),Math.max(i[1],e[1])]}),[1/0,-1/0])}return null},ac=function(e,t,n,r){var a=t.map((function(t){var a=t.props.dataKey;return"number"===n&&a&&rc(e,t,a)||ec(e,a,n,r)}));if("number"===n)return a.reduce((function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}),[1/0,-1/0]);var i={};return a.reduce((function(e,t){for(var n=0,r=t.length;n=0||t.indexOf("AreaChart")>=0)?{scale:sa(),realScaleType:"point"}:"category"===a?{scale:ia(),realScaleType:"band"}:{scale:wi(),realScaleType:"linear"};if(b()(n)){var l="scale".concat(n.slice(0,1).toUpperCase()).concat(n.slice(1));return{scale:(r[l]||sa)(),realScaleType:r[l]?l:"point"}}return o()(n)?{scale:n}:{scale:sa(),realScaleType:"point"}},uc=function(e){var t=e.domain();if(t&&!(t.length<=2)){var n=t.length,r=e.range(),a=Math.min(r[0],r[1])-1e-4,i=Math.max(r[0],r[1])+1e-4,o=e(t[0]),s=e(t[n-1]);(oi||si)&&e.domain([t[0],t[n-1]])}},dc={sign:function(e){var t=e.length;if(!(t<=0))for(var n=0,r=e[0].length;n=0?(e[o][n][0]=a,e[o][n][1]=a+s,a=e[o][n][1]):(e[o][n][0]=i,e[o][n][1]=i+s,i=e[o][n][1])}},expand:function(e,t){if((r=e.length)>0){for(var n,r,a,i=0,o=e[0].length;i0){for(var n,r=0,a=e[t[0]],i=a.length;r0&&(r=(n=e[t[0]]).length)>0){for(var n,r,a,i=0,o=1;o=2){for(var n=Dn()(t,(function(e){return e.coordinate})),r=1/0,a=1,i=n.length;a2&&void 0!==arguments[2]?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(e-(n.left||0)-(n.right||0)),Math.abs(t-(n.top||0)-(n.bottom||0)))/2},Nc=function(e,t){var n=e.x,r=e.y,a=t.cx,i=t.cy,o=function(e,t){var n=e.x,r=e.y,a=t.x,i=t.y;return Math.sqrt(Math.pow(n-a,2)+Math.pow(r-i,2))}({x:n,y:r},{x:a,y:i});if(o<=0)return{radius:o};var s=(n-a)/o,l=Math.acos(s);return r>i&&(l=2*Math.PI-l),{radius:o,angle:wc(l),angleInRadian:l}},Mc=function(e,t){var n=t.startAngle,r=t.endAngle,a=Math.floor(n/360),i=Math.floor(r/360);return e+360*Math.min(a,i)},Ic=function(e,t){var n=e.x,r=e.y,a=Nc({x:n,y:r},t),i=a.radius,o=a.angle,s=t.innerRadius,l=t.outerRadius;if(il)return!1;if(0===i)return!0;var c,u=function(e){var t=e.startAngle,n=e.endAngle,r=Math.floor(t/360),a=Math.floor(n/360),i=Math.min(r,a);return{startAngle:t-360*i,endAngle:n-360*i}}(t),d=u.startAngle,p=u.endAngle,f=o;if(d<=p){for(;f>p;)f-=360;for(;f=d&&f<=p}else{for(;f>d;)f-=360;for(;f=p&&f<=d}return c?xc({},t,{radius:i,angle:Mc(f,t)}):null};function kc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lc(e){return(Lc="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pc(){return(Pc=Object.assign||function(e){for(var t=1;t180),",").concat(+(i>s),",\n ").concat(c.x,",").concat(c.y,"\n ");if(r>0){var d=Ac(t,n,r,i),p=Ac(t,n,r,s);u+="L ".concat(p.x,",").concat(p.y,"\n A ").concat(r,",").concat(r,",0,\n ").concat(+(Math.abs(o)>180),",").concat(+(i<=s),",\n ").concat(d.x,",").concat(d.y," Z")}else u+="L ".concat(t,",").concat(n," Z");return u},Gc=function(e){function t(){return zc(this,t),Fc(this,Hc(t).apply(this,arguments))}var n,r,a;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Bc(e,t)}(t,e),n=t,(r=[{key:"render",value:function(){var e=this.props,t=e.cx,n=e.cy,r=e.innerRadius,a=e.outerRadius,i=e.cornerRadius,o=e.forceCornerRadius,s=e.cornerIsExternal,l=e.startAngle,c=e.endAngle,d=e.className;if(a0&&Math.abs(l-c)<360?function(e){var t=e.cx,n=e.cy,r=e.innerRadius,a=e.outerRadius,i=e.cornerRadius,o=e.forceCornerRadius,s=e.cornerIsExternal,l=e.startAngle,c=e.endAngle,u=R(c-l),d=Vc({cx:t,cy:n,radius:a,angle:l,sign:u,cornerRadius:i,cornerIsExternal:s}),p=d.circleTangency,f=d.lineTangency,h=d.theta,m=Vc({cx:t,cy:n,radius:a,angle:c,sign:-u,cornerRadius:i,cornerIsExternal:s}),g=m.circleTangency,v=m.lineTangency,b=m.theta,_=Math.abs(l-c)-h-b;if(_<0)return o?"M ".concat(f.x,",").concat(f.y,"\n a").concat(i,",").concat(i,",0,0,1,").concat(2*i,",0\n a").concat(i,",").concat(i,",0,0,1,").concat(2*-i,",0\n "):Uc({cx:t,cy:n,innerRadius:r,outerRadius:a,startAngle:l,endAngle:c});var y="M ".concat(f.x,",").concat(f.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(u<0),",").concat(p.x,",").concat(p.y,"\n A").concat(a,",").concat(a,",0,").concat(+(_>180),",").concat(+(u<0),",").concat(g.x,",").concat(g.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(u<0),",").concat(v.x,",").concat(v.y,"\n ");if(r>0){var E=Vc({cx:t,cy:n,radius:r,angle:l,sign:u,isExternal:!0,cornerRadius:i,cornerIsExternal:s}),S=E.circleTangency,x=E.lineTangency,O=E.theta,T=Vc({cx:t,cy:n,radius:r,angle:c,sign:-u,isExternal:!0,cornerRadius:i,cornerIsExternal:s}),C=T.circleTangency,w=T.lineTangency,A=T.theta,N=Math.abs(l-c)-O-A;if(N<0)return"".concat(y,"L").concat(t,",").concat(n,"Z");y+="L".concat(w.x,",").concat(w.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(u<0),",").concat(C.x,",").concat(C.y,"\n A").concat(r,",").concat(r,",0,").concat(+(N>180),",").concat(+(u>0),",").concat(S.x,",").concat(S.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(u<0),",").concat(x.x,",").concat(x.y,"Z")}else y+="L".concat(t,",").concat(n,"Z");return y}({cx:t,cy:n,innerRadius:r,outerRadius:a,cornerRadius:Math.min(g,m/2),forceCornerRadius:o,cornerIsExternal:s,startAngle:l,endAngle:c}):Uc({cx:t,cy:n,innerRadius:r,outerRadius:a,startAngle:l,endAngle:c}),u.a.createElement("path",Pc({},Q(this.props),J(this.props),{className:f,d:p}))}}])&&jc(n.prototype,r),a&&jc(n,a),t}(c.PureComponent);Gc.displayName="Sector",Gc.propTypes=function(e){for(var t=1;t=0;--t)a[t]=(o[t]-a[t+1])/i[t];for(i[r-1]=(e[r]+a[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function pu(e){return e[0]}function fu(e){return e[1]}var hu=function(){var e=pu,t=fu,n=je(!0),r=null,a=tu,i=null;function o(o){var s,l,c,u=o.length,d=!1;for(null==r&&(i=a(c=ze())),s=0;s<=u;++s)!(s=u;--d)s.point(g[d],v[d]);s.lineEnd(),s.areaEnd()}m&&(g[c]=+e(p,c,l),v[c]=+n(p,c,l),s.point(t?+t(p,c,l):g[c],r?+r(p,c,l):v[c]))}if(f)return s=null,f+""||null}function c(){return hu().defined(a).curve(o).context(i)}return l.x=function(n){return arguments.length?(e="function"===typeof n?n:je(+n),t=null,l):e},l.x0=function(t){return arguments.length?(e="function"===typeof t?t:je(+t),l):e},l.x1=function(e){return arguments.length?(t=null==e?null:"function"===typeof e?e:je(+e),l):t},l.y=function(e){return arguments.length?(n="function"===typeof e?e:je(+e),r=null,l):n},l.y0=function(e){return arguments.length?(n="function"===typeof e?e:je(+e),l):n},l.y1=function(e){return arguments.length?(r=null==e?null:"function"===typeof e?e:je(+e),l):r},l.lineX0=l.lineY0=function(){return c().x(e).y(n)},l.lineY1=function(){return c().x(e).y(r)},l.lineX1=function(){return c().x(t).y(n)},l.defined=function(e){return arguments.length?(a="function"===typeof e?e:je(!!e),l):a},l.curve=function(e){return arguments.length?(o=e,null!=i&&(s=o(i)),l):o},l.context=function(e){return arguments.length?(null==e?i=s=null:s=o(i=e),l):i},l};function gu(e){return(gu="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function vu(){return(vu=Object.assign||function(e){for(var t=1;t=0&&a===+a?"".concat(a,"px"):a),";");var r,a,i}),"")},Vu=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e||null===e||re())return{width:0,height:0};var n="".concat(e),r=Bu(t),a="".concat(n,"-").concat(r);if(ju.widthCache[a])return ju.widthCache[a];try{var i=document.getElementById("recharts_measurement_span");i||((i=document.createElement("span")).setAttribute("id","recharts_measurement_span"),document.body.appendChild(i));var o=Lu({},Fu,{},t);Object.keys(o).map((function(e){return i.style[e]=o[e],e})),i.textContent=n;var s=i.getBoundingClientRect(),l={width:s.width,height:s.height};return ju.widthCache[a]=l,++ju.cacheCount>2e3&&(ju.cacheCount=0,ju.widthCache={}),l}catch(c){return{width:0,height:0}}};function Uu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yu(e){return(Yu="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Wu(){return(Wu=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function $u(e,t){for(var n=0;n=0?1:-1;"insideStart"===i?(r=m+E*s,a=b):"insideEnd"===i?(r=v-E*s,a=!b):"end"===i&&(r=v+E*s,a=b),a=y<=0?a:!a;var S=Ac(c,d,_,r),x=Ac(c,d,_,r+359*(a?1:-1)),O="M".concat(S.x,",").concat(S.y,"\n A").concat(_,",").concat(_,",0,1,").concat(a?0:1,",\n ").concat(x.x,",").concat(x.y),T=g()(e.id)?D("recharts-radial-line-"):e.id;return u.a.createElement("text",nd({},n,{dominantBaseline:"central",className:h()("recharts-radial-bar-label",l)}),u.a.createElement("defs",null,u.a.createElement("path",{id:T,d:O})),u.a.createElement("textPath",{xlinkHref:"#".concat(T)},t))};function cd(e){var t,n=e.viewBox,r=e.position,a=e.value,i=e.children,s=e.content,l=e.className,d=void 0===l?"":l;if(!n||g()(a)&&g()(i)&&!Object(c.isValidElement)(s)&&!o()(s))return null;if(Object(c.isValidElement)(s))return Object(c.cloneElement)(s,e);if(o()(s)){if(t=s(e),Object(c.isValidElement)(t))return t}else t=function(e){var t=e.value,n=e.formatter,r=g()(e.children)?t:e.children;return o()(n)?n(r):r}(e);var p=function(e){return M(e.cx)}(n),f=Q(e),m=J(e);if(p&&("insideStart"===r||"insideEnd"===r||"end"===r))return ld(e,t,f);var v=p?function(e){var t=e.viewBox,n=e.offset,r=e.position,a=t.cx,i=t.cy,o=t.innerRadius,s=t.outerRadius,l=(t.startAngle+t.endAngle)/2;if("outside"===r){var c=Ac(a,i,s+n,l),u=c.x;return{x:u,y:c.y,textAnchor:u>=a?"start":"end",verticalAnchor:"middle"}}if("center"===r)return{x:a,y:i,textAnchor:"middle",verticalAnchor:"middle"};if("centerTop"===r)return{x:a,y:i,textAnchor:"middle",verticalAnchor:"start"};if("centerBottom"===r)return{x:a,y:i,textAnchor:"middle",verticalAnchor:"end"};var d=Ac(a,i,(o+s)/2,l);return{x:d.x,y:d.y,textAnchor:"middle",verticalAnchor:"middle"}}(e):function(e){var t=e.viewBox,n=e.offset,r=e.position,a=t.x,i=t.y,o=t.width,s=t.height,l=s>=0?1:-1;return"top"===r?{x:a+o/2,y:i-l*n,textAnchor:"middle",verticalAnchor:l>0?"end":"start"}:"bottom"===r?{x:a+o/2,y:i+s+l*n,textAnchor:"middle",verticalAnchor:"start"}:"left"===r?{x:a-n,y:i+s/2,textAnchor:"end",verticalAnchor:"middle"}:"right"===r?{x:a+o+n,y:i+s/2,textAnchor:"start",verticalAnchor:"middle"}:"insideLeft"===r?{x:a+n,y:i+s/2,textAnchor:"start",verticalAnchor:"middle"}:"insideRight"===r?{x:a+o-n,y:i+s/2,textAnchor:"end",verticalAnchor:"middle"}:"insideTop"===r?{x:a+o/2,y:i+l*n,textAnchor:"middle",verticalAnchor:"start"}:"insideBottom"===r?{x:a+o/2,y:i+s-l*n,textAnchor:"middle",verticalAnchor:"end"}:"insideTopLeft"===r?{x:a+n,y:i+l*n,textAnchor:"start",verticalAnchor:"start"}:"insideTopRight"===r?{x:a+o-n,y:i+l*n,textAnchor:"end",verticalAnchor:"start"}:"insideBottomLeft"===r?{x:a+n,y:i+s-l*n,textAnchor:"start",verticalAnchor:"end"}:"insideBottomRight"===r?{x:a+o-n,y:i+s-l*n,textAnchor:"end",verticalAnchor:"end"}:y()(r)&&(M(r.x)||N(r.x))&&(M(r.y)||N(r.y))?{x:a+L(r.x,o),y:i+L(r.y,s),textAnchor:"end",verticalAnchor:"end"}:{x:a+o/2,y:i+s/2,textAnchor:"middle",verticalAnchor:"middle"}}(e);return u.a.createElement(ed,nd({className:h()("recharts-label",d)},f,v,m),t)}cd.displayName="Label",cd.defaultProps={offset:5},cd.propTypes=sd;var ud=function(e){var t=e.cx,n=e.cy,r=e.angle,a=e.startAngle,i=e.endAngle,o=e.r,s=e.radius,l=e.innerRadius,c=e.outerRadius,u=e.x,d=e.y,p=e.top,f=e.left,h=e.width,m=e.height,g=e.clockWise;if(M(h)&&M(m)){if(M(u)&&M(d))return{x:u,y:d,width:h,height:m};if(M(p)&&M(f))return{x:p,y:f,width:h,height:m}}return M(u)&&M(d)?{x:u,y:d,width:0,height:0}:M(t)&&M(n)?{cx:t,cy:n,startAngle:a||r||0,endAngle:i||r||0,innerRadius:l||0,outerRadius:c||s||o||0,clockWise:g}:e.viewBox?e.viewBox:{}},dd=function(e,t){return e?!0===e?u.a.createElement(cd,{key:"label-implicit",viewBox:t}):I(e)?u.a.createElement(cd,{key:"label-implicit",viewBox:t,value:e}):Object(c.isValidElement)(e)?e.type===cd?Object(c.cloneElement)(e,{key:"label-implicit",viewBox:t}):u.a.createElement(cd,{key:"label-implicit",content:e,viewBox:t}):o()(e)?u.a.createElement(cd,{key:"label-implicit",content:e,viewBox:t}):y()(e)?u.a.createElement(cd,nd({viewBox:t},e,{key:"label-implicit"})):null:null};cd.parseViewBox=ud,cd.renderCallByParent=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e||!e.children&&n&&!e.label)return null;var r=e.children,a=ud(e),i=X(r,cd).map((function(e,n){return Object(c.cloneElement)(e,{viewBox:t||a,key:"label-".concat(n)})}));if(!n)return i;var o=dd(e.label,t||a);return[o].concat(td(i))};var pd=cd,fd=n(516),hd=n.n(fd);function md(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var Ed={id:p.a.string,data:p.a.arrayOf(p.a.object),valueAccessor:p.a.func,clockWise:p.a.bool,dataKey:p.a.oneOfType([p.a.string,p.a.number,p.a.func])},Sd={valueAccessor:function(e){return S()(e.value)?hd()(e.value):e.value}};function xd(e){var t=e.data,n=e.valueAccessor,r=e.dataKey,a=e.clockWise,i=e.id,o=yd(e,["data","valueAccessor","dataKey","clockWise","id"]);return t&&t.length?u.a.createElement(zl,{className:"recharts-label-list"},t.map((function(e,t){var s=g()(r)?n(e,t):Jl(e&&e.payload,r),l=g()(i)?{}:{id:"".concat(i,"-").concat(t)};return u.a.createElement(pd,gd({},Q(e),o,l,{index:t,value:s,viewBox:pd.parseViewBox(g()(a)?e:bd({},e,{clockWise:a})),key:"label-".concat(t)}))}))):null}xd.propTypes=Ed,xd.displayName="LabelList";var Od=function(e,t){return e?!0===e?u.a.createElement(xd,{key:"labelList-implicit",data:t}):u.a.isValidElement(e)||o()(e)?u.a.createElement(xd,{key:"labelList-implicit",data:t,content:e}):y()(e)?u.a.createElement(xd,gd({data:t},e,{key:"labelList-implicit"})):null:null};xd.renderCallByParent=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e||!e.children&&n&&!e.label)return null;var r=e.children,a=X(r,xd).map((function(e,n){return Object(c.cloneElement)(e,{data:t,key:"labelList-".concat(n)})}));if(!n)return a;var i=Od(e.label,t);return[i].concat(md(a))},xd.defaultProps=Sd;var Td=xd;function Cd(e){return(Cd="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wd(){return(wd=Object.assign||function(e){for(var t=1;tt?"start":e0?O()(e,"paddingAngle",0):0;if(n){var s=z(n.endAngle-n.startAngle,e.endAngle-e.startAngle),c=Rd({},e,{startAngle:i+o,endAngle:i+s(r)+o});a.push(c),i=c.endAngle}else{var u=e.endAngle,d=e.startAngle,p=z(0,u-d)(r),f=Rd({},e,{startAngle:i+o,endAngle:i+p+o});a.push(f),i=f.endAngle}})),u.a.createElement(zl,null,e.renderSectorsStatically(a))}))}},{key:"renderSectors",value:function(){var e=this.props,t=e.sectors,n=e.isAnimationActive,r=this.state.prevSectors;return!(n&&t&&t.length)||r&&Ot()(r,t)?this.renderSectorsStatically(t):this.renderSectorsWithAnimation()}},{key:"render",value:function(){var e=this.props,t=e.hide,n=e.sectors,r=e.className,a=e.label,i=e.cx,o=e.cy,s=e.innerRadius,l=e.outerRadius,c=e.isAnimationActive,d=e.prevSectors;if(t||!n||!n.length||!M(i)||!M(o)||!M(s)||!M(l))return null;var p=h()("recharts-pie",r);return u.a.createElement(zl,{className:p},this.renderSectors(),a&&this.renderLabels(n),pd.renderCallByParent(this.props,null,!1),(!c||d&&Ot()(d,n))&&Td.renderCallByParent(this.props,n,!1))}}])&&Id(n.prototype,r),a&&Id(n,a),t}(c.PureComponent);Pd.displayName="Pie",Pd.propTypes=Rd({},V,{},U,{className:p.a.string,animationId:p.a.number,cx:p.a.oneOfType([p.a.number,p.a.string]),cy:p.a.oneOfType([p.a.number,p.a.string]),startAngle:p.a.number,endAngle:p.a.number,paddingAngle:p.a.number,innerRadius:p.a.oneOfType([p.a.number,p.a.string]),outerRadius:p.a.oneOfType([p.a.number,p.a.string]),cornerRadius:p.a.oneOfType([p.a.number,p.a.string]),dataKey:p.a.oneOfType([p.a.string,p.a.number,p.a.func]).isRequired,nameKey:p.a.oneOfType([p.a.string,p.a.number,p.a.func]),valueKey:p.a.oneOfType([p.a.string,p.a.number,p.a.func]),data:p.a.arrayOf(p.a.object),blendStroke:p.a.bool,minAngle:p.a.number,legendType:p.a.oneOf(W),tooltipType:p.a.oneOf(q),maxRadius:p.a.number,sectors:p.a.arrayOf(p.a.object),hide:p.a.bool,labelLine:p.a.oneOfType([p.a.object,p.a.func,p.a.element,p.a.bool]),label:p.a.oneOfType([p.a.shape({offsetRadius:p.a.number}),p.a.func,p.a.element,p.a.bool]),activeShape:p.a.oneOfType([p.a.object,p.a.func,p.a.element]),activeIndex:p.a.oneOfType([p.a.number,p.a.arrayOf(p.a.number)]),onAnimationStart:p.a.func,onAnimationEnd:p.a.func,isAnimationActive:p.a.bool,animationBegin:p.a.number,animationDuration:p.a.number,animationEasing:p.a.oneOf(["ease","ease-in","ease-out","ease-in-out","spring","linear"]),id:p.a.string}),Pd.defaultProps={stroke:"#fff",fill:"#808080",legendType:"rect",cx:"50%",cy:"50%",startAngle:0,endAngle:360,innerRadius:0,outerRadius:"80%",paddingAngle:0,labelLine:!0,hide:!1,minAngle:0,isAnimationActive:!re(),animationBegin:400,animationDuration:1500,animationEasing:"ease",nameKey:"name",blendStroke:!1},Pd.parseDeltaAngle=function(e){var t=e.startAngle,n=e.endAngle;return R(n-t)*Math.min(Math.abs(n-t),360)},Pd.getRealPieData=function(e){var t=e.props,n=t.data,r=t.children,a=Q(e.props),i=X(r,xr);return n&&n.length?n.map((function(e,t){return Rd({payload:e},a,{},e,{},i&&i[t]&&i[t].props)})):i&&i.length?i.map((function(e){return Rd({},a,{},e.props)})):[]},Pd.parseCoordinateOfPie=function(e,t){var n=t.top,r=t.left,a=t.width,i=t.height,o=Rc(a,i);return{cx:r+L(e.props.cx,a,a/2),cy:n+L(e.props.cy,i,i/2),innerRadius:L(e.props.innerRadius,o,0),outerRadius:L(e.props.outerRadius,o,.8*o),maxRadius:e.props.maxRadius||Math.sqrt(a*a+i*i)/2}},Pd.getComposedData=function(e){var t=e.item,n=e.offset,r=e.onItemMouseLeave,a=e.onItemMouseEnter,i=Pd.getRealPieData(t);if(!i||!i.length)return[];var o=t.props,s=o.cornerRadius,l=o.startAngle,c=o.endAngle,u=o.paddingAngle,d=o.dataKey,p=o.nameKey,f=o.valueKey,h=o.tooltipType,m=Math.abs(t.props.minAngle),v=Pd.parseCoordinateOfPie(t,n),b=i.length,_=Pd.parseDeltaAngle({startAngle:l,endAngle:c}),y=Math.abs(_),E=y-b*m-(y>=360?b:b-1)*u,S=d;g()(d)&&g()(f)?S="value":g()(d)&&(S=f);var x,O,T=i.reduce((function(e,t){var n=Jl(t,S,0);return e+(M(n)?n:0)}),0);T>0&&(x=i.map((function(e,t){var n,r=Jl(e,S,0),a=Jl(e,p,t),i=(M(r)?r:0)/T,o=(n=t?O.endAngle+R(_)*u:l)+R(_)*(m+i*E),c=(n+o)/2,d=(v.innerRadius+v.outerRadius)/2,f=[{name:a,value:r,payload:e,dataKey:S,type:h}],g=Ac(v.cx,v.cy,d,c);return O=Rd({percent:i,cornerRadius:s,name:a,tooltipPayload:f,midAngle:c,middleRadius:d,tooltipPosition:g},e,{},v,{value:Jl(e,S),startAngle:n,endAngle:o,payload:e,paddingAngle:R(_)*u})})));return Rd({},v,{sectors:x,data:i,onMouseLeave:r,onMouseEnter:a})};var zd=Pd;function jd(e){return(jd="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fd(){return(Fd=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function Bd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vd(e){for(var t=1;ti){s=[].concat(dp(n.slice(0,l)),[i-c]);break}var u=s.length%2===0?[0,o]:[o];return[].concat(dp(this.constructor.repeat(n,a)),dp(s),u).map((function(e){return"".concat(e,"px")})).join(", ")}},{key:"renderErrorBar",value:function(){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var e=this.props,t=e.points,n=e.xAxis,r=e.yAxis,a=e.layout,i=e.children,o=X(i,$l);if(!o)return null;function s(e,t){return{x:e.x,y:e.y,value:e.value,errorVal:Jl(e.payload,t)}}return o.map((function(e,i){return u.a.cloneElement(e,{key:i,data:t,xAxis:n,yAxis:r,layout:a,dataPointFormatter:s})}))}},{key:"renderDots",value:function(e,t){var n=this;if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var r=this.props,a=r.dot,i=r.points,o=r.dataKey,s=Q(this.props),l=Q(a),c=J(a),d=i.map((function(e,t){var r=cp({key:"dot-".concat(t),r:3},s,{},l,{},c,{value:e.value,dataKey:o,cx:e.x,cy:e.y,index:t,payload:e.payload});return n.constructor.renderDotItem(a,r)})),p={clipPath:e?"url(#clipPath-".concat(t,")"):null};return u.a.createElement(zl,sp({className:"recharts-line-dots",key:"dots"},p),d)}},{key:"renderCurveStatically",value:function(e,t,n,r){var a=this.props,i=a.type,o=a.layout,s=a.connectNulls,l=cp({},Q(this.props),{},J(this.props),{fill:"none",className:"recharts-line-curve",clipPath:t?"url(#clipPath-".concat(n,")"):null,points:e},r,{type:i,layout:o,connectNulls:s});return u.a.createElement(Mu,sp({},l,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(e,t){var n=this,r=this.props,a=r.points,i=r.strokeDasharray,o=r.isAnimationActive,s=r.animationBegin,l=r.animationDuration,c=r.animationEasing,d=r.animationId,p=r.width,f=r.height,h=this.state,m=h.prevPoints,g=h.totalLength;return u.a.createElement(In,{begin:s,duration:l,isActive:o,easing:c,from:{t:0},to:{t:1},key:"line-".concat(d),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},(function(r){var o=r.t;if(m){var s=m.length/a.length,l=a.map((function(e,t){var r=Math.floor(t*s);if(m[r]){var a=m[r],i=z(a.x,e.x),l=z(a.y,e.y);return cp({},e,{x:i(o),y:l(o)})}if(n.animateNewValues){var c=z(2*p,e.x),u=z(f/2,e.y);return cp({},e,{x:c(o),y:u(o)})}return cp({},e,{x:e.x,y:e.y})}));return n.renderCurveStatically(l,e,t)}var c,u=z(0,g)(o);if(i){var d=i.split(/[,\s]+/gim).map((function(e){return parseFloat(e)}));c=n.getStrokeDasharray(u,g,d)}else c="".concat(u,"px ").concat(g-u,"px");return n.renderCurveStatically(a,e,t,{strokeDasharray:c})}))}},{key:"renderCurve",value:function(e,t){var n=this.props,r=n.points,a=n.isAnimationActive,i=this.state,o=i.prevPoints,s=i.totalLength;return a&&r&&r.length&&(!o&&s>0||!Ot()(o,r))?this.renderCurveWithAnimation(e,t):this.renderCurveStatically(r,e,t)}},{key:"render",value:function(){var e=this.props,t=e.hide,n=e.dot,r=e.points,a=e.className,i=e.xAxis,o=e.yAxis,s=e.top,l=e.left,c=e.width,d=e.height,p=e.isAnimationActive,f=e.id;if(t||!r||!r.length)return null;var m=this.state.isAnimationFinished,v=1===r.length,b=h()("recharts-line",a),_=i&&i.allowDataOverflow||o&&o.allowDataOverflow,y=g()(f)?this.id:f;return u.a.createElement(zl,{className:b},_?u.a.createElement("defs",null,u.a.createElement("clipPath",{id:"clipPath-".concat(y)},u.a.createElement("rect",{x:l,y:s,width:c,height:d}))):null,!v&&this.renderCurve(_,y),this.renderErrorBar(),(v||n)&&this.renderDots(_,y),(!p||m)&&Td.renderCallByParent(this.props,r))}}])&&fp(n.prototype,r),a&&fp(n,a),t}(c.PureComponent);vp.displayName="Line",vp.propTypes=cp({},V,{},U,{className:p.a.string,type:p.a.oneOfType([p.a.oneOf(["basis","basisClosed","basisOpen","linear","linearClosed","natural","monotoneX","monotoneY","monotone","step","stepBefore","stepAfter"]),p.a.func]),unit:p.a.oneOfType([p.a.string,p.a.number]),name:p.a.oneOfType([p.a.string,p.a.number]),yAxisId:p.a.oneOfType([p.a.string,p.a.number]),xAxisId:p.a.oneOfType([p.a.string,p.a.number]),yAxis:p.a.object,xAxis:p.a.object,legendType:p.a.oneOf(W),tooltipType:p.a.oneOf(q),layout:p.a.oneOf(["horizontal","vertical"]),connectNulls:p.a.bool,hide:p.a.bool,activeDot:p.a.oneOfType([p.a.object,p.a.element,p.a.func,p.a.bool]),dot:p.a.oneOfType([p.a.object,p.a.element,p.a.func,p.a.bool]),top:p.a.number,left:p.a.number,width:p.a.number,height:p.a.number,points:p.a.arrayOf(p.a.shape({x:p.a.number,y:p.a.number,value:p.a.value})),onAnimationStart:p.a.func,onAnimationEnd:p.a.func,isAnimationActive:p.a.bool,animateNewValues:p.a.bool,animationBegin:p.a.number,animationDuration:p.a.number,animationEasing:p.a.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),animationId:p.a.number,id:p.a.string}),vp.defaultProps={xAxisId:0,yAxisId:0,connectNulls:!1,activeDot:!0,dot:!0,legendType:"line",stroke:"#3182bd",strokeWidth:1,fill:"#fff",points:[],isAnimationActive:!re(),animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",hide:!1,onAnimationStart:function(){},onAnimationEnd:function(){}},vp.getComposedData=function(e){var t=e.props,n=e.xAxis,r=e.yAxis,a=e.xAxisTicks,i=e.yAxisTicks,o=e.dataKey,s=e.bandSize,l=e.displayedData,c=e.offset,u=t.layout;return cp({points:l.map((function(e,t){var l=Jl(e,o);return"horizontal"===u?{x:hc({axis:n,ticks:a,bandSize:s,entry:e,index:t}),y:g()(l)?null:r.scale(l),value:l,payload:e}:{x:g()(l)?null:n.scale(l),y:hc({axis:r,ticks:i,bandSize:s,entry:e,index:t}),value:l,payload:e}})),layout:u},c)};var bp=vp;function _p(e){return(_p="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function yp(){return(yp=Object.assign||function(e){for(var t=1;t0||!Ot()(s,r)||!Ot()(l,a))?this.renderAreaWithAnimation(e,t):this.renderAreaStatically(r,a,e,t)}},{key:"render",value:function(){var e=this.props,t=e.hide,n=e.dot,r=e.points,a=e.className,i=e.top,o=e.left,s=e.xAxis,l=e.yAxis,c=e.width,d=e.height,p=e.isAnimationActive,f=e.id;if(t||!r||!r.length)return null;var m=this.state.isAnimationFinished,v=1===r.length,b=h()("recharts-area",a),_=s&&s.allowDataOverflow||l&&l.allowDataOverflow,y=g()(f)?this.id:f;return u.a.createElement(zl,{className:b},_?u.a.createElement("defs",null,u.a.createElement("clipPath",{id:"clipPath-".concat(y)},u.a.createElement("rect",{x:o,y:i,width:c,height:parseInt(d,10)}))):null,v?null:this.renderArea(_,y),(n||v)&&this.renderDots(_,y),(!p||m)&&Td.renderCallByParent(this.props,r))}}])&&Tp(n.prototype,r),a&&Tp(n,a),t}(c.PureComponent);Rp.displayName="Area",Rp.propTypes=Sp({},V,{},U,{className:p.a.string,dataKey:p.a.oneOfType([p.a.string,p.a.number,p.a.func]).isRequired,type:p.a.oneOfType([p.a.oneOf(["basis","basisClosed","basisOpen","linear","linearClosed","natural","monotoneX","monotoneY","monotone","step","stepBefore","stepAfter"]),p.a.func]),unit:p.a.oneOfType([p.a.string,p.a.number]),name:p.a.oneOfType([p.a.string,p.a.number]),yAxisId:p.a.oneOfType([p.a.string,p.a.number]),xAxisId:p.a.oneOfType([p.a.string,p.a.number]),yAxis:p.a.object,xAxis:p.a.object,stackId:p.a.oneOfType([p.a.number,p.a.string]),legendType:p.a.oneOf(W),tooltipType:p.a.oneOf(q),connectNulls:p.a.bool,activeDot:p.a.oneOfType([p.a.object,p.a.element,p.a.func,p.a.bool]),dot:p.a.oneOfType([p.a.func,p.a.element,p.a.object,p.a.bool]),label:p.a.oneOfType([p.a.func,p.a.element,p.a.object,p.a.bool]),hide:p.a.bool,layout:p.a.oneOf(["horizontal","vertical"]),baseLine:p.a.oneOfType([p.a.number,p.a.array]),isRange:p.a.bool,points:p.a.arrayOf(p.a.shape({x:p.a.number,y:p.a.number,value:p.a.oneOfType([p.a.number,p.a.array])})),onAnimationStart:p.a.func,onAnimationEnd:p.a.func,animationId:p.a.number,isAnimationActive:p.a.bool,animationBegin:p.a.number,animationDuration:p.a.number,animationEasing:p.a.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),id:p.a.string}),Rp.defaultProps={stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!re(),animationBegin:0,animationDuration:1500,animationEasing:"ease"},Rp.getBaseValue=function(e,t,n){var r=e.layout,a=e.baseValue;if(M(a))return a;var i="horizontal"===r?n:t,o=i.scale.domain();if("number"===i.type){var s=Math.max(o[0],o[1]),l=Math.min(o[0],o[1]);return"dataMin"===a?l:"dataMax"===a||s<0?s:Math.max(Math.min(o[0],o[1]),0)}return"dataMin"===a?o[0]:"dataMax"===a?o[1]:o[0]},Rp.getComposedData=function(e){var t,n=e.props,r=e.xAxis,a=e.yAxis,i=e.xAxisTicks,o=e.yAxisTicks,s=e.bandSize,l=e.dataKey,c=e.stackedData,u=e.dataStartIndex,d=e.displayedData,p=e.offset,f=n.layout,h=c&&c.length,m=Rp.getBaseValue(n,r,a),v=!1,b=d.map((function(e,t){var n;return h?n=c[u+t]:(n=Jl(e,l),S()(n)?v=!0:n=[m,n]),"horizontal"===f?{x:hc({axis:r,ticks:i,bandSize:s,entry:e,index:t}),y:g()(n[1])?null:a.scale(n[1]),value:n,payload:e}:{x:g()(n[1])?null:r.scale(n[1]),y:hc({axis:a,ticks:o,bandSize:s,entry:e,index:t}),value:n,payload:e}}));return t=h||v?b.map((function(e){return"horizontal"===f?{x:e.x,y:g()(O()(e,"value[0]"))?null:a.scale(O()(e,"value[0]"))}:{x:g()(O()(e,"value[0]"))?null:r.scale(O()(e,"value[0]")),y:e.y}})):"horizontal"===f?a.scale(m):r.scale(m),Sp({points:b,baseLine:t,layout:f,isRange:v},p)},Rp.renderDotItem=function(e,t){return u.a.isValidElement(e)?u.a.cloneElement(e,t):o()(e)?e(t):u.a.createElement(ip,yp({},t,{className:"recharts-area-dot"}))};var Np=Rp;function Mp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ip(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kp(e){return(kp="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Dp(){return(Dp=Object.assign||function(e){for(var t=1;t=0?1:-1,l=n>=0?1:-1,c=r>=0&&n>=0||r<0&&n<0?1:0;if(o>0&&a instanceof Array){for(var u=[],d=0;d<4;d++)u[d]=a[d]>o?o:a[d];i="M".concat(e,",").concat(t+s*u[0]),u[0]>0&&(i+="A ".concat(u[0],",").concat(u[0],",0,0,").concat(c,",").concat(e+l*u[0],",").concat(t)),i+="L ".concat(e+n-l*u[1],",").concat(t),u[1]>0&&(i+="A ".concat(u[1],",").concat(u[1],",0,0,").concat(c,",\n ").concat(e+n,",").concat(t+s*u[1])),i+="L ".concat(e+n,",").concat(t+r-s*u[2]),u[2]>0&&(i+="A ".concat(u[2],",").concat(u[2],",0,0,").concat(c,",\n ").concat(e+n-l*u[2],",").concat(t+r)),i+="L ".concat(e+l*u[3],",").concat(t+r),u[3]>0&&(i+="A ".concat(u[3],",").concat(u[3],",0,0,").concat(c,",\n ").concat(e,",").concat(t+r-s*u[3])),i+="Z"}else if(o>0&&a===+a&&a>0){var p=Math.min(o,a);i="M ".concat(e,",").concat(t+s*p,"\n A ").concat(p,",").concat(p,",0,0,").concat(c,",").concat(e+l*p,",").concat(t,"\n L ").concat(e+n-l*p,",").concat(t,"\n A ").concat(p,",").concat(p,",0,0,").concat(c,",").concat(e+n,",").concat(t+s*p,"\n L ").concat(e+n,",").concat(t+r-s*p,"\n A ").concat(p,",").concat(p,",0,0,").concat(c,",").concat(e+n-l*p,",").concat(t+r,"\n L ").concat(e+l*p,",").concat(t+r,"\n A ").concat(p,",").concat(p,",0,0,").concat(c,",").concat(e,",").concat(t+r-s*p," Z")}else i="M ".concat(e,",").concat(t," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return i},Bp=function(e){function t(){var e,n;Lp(this,t);for(var r=arguments.length,a=new Array(r),i=0;i0,from:{width:a,height:i,x:n,y:r},to:{width:a,height:i,x:n,y:r},duration:p,animationEasing:d,isActive:g},(function(t){var n=t.width,r=t.height,a=t.x,i=t.y;return u.a.createElement(In,{canBegin:l>0,from:"0px ".concat(-1===l?1:l,"px"),to:"".concat(l,"px 0px"),attributeName:"strokeDasharray",begin:f,duration:p,isActive:m,easing:d},u.a.createElement("path",Dp({},Q(e.props),J(e.props),{className:v,d:Hp(a,i,n,r,o),ref:function(t){e.node=t}})))})):u.a.createElement("path",Dp({},Q(this.props),J(this.props),{className:v,d:Hp(n,r,a,i,o)}))}}])&&Pp(n.prototype,r),a&&Pp(n,a),t}(c.PureComponent);Bp.displayName="Rectangle",Bp.propTypes=function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function Yp(){return(Yp=Object.assign||function(e){for(var t=1;t=0?0:a<0?a:r}return n[0]}({props:t,numericAxis:_}),x=X(v,xr),O=d.map((function(e,t){var n,r,d,p,m,v;if(c?n=function(e,t){if(!t||2!==t.length||!M(t[0])||!M(t[1]))return e;var n=Math.min(t[0],t[1]),r=Math.max(t[0],t[1]),a=[e[0],e[1]];return(!M(e[0])||e[0]r)&&(a[1]=r),a[0]>r&&(a[0]=r),a[1]0&&Math.abs(m)0&&Math.abs(p)=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function Gf(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Yf(e,t){for(var n=0;n=2?R(g[1].coordinate-g[0].coordinate):1;if(1===_?(n="width"===m?d:p,r="width"===m?d+f:p+h):(n="width"===m?d+f:p+h,r="width"===m?d:p),t){var y=a[b-1],E=o()(i)?i(y.value):y.value,S=Vu(E)[m]+v,x=_*(y.coordinate+_*S/2-r);g[b-1]=y=Bf({},y,{tickCoord:x>0?y.coordinate-x*_:y.coordinate}),_*(y.tickCoord-_*S/2-n)>=0&&_*(y.tickCoord+_*S/2-r)<=0&&(r=y.tickCoord-_*(S/2+c),g[b-1]=Bf({},y,{isShow:!0}))}for(var O=t?b-1:b,T=0;T=0&&_*(C.tickCoord+_*A/2-r)<=0&&(n=C.tickCoord+_*(A/2+c),g[T]=Bf({},C,{isShow:!0}))}return g.filter((function(e){return e.isShow}))}},{key:"getTicksEnd",value:function(e){var t,n,r=e.ticks,a=e.tickFormatter,i=e.viewBox,s=e.orientation,l=e.minTickGap,c=e.unit,u=i.x,d=i.y,p=i.width,f=i.height,h="top"===s||"bottom"===s?"width":"height",m=c&&"width"===h?Vu(c)[h]:0,g=(r||[]).slice(),v=g.length,b=v>=2?R(g[1].coordinate-g[0].coordinate):1;1===b?(t="width"===h?u:d,n="width"===h?u+p:d+f):(t="width"===h?u+p:d+f,n="width"===h?u:d);for(var _=v-1;_>=0;_--){var y=g[_],E=o()(a)?a(y.value):y.value,S=Vu(E)[h]+m;if(_===v-1){var x=b*(y.coordinate+b*S/2-n);g[_]=y=Bf({},y,{tickCoord:x>0?y.coordinate-x*b:y.coordinate})}else g[_]=y=Bf({},y,{tickCoord:y.coordinate});b*(y.tickCoord-b*S/2-t)>=0&&b*(y.tickCoord+b*S/2-n)<=0&&(n=y.tickCoord-b*(S/2+l),g[_]=Bf({},y,{isShow:!0}))}return g.filter((function(e){return e.isShow}))}},{key:"renderTickItem",value:function(e,t,n){return u.a.isValidElement(e)?u.a.cloneElement(e,t):o()(e)?e(t):u.a.createElement(ed,Ff({},t,{className:"recharts-cartesian-axis-tick-value"}),n)}}],(r=[{key:"shouldComponentUpdate",value:function(e,t){var n=e.viewBox,r=Uf(e,["viewBox"]),a=this.props,i=a.viewBox,o=Uf(a,["viewBox"]);return!F(n,i)||!F(r,o)||!F(t,this.state)}},{key:"getTickLineCoord",value:function(e){var t,n,r,a,i,o,s=this.props,l=s.x,c=s.y,u=s.width,d=s.height,p=s.orientation,f=s.tickSize,h=s.mirror,m=s.tickMargin,g=h?-1:1,v=e.tickSize||f,b=M(e.tickCoord)?e.tickCoord:e.coordinate;switch(p){case"top":t=n=e.coordinate,o=(r=(a=c+!h*d)-g*v)-g*m,i=b;break;case"left":r=a=e.coordinate,i=(t=(n=l+!h*u)-g*v)-g*m,o=b;break;case"right":r=a=e.coordinate,i=(t=(n=l+h*u)+g*v)+g*m,o=b;break;default:t=n=e.coordinate,o=(r=(a=c+h*d)+g*v)+g*m,i=b}return{line:{x1:t,y1:r,x2:n,y2:a},tick:{x:i,y:o}}}},{key:"getTickTextAnchor",value:function(){var e,t=this.props,n=t.orientation,r=t.mirror;switch(n){case"left":e=r?"start":"end";break;case"right":e=r?"end":"start";break;default:e="middle"}return e}},{key:"getTickVerticalAnchor",value:function(){var e=this.props,t=e.orientation,n=e.mirror,r="end";switch(t){case"left":case"right":r="middle";break;case"top":r=n?"start":"end";break;default:r=n?"end":"start"}return r}},{key:"renderAxisLine",value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,a=e.height,i=e.orientation,o=e.axisLine,s=e.mirror,l=Bf({},Q(this.props),{fill:"none"},Q(o));if("top"===i||"bottom"===i){var c="top"===i&&!s||"bottom"===i&&s;l=Bf({},l,{x1:t,y1:n+c*a,x2:t+r,y2:n+c*a})}else{var d="left"===i&&!s||"right"===i&&s;l=Bf({},l,{x1:t+d*r,y1:n,x2:t+d*r,y2:n+a})}return u.a.createElement("line",Ff({className:"recharts-cartesian-axis-line"},l))}},{key:"renderTicks",value:function(e){var n=this,r=this.props,a=r.tickLine,i=r.stroke,s=r.tick,l=r.tickFormatter,c=r.unit,d=t.getTicks(Bf({},this.props,{ticks:e})),p=this.getTickTextAnchor(),f=this.getTickVerticalAnchor(),h=Q(this.props),m=Q(s),g=Bf({},h,{fill:"none"},Q(a)),v=d.map((function(e,t){var r=n.getTickLineCoord(e),v=r.line,b=r.tick,_=Bf({textAnchor:p,verticalAnchor:f},h,{stroke:"none",fill:i},m,{},b,{index:t,payload:e,visibleTicksCount:d.length});return u.a.createElement(zl,Ff({className:"recharts-cartesian-axis-tick",key:"tick-".concat(t)},te(n.props,e,t)),a&&u.a.createElement("line",Ff({className:"recharts-cartesian-axis-tick-line"},g,v)),s&&n.constructor.renderTickItem(s,_,"".concat(o()(l)?l(e.value):e.value).concat(c||"")))}));return u.a.createElement("g",{className:"recharts-cartesian-axis-ticks"},v)}},{key:"render",value:function(){var e=this.props,t=e.axisLine,n=e.width,r=e.height,a=e.ticksGenerator,i=e.className;if(e.hide)return null;var s=this.props,l=s.ticks,c=Uf(s,["ticks"]),d=l;return o()(a)&&(d=l&&l.length>0?a(this.props):a(c)),n<=0||r<=0||!d||!d.length?null:u.a.createElement(zl,{className:h()("recharts-cartesian-axis",i)},t&&this.renderAxisLine(),this.renderTicks(d),pd.renderCallByParent(this.props))}}])&&Yf(n.prototype,r),a&&Yf(n,a),t}(c.Component);Xf.displayName="CartesianAxis",Xf.propTypes=Bf({},V,{},U,{className:p.a.string,x:p.a.number,y:p.a.number,width:p.a.number,height:p.a.number,orientation:p.a.oneOf(["top","bottom","left","right"]),viewBox:p.a.shape({x:p.a.number,y:p.a.number,width:p.a.number,height:p.a.number}),tick:p.a.oneOfType([p.a.bool,p.a.func,p.a.object,p.a.element]),axisLine:p.a.oneOfType([p.a.bool,p.a.object]),tickLine:p.a.oneOfType([p.a.bool,p.a.object]),mirror:p.a.bool,tickMargin:p.a.number.isRequired,minTickGap:p.a.number,ticks:p.a.array,tickSize:p.a.number,stroke:p.a.string,tickFormatter:p.a.func,ticksGenerator:p.a.func,interval:p.a.oneOfType([p.a.number,p.a.oneOf(["preserveStart","preserveEnd","preserveStartEnd"])])}),Xf.defaultProps={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"};var Kf=Xf;function Qf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Zf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Jf=["Webkit","Moz","O","ms"],eh=function(e,t){if(!e)return null;var n=e.replace(/(\w)/,(function(e){return e.toUpperCase()})),r=Jf.reduce((function(e,r){return function(e){for(var t=1;t0&&n.handleDrag(e.changedTouches[0])},n.handleDragEnd=function(){n.setState({isTravellerMoving:!1,isSlideMoving:!1})},n.handleLeaveWrapper=function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=setTimeout(n.handleDragEnd,n.props.leaveTimeOut))},n.handleEnterSlideOrTraveller=function(){n.setState({isTextActive:!0})},n.handleLeaveSlideOrTraveller=function(){n.setState({isTextActive:!1})},n.handleSlideDragStart=function(e){var t=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e;n.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:t.pageX})},n.travellerDragStartHandlers={startX:n.handleTravellerDragStart.bind(oh(n),"startX"),endX:n.handleTravellerDragStart.bind(oh(n),"endX")},n.state=e.data&&e.data.length?n.updateScale(e):{},n}var n,r,a;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&sh(e,t)}(t,e),n=t,a=[{key:"getIndexInRange",value:function(e,t){for(var n=0,r=e.length-1;r-n>1;){var a=Math.floor((n+r)/2);e[a]>t?r=a:n=a}return t>=e[r]?r:n}}],(r=[{key:"componentWillReceiveProps",value:function(e){var t=this,n=this.props,r=n.data,a=n.width,i=n.x,o=n.travellerWidth,s=n.updateId;(e.data!==r||e.updateId!==s)&&e.data&&e.data.length?this.setState(this.updateScale(e)):e.width===a&&e.x===i&&e.travellerWidth===o||(this.scale.range([e.x,e.x+e.width-e.travellerWidth]),this.scaleValues=this.scale.domain().map((function(e){return t.scale(e)})),this.setState({startX:this.scale(e.startIndex),endX:this.scale(e.endIndex)}))}},{key:"componentWillUnmount",value:function(){this.scale=null,this.scaleValues=null,this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null)}},{key:"getIndex",value:function(e){var t=e.startX,n=e.endX,r=this.props,a=r.gap,i=r.data.length-1,o=Math.min(t,n),s=Math.max(t,n),l=this.constructor.getIndexInRange(this.scaleValues,o),c=this.constructor.getIndexInRange(this.scaleValues,s);return{startIndex:l-l%a,endIndex:c===i?i:c-c%a}}},{key:"getTextOfTick",value:function(e){var t=this.props,n=t.data,r=t.tickFormatter,a=t.dataKey,i=Jl(n[e],a,e);return o()(r)?r(i):i}},{key:"handleSlideDrag",value:function(e){var t=this.state,n=t.slideMoveStartX,r=t.startX,a=t.endX,i=this.props,o=i.x,s=i.width,l=i.travellerWidth,c=i.startIndex,u=i.endIndex,d=i.onChange,p=e.pageX-n;p>0?p=Math.min(p,o+s-l-a,o+s-l-r):p<0&&(p=Math.max(p,o-r,o-a));var f=this.getIndex({startX:r+p,endX:a+p});f.startIndex===c&&f.endIndex===u||!d||d(f),this.setState({startX:r+p,endX:a+p,slideMoveStartX:e.pageX})}},{key:"handleTravellerDragStart",value:function(e,t){var n=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:e,brushMoveStartX:n.pageX})}},{key:"handleTravellerMove",value:function(e){var t,n=this.state,r=n.brushMoveStartX,a=n.movingTravellerId,i=n.endX,o=n.startX,s=this.state[a],l=this.props,c=l.x,u=l.width,d=l.travellerWidth,p=l.onChange,f=l.gap,h=l.data,m={startX:this.state.startX,endX:this.state.endX},g=e.pageX-r;g>0?g=Math.min(g,c+u-d-s):g<0&&(g=Math.max(g,c-s)),m[a]=s+g;var v=this.getIndex(m),b=v.startIndex,_=v.endIndex;this.setState((rh(t={},a,s+g),rh(t,"brushMoveStartX",e.pageX),t),(function(){p&&function(){var e=h.length-1;return"startX"===a&&(i>o?b%f===0:_%f===0)||io?_%f===0:b%f===0)||i>o&&_===e}()&&p(v)}))}},{key:"updateScale",value:function(e){var t=this,n=e.data,r=e.startIndex,a=e.endIndex,i=e.x,o=e.width,s=e.travellerWidth,l=n.length;return this.scale=sa().domain(Of()(0,l)).range([i,i+o-s]),this.scaleValues=this.scale.domain().map((function(e){return t.scale(e)})),{isTextActive:!1,isSlideMoving:!1,isTravellerMoving:!1,startX:this.scale(r),endX:this.scale(a)}}},{key:"renderBackground",value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,a=e.height,i=e.fill,o=e.stroke;return u.a.createElement("rect",{stroke:o,fill:i,x:t,y:n,width:r,height:a})}},{key:"renderPanorama",value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,a=e.height,i=e.data,o=e.children,s=e.padding,l=c.Children.only(o);return l?u.a.cloneElement(l,{x:t,y:n,width:r,height:a,margin:s,compact:!0,data:i}):null}},{key:"renderTraveller",value:function(e,t){var n=this.props,r=n.y,a=n.travellerWidth,i=n.height,o=n.stroke,s=Math.floor(r+i/2)-1,l=Math.max(e,this.props.x);return u.a.createElement(zl,{className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[t],onTouchStart:this.travellerDragStartHandlers[t],style:{cursor:"col-resize"}},u.a.createElement("rect",{x:l,y:r,width:a,height:i,fill:o,stroke:"none"}),u.a.createElement("line",{x1:l+1,y1:s,x2:l+a-1,y2:s,fill:"none",stroke:"#fff"}),u.a.createElement("line",{x1:l+1,y1:s+2,x2:l+a-1,y2:s+2,fill:"none",stroke:"#fff"}))}},{key:"renderSlide",value:function(e,t){var n=this.props,r=n.y,a=n.height,i=n.stroke;return u.a.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:i,fillOpacity:.2,x:Math.min(e,t),y:r,width:Math.abs(t-e),height:a})}},{key:"renderText",value:function(){var e=this.props,t=e.startIndex,n=e.endIndex,r=e.y,a=e.height,i=e.travellerWidth,o=e.stroke,s=this.state,l=s.startX,c=s.endX,d={pointerEvents:"none",fill:o};return u.a.createElement(zl,{className:"recharts-brush-texts"},u.a.createElement(ed,nh({textAnchor:"end",verticalAnchor:"middle",x:Math.min(l,c)-5,y:r+a/2},d),this.getTextOfTick(t)),u.a.createElement(ed,nh({textAnchor:"start",verticalAnchor:"middle",x:Math.max(l,c)+i+5,y:r+a/2},d),this.getTextOfTick(n)))}},{key:"render",value:function(){var e=this.props,t=e.data,n=e.className,r=e.children,a=e.x,i=e.y,o=e.width,s=e.height,l=e.alwaysShowText,c=this.state,d=c.startX,p=c.endX,f=c.isTextActive,m=c.isSlideMoving,g=c.isTravellerMoving;if(!t||!t.length||!M(a)||!M(i)||!M(o)||!M(s)||o<=0||s<=0)return null;var v=h()("recharts-brush",n),b=1===u.a.Children.count(r),_=eh("userSelect","none");return u.a.createElement(zl,{className:v,onMouseMove:this.handleDrag,onMouseLeave:this.handleLeaveWrapper,onMouseUp:this.handleDragEnd,onTouchEnd:this.handleDragEnd,onTouchMove:this.handleTouchMove,style:_},this.renderBackground(),b&&this.renderPanorama(),this.renderSlide(d,p),this.renderTraveller(d,"startX"),this.renderTraveller(p,"endX"),(f||m||g||l)&&this.renderText())}}])&&ah(n.prototype,r),a&&ah(n,a),t}(c.PureComponent);lh.displayName="Brush",lh.propTypes={className:p.a.string,fill:p.a.string,stroke:p.a.string,x:p.a.number,y:p.a.number,width:p.a.number,height:p.a.number.isRequired,travellerWidth:p.a.number,gap:p.a.number,padding:p.a.shape({top:p.a.number,right:p.a.number,bottom:p.a.number,left:p.a.number}),dataKey:p.a.oneOfType([p.a.string,p.a.number,p.a.func]),data:p.a.array,startIndex:p.a.number,endIndex:p.a.number,tickFormatter:p.a.func,children:p.a.node,onChange:p.a.func,updateId:p.a.oneOfType([p.a.string,p.a.number]),leaveTimeOut:p.a.number,alwaysShowText:p.a.bool},lh.defaultProps={height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1};var ch=lh,uh=function(e,t){var n=e.alwaysShow,r=e.ifOverflow;return n&&(r="extendDomain"),r===t},dh=n(323),ph=n.n(dh);function fh(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hh(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},n=t.bandAware,r=t.position;if(void 0!==e){if(r)switch(r){case"start":return this.scale(e);case"middle":var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+a;case"end":var i=this.bandwidth?this.bandwidth():0;return this.scale(e)+i;default:return this.scale(e)}if(n){var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+o}return this.scale(e)}}},{key:"isInRange",value:function(e){var t=this.range(),n=t[0],r=t[t.length-1];return n<=r?e>=n&&e<=r:e>=r&&e<=n}},{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}}]),e}();Eh.EPS=1e-4;var Sh=function(){function e(t){fh(this,e),this.scales=ph()(t,Eh.create),Object.assign(this,this.scales)}return mh(e,null,[{key:"create",value:function(e){return new this(e)}}]),mh(e,[{key:"apply",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.bandAware,r=this.scales;return ph()(e,(function(e,t){return r[t].apply(e,{bandAware:n})}))}},{key:"isInRange",value:function(e){var t=this.scales;return yf()(e,(function(e,n){return t[n].isInRange(e)}))}}]),e}();function xh(e){return(xh="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Oh(){return(Oh=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function hm(){return(hm=Object.assign||function(e){for(var t=1;t0&&n.handleMouseMove(e.changedTouches[0])},n.handleTouchStart=function(e){null!=e.changedTouches&&e.changedTouches.length>0&&n.handleMouseDown(e.changedTouches[0])},n.handleTouchEnd=function(e){null!=e.changedTouches&&e.changedTouches.length>0&&n.handleMouseUp(e.changedTouches[0])},n.verticalCoordinatesGenerator=function(e){var t=e.xAxis,n=e.width,r=e.height,a=e.offset;return oc(Kf.getTicks(vm({},Kf.defaultProps,{},t,{ticks:sc(t,!0),viewBox:{x:0,y:0,width:n,height:r}})),a.left,a.left+a.width)},n.horizontalCoordinatesGenerator=function(e){var t=e.yAxis,n=e.width,r=e.height,a=e.offset;return oc(Kf.getTicks(vm({},Kf.defaultProps,{},t,{ticks:sc(t,!0),viewBox:{x:0,y:0,width:n,height:r}})),a.top,a.top+a.height)},n.axesTicksGenerator=function(e){return sc(e,!0)},n.tooltipTicksGenerator=function(e){var t=P(e),n=sc(t,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:Dn()(n,(function(e){return e.coordinate})),tooltipAxis:t,tooltipAxisBandSize:yc(t)}},n.renderCursor=function(e){var r=n.state,a=r.isTooltipActive,i=r.activeCoordinate,o=r.activePayload,s=r.offset;if(!e||!e.props.cursor||!a||!i)return null;var l,u=n.props.layout,d=Mu;if("ScatterChart"===t)l=i,d=zf;else if("BarChart"===t)l=n.getCursorRectangle(),d=Vp;else if("radial"===u){var p=n.getCursorPoints(),f=p.cx,h=p.cy,m=p.radius;l={cx:f,cy:h,startAngle:p.startAngle,endAngle:p.endAngle,innerRadius:m,outerRadius:m},d=Yc}else l={points:n.getCursorPoints()},d=Mu;var g=e.key||"_recharts-cursor",v=vm({stroke:"#ccc",pointerEvents:"none"},s,{},l,{},Q(e.props.cursor),{payload:o,key:g,className:"recharts-tooltip-cursor"});return Object(c.isValidElement)(e.props.cursor)?Object(c.cloneElement)(e.props.cursor,v):Object(c.createElement)(d,v)},n.renderPolarAxis=function(e,t,r){var a=e.type.axisType,i=n.state["".concat(a,"Map")][e.props["".concat(a,"Id")]];return Object(c.cloneElement)(e,vm({},i,{className:a,key:e.key||"".concat(t,"-").concat(r),ticks:sc(i,!0)}))},n.renderXAxis=function(e,t,r){var a=n.state.xAxisMap[e.props.xAxisId];return n.renderAxis(a,e,t,r)},n.renderYAxis=function(e,t,r){var a=n.state.yAxisMap[e.props.yAxisId];return n.renderAxis(a,e,t,r)},n.renderGrid=function(e){var t=n.state,r=t.xAxisMap,a=t.yAxisMap,i=t.offset,o=n.props,s=o.width,l=o.height,u=P(r),d=Sf()(a,(function(e){return yf()(e.domain,Number.isFinite)}))||P(a),p=e.props||{};return Object(c.cloneElement)(e,{key:e.key||"grid",x:M(p.x)?p.x:i.left,y:M(p.y)?p.y:i.top,width:M(p.width)?p.width:i.width,height:M(p.height)?p.height:i.height,xAxis:u,yAxis:d,offset:i,chartWidth:s,chartHeight:l,verticalCoordinatesGenerator:p.verticalCoordinatesGenerator||n.verticalCoordinatesGenerator,horizontalCoordinatesGenerator:p.horizontalCoordinatesGenerator||n.horizontalCoordinatesGenerator})},n.renderPolarGrid=function(e){var t=n.state,r=t.radiusAxisMap,a=t.angleAxisMap,i=P(r),o=P(a),s=o.cx,l=o.cy,u=o.innerRadius,d=o.outerRadius;return Object(c.cloneElement)(e,{polarAngles:sc(o,!0).map((function(e){return e.coordinate})),polarRadius:sc(i,!0).map((function(e){return e.coordinate})),cx:s,cy:l,innerRadius:u,outerRadius:d,key:e.key||"polar-grid"})},n.renderBrush=function(e){var t=n.props,r=t.margin,a=t.data,i=n.state,o=i.offset,s=i.dataStartIndex,l=i.dataEndIndex,u=i.updateId;return Object(c.cloneElement)(e,{key:e.key||"_recharts-brush",onChange:lc(n.handleBrushChange,null,e.props.onChange),data:a,x:M(e.props.x)?e.props.x:o.left,y:M(e.props.y)?e.props.y:o.top+o.height+o.brushBottom-(r.bottom||0),width:M(e.props.width)?e.props.width:o.width,startIndex:s,endIndex:l,updateId:"brush-".concat(u)})},n.renderReferenceElement=function(e,t,r){if(!e)return null;var a=Em(n).clipPathId,i=n.state,o=i.xAxisMap,s=i.yAxisMap,l=i.offset,u=e.props,d=u.xAxisId,p=u.yAxisId;return Object(c.cloneElement)(e,{key:e.key||"".concat(t,"-").concat(r),xAxis:o[d],yAxis:s[p],viewBox:{x:l.left,y:l.top,width:l.width,height:l.height},clipPathId:a})},n.renderGraphicChild=function(e,t,r){var a=n.filterFormatItem(e,t,r);if(!a)return null;var i=Object(c.cloneElement)(e,a.props),o=n.state,s=o.isTooltipActive,l=o.tooltipAxis,u=o.activeTooltipIndex,d=o.activeLabel,p=n.props.children,f=K(p,lr),h=a.props,m=h.points,v=h.isRange,b=h.baseLine,_=a.item.props,y=_.activeDot;if(!_.hide&&s&&f&&y&&u>=0){var E,S;if(l.dataKey&&!l.allowDuplicatedCategory){var x="function"===typeof l.dataKey?function(e){return l.dataKey(e.payload)}:"payload.".concat(l.dataKey);E=j(m,x,d),S=v&&b&&j(b,x,d)}else E=m[u],S=v&&b&&b[u];if(!g()(E))return[i].concat(mm(n.renderActivePoints({item:a,activePoint:E,basePoint:S,childIndex:u,isRange:v})))}return v?[i,null,null]:[i,null]},n.renderCustomized=function(e){return Object(c.cloneElement)(e,vm({},n.props,{},n.state))};var a=n.constructor.createDefaultState(e);return n.state=vm({},a,{updateId:0},n.updateStateOfAxisMapsOffsetAndStackGroups(vm({props:e},a,{updateId:0}))),n.uniqueChartId=g()(e.id)?D("recharts"):e.id,n.clipPathId="".concat(n.uniqueChartId,"-clip"),e.throttleDelay&&(n.triggeredAfterMouseMove=Cf()(n.triggeredAfterMouseMove,e.throttleDelay)),n}var d,p,f;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Sm(e,t)}(r,e),d=r,f=[{key:"getAxisNameByLayout",value:function(e){return"horizontal"===e?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:"vertical"===e?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:"centric"===e?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}}},{key:"renderActiveDot",value:function(e,t){var n;return n=Object(c.isValidElement)(e)?Object(c.cloneElement)(e,t):o()(e)?e(t):u.a.createElement(ip,t),u.a.createElement(zl,{className:"recharts-active-dot",key:t.key},n)}}],(p=[{key:"componentDidMount",value:function(){g()(this.props.syncId)||this.addListener()}},{key:"componentWillReceiveProps",value:function(e){var t=this,n=this.props,r=n.data,a=n.children,i=n.width,o=n.height,s=n.layout,l=n.stackOffset,c=n.margin,u=this.state.updateId;if(e.data===r&&e.width===i&&e.height===o&&e.layout===s&&e.stackOffset===l&&F(e.margin,c)){if(!oe(e.children,a)){var d=g()(e.data)?u+1:u;this.setState((function(n){return vm({updateId:d},t.updateStateOfAxisMapsOffsetAndStackGroups(vm({props:e},n,{updateId:d})))}))}}else{var p=this.constructor.createDefaultState(e);this.setState(vm({},p,{updateId:u+1},this.updateStateOfAxisMapsOffsetAndStackGroups(vm({props:e},p,{updateId:u+1}))))}g()(this.props.syncId)&&!g()(e.syncId)&&this.addListener(),!g()(this.props.syncId)&&g()(e.syncId)&&this.removeListener()}},{key:"componentWillUnmount",value:function(){g()(this.props.syncId)||this.removeListener(),"function"===typeof this.triggeredAfterMouseMove.cancel&&this.triggeredAfterMouseMove.cancel()}},{key:"getAxisMap",value:function(e,t){var n=t.axisType,r=void 0===n?"xAxis":n,a=t.AxisComp,i=t.graphicalItems,o=t.stackGroups,s=t.dataStartIndex,l=t.dataEndIndex,c=e.children,u="".concat(r,"Id"),d=X(c,a),p={};return d&&d.length?p=this.getAxisMapByAxes(e,{axes:d,graphicalItems:i,axisType:r,axisIdKey:u,stackGroups:o,dataStartIndex:s,dataEndIndex:l}):i&&i.length&&(p=this.getAxisMapByItems(e,{Axis:a,graphicalItems:i,axisType:r,axisIdKey:u,stackGroups:o,dataStartIndex:s,dataEndIndex:l})),p}},{key:"getAxisMapByAxes",value:function(e,t){var n=this,r=t.axes,a=t.graphicalItems,i=t.axisType,o=t.axisIdKey,s=t.stackGroups,l=t.dataStartIndex,c=t.dataEndIndex,u=e.layout,d=e.children,p=e.stackOffset,f=ic(u,i);return r.reduce((function(t,r){var h=r.props,m=h.type,v=h.dataKey,b=h.allowDataOverflow,_=h.allowDuplicatedCategory,y=h.scale,E=h.ticks,x=r.props[o],O=n.constructor.getDisplayedData(e,{graphicalItems:a.filter((function(e){return e.props[o]===x})),dataStartIndex:l,dataEndIndex:c}),T=O.length;if(!t[x]){var C,w,A;if(v){if(C=ec(O,v,m),"category"===m&&f){var R=function(e){if(!S()(e))return!1;for(var t=e.length,n={},r=0;r=0?e:[].concat(mm(e),[t])}),[]))}else if("category"===m)C=_?C.filter((function(e){return""!==e&&!g()(e)})):Ec(r.props.domain,C,r).reduce((function(e,t){return e.indexOf(t)>=0||""===t||g()(t)?e:[].concat(mm(e),[t])}),[]);else if("number"===m){var N=function(e,t,n,r){var a=t.map((function(t){return rc(e,t,n,r)})).filter((function(e){return!g()(e)}));return a&&a.length?a.reduce((function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}),[1/0,-1/0]):null}(O,a.filter((function(e){return e.props[o]===x&&!e.props.hide})),v,i);N&&(C=N)}!f||"number"!==m&&"auto"===y||(A=ec(O,v,"category"))}else C=f?Of()(0,T):s&&s[x]&&s[x].hasStack&&"number"===m?"expand"===p?[0,1]:gc(s[x].stackGroups,l,c):ac(O,a.filter((function(e){return e.props[o]===x&&!e.props.hide})),m,!0);return"number"===m&&(C=lm(d,C,x,i,E),r.props.domain&&(C=_c(r.props.domain,C,b))),vm({},t,bm({},x,vm({},r.props,{axisType:i,domain:C,categoricalDomain:A,duplicateDomain:w,originalDomain:r.props.domain,isCategorial:f,layout:u})))}return t}),{})}},{key:"getAxisMapByItems",value:function(e,t){var n=t.graphicalItems,r=t.Axis,a=t.axisType,i=t.axisIdKey,o=t.stackGroups,s=t.dataStartIndex,l=t.dataEndIndex,c=e.layout,u=e.children,d=this.constructor.getDisplayedData(e,{graphicalItems:n,dataStartIndex:s,dataEndIndex:l}),p=d.length,f=ic(c,a),h=-1;return n.reduce((function(e,t){var m,g=t.props[i];return e[g]?e:(h++,f?m=Of()(0,p):o&&o[g]&&o[g].hasStack?(m=gc(o[g].stackGroups,s,l),m=lm(u,m,g,a)):(m=_c(r.defaultProps.domain,ac(d,n.filter((function(e){return e.props[i]===g&&!e.props.hide})),"number"),r.defaultProps.allowDataOverflow),m=lm(u,m,g,a)),vm({},e,bm({},g,vm({axisType:a},r.defaultProps,{hide:!0,orientation:xm[a]&&xm[a][h%2],domain:m,originalDomain:r.defaultProps.domain,isCategorial:f,layout:c}))))}),{})}},{key:"getActiveCoordinate",value:function(e,t,n){var r=this.props.layout,a=e.find((function(e){return e&&e.index===t}));if(a){if("horizontal"===r)return{x:a.coordinate,y:n.y};if("vertical"===r)return{x:n.x,y:a.coordinate};if("centric"===r){var i=a.coordinate,o=n.radius;return vm({},n,{},Ac(n.cx,n.cy,o,i),{angle:i,radius:o})}var s=a.coordinate,l=n.angle;return vm({},n,{},Ac(n.cx,n.cy,s,l),{angle:l,radius:s})}return Om}},{key:"getMouseInfo",value:function(e){if(!this.container)return null;var t=function(e,t){return{chartX:Math.round(e.pageX-t.left),chartY:Math.round(e.pageY-t.top)}}(e,function(e){var t=e.ownerDocument.documentElement,n={top:0,left:0};return"undefined"!==typeof e.getBoundingClientRect&&(n=e.getBoundingClientRect()),{top:n.top+window.pageYOffset-t.clientTop,left:n.left+window.pageXOffset-t.clientLeft}}(this.container)),n=this.inRange(t.chartX,t.chartY);if(!n)return null;var r=this.state,i=r.xAxisMap,o=r.yAxisMap;if("axis"!==a&&i&&o){var s=P(i).scale,l=P(o).scale;return vm({},t,{xValue:s&&s.invert?s.invert(t.chartX):null,yValue:l&&l.invert?l.invert(t.chartY):null})}var c=this.state,u=c.orderedTooltipTicks,d=c.tooltipAxis,p=c.tooltipTicks,f=function(e,t,n,r){var a=-1,i=t.length;if(i>1){if(r&&"angleAxis"===r.axisType&&Math.abs(Math.abs(r.range[1]-r.range[0])-360)<=1e-6)for(var o=r.range,s=0;s0?n[s-1].coordinate:n[i-1].coordinate,c=n[s].coordinate,u=s>=i-1?n[0].coordinate:n[s+1].coordinate,d=void 0;if(R(c-l)!==R(u-c)){var p=[];if(R(u-c)===R(o[1]-o[0])){d=u;var f=c+o[1]-o[0];p[0]=Math.min(f,(f+l)/2),p[1]=Math.max(f,(f+l)/2)}else{d=l;var h=u+o[1]-o[0];p[0]=Math.min(c,(h+c)/2),p[1]=Math.max(c,(h+c)/2)}var m=[Math.min(c,(d+c)/2),Math.max(c,(d+c)/2)];if(e>m[0]&&e<=m[1]||e>=p[0]&&e<=p[1]){a=n[s].index;break}}else{var g=Math.min(l,u),v=Math.max(l,u);if(e>(g+c)/2&&e<=(v+c)/2){a=n[s].index;break}}}else for(var b=0;b0&&b(t[b].coordinate+t[b-1].coordinate)/2&&e<=(t[b].coordinate+t[b+1].coordinate)/2||b===i-1&&e>(t[b].coordinate+t[b-1].coordinate)/2){a=t[b].index;break}}else a=0;return a}(this.calculateTooltipPos(n),u,p,d);if(f>=0&&p){var h=p[f]&&p[f].value;return vm({},t,{activeTooltipIndex:f,activeLabel:h,activePayload:this.getTooltipContent(f,h),activeCoordinate:this.getActiveCoordinate(u,f,n)})}return null}},{key:"getTooltipContent",value:function(e,t){var n=this.state,r=n.graphicalItems,a=n.tooltipAxis,i=this.constructor.getDisplayedData(this.props,this.state);return e<0||!r||!r.length||e>=i.length?null:r.reduce((function(n,r){if(r.props.hide)return n;var o,s=r.props,l=s.dataKey,c=s.name,u=s.unit,d=s.formatter,p=s.data,f=s.tooltipType;return(o=a.dataKey&&!a.allowDuplicatedCategory?j(p||i,a.dataKey,t):p&&p[e]||i[e])?[].concat(mm(n),[vm({},Q(r),{dataKey:l,unit:u,formatter:d,name:c||l,color:tc(r),value:Jl(o,l),type:f,payload:o})]):n}),[])}},{key:"getFormatItems",value:function(e,t){var n=this,r=t.graphicalItems,a=t.stackGroups,o=t.offset,s=t.updateId,l=t.dataStartIndex,c=t.dataEndIndex,u=e.barSize,d=e.layout,p=e.barGap,f=e.barCategoryGap,h=e.maxBarSize,m=this.constructor.getAxisNameByLayout(d),v=m.numericAxisName,b=m.cateAxisName,_=this.constructor.hasBar(r),y=_&&function(e){var t=e.barSize,n=e.stackGroups,r=void 0===n?{}:n;if(!r)return{};for(var a={},i=Object.keys(r),o=0,s=i.length;o=0}));if(m&&m.length){var v=m[0].props.barSize,b=m[0].props[h];a[b]||(a[b]=[]),a[b].push({item:m[0],stackList:m.slice(1),barSize:g()(v)?t:v})}}return a}({barSize:u,stackGroups:a}),E=[];return r.forEach((function(r,u){var m,S=n.constructor.getDisplayedData(e,{dataStartIndex:l,dataEndIndex:c},r),x=r.props,O=x.dataKey,T=x.maxBarSize,C=r.props["".concat(v,"Id")],w=r.props["".concat(b,"Id")],A=i.reduce((function(e,n){var a,i=t["".concat(n.axisType,"Map")],o=r.props["".concat(n.axisType,"Id")],s=i&&i[o];return vm({},e,(bm(a={},n.axisType,s),bm(a,"".concat(n.axisType,"Ticks"),sc(s)),a))}),{}),R=A[b],N=A["".concat(b,"Ticks")],M=a&&a[C]&&a[C].hasStack&&function(e,t){var n=e.props.stackId;if(I(n)){var r=t[n];if(r&&r.items.length){for(var a=-1,i=0,o=r.items.length;i=0?r.stackedData[a]:null}}return null}(r,a[C].stackGroups),k=yc(R,N),D=g()(T)?h:T,P=_&&function(e){var t=e.barGap,n=e.barCategoryGap,r=e.bandSize,a=e.sizeList,i=void 0===a?[]:a,o=e.maxBarSize,s=i.length;if(s<1)return null;var l,c=L(t,r,0,!0);if(i[0].barSize===+i[0].barSize){var u=!1,d=r/s,p=i.reduce((function(e,t){return e+t.barSize||0}),0);(p+=(s-1)*c)>=r&&(p-=(s-1)*c,c=0),p>=r&&d>0&&(u=!0,p=s*(d*=.9));var f={offset:((r-p)/2>>0)-c,size:0};l=i.reduce((function(e,t){var n=[].concat(Xl(e),[{item:t.item,position:{offset:f.offset+f.size+c,size:u?d:t.barSize}}]);return f=n[n.length-1].position,t.stackList&&t.stackList.length&&t.stackList.forEach((function(e){n.push({item:e,position:f})})),n}),[])}else{var h=L(n,r,0,!0);r-2*h-(s-1)*c<=0&&(c=0);var m=(r-2*h-(s-1)*c)/s;m>1&&(m>>=0);var g=o===+o?Math.min(m,o):m;l=i.reduce((function(e,t,n){var r=[].concat(Xl(e),[{item:t.item,position:{offset:h+(m+c)*n+(m-g)/2,size:g}}]);return t.stackList&&t.stackList.length&&t.stackList.forEach((function(e){r.push({item:e,position:r[r.length-1].position})})),r}),[])}return l}({barGap:p,barCategoryGap:f,bandSize:k,sizeList:y[w],maxBarSize:D}),z=r&&r.type&&r.type.getComposedData;z&&E.push({props:vm({},z(vm({},A,{displayedData:S,props:e,dataKey:O,item:r,bandSize:k,barPosition:P,offset:o,stackedData:M,layout:d,dataStartIndex:l,dataEndIndex:c,onItemMouseLeave:lc(n.handleItemMouseLeave,null,r.props.onMouseLeave),onItemMouseEnter:lc(n.handleItemMouseEnter,null,r.props.onMouseEnter)})),(m={key:r.key||"item-".concat(u)},bm(m,v,A[v]),bm(m,b,A[b]),bm(m,"animationId",s),m)),childIndex:le(r,e.children),item:r})})),E}},{key:"getCursorRectangle",value:function(){var e=this.props.layout,t=this.state,n=t.activeCoordinate,r=t.offset,a=t.tooltipAxisBandSize,i=a/2;return{stroke:"none",fill:"#ccc",x:"horizontal"===e?n.x-i:r.left+.5,y:"horizontal"===e?r.top+.5:n.y-i,width:"horizontal"===e?a:r.width-1,height:"horizontal"===e?r.height-1:a}}},{key:"getCursorPoints",value:function(){var e,t,n,r,a=this.props.layout,i=this.state,o=i.activeCoordinate,s=i.offset;if("horizontal"===a)n=e=o.x,t=s.top,r=s.top+s.height;else if("vertical"===a)r=t=o.y,e=s.left,n=s.left+s.width;else if(!g()(o.cx)||!g()(o.cy)){if("centric"!==a){var l=o.cx,c=o.cy,u=o.radius,d=o.startAngle,p=o.endAngle;return{points:[Ac(l,c,u,d),Ac(l,c,u,p)],cx:l,cy:c,radius:u,startAngle:d,endAngle:p}}var f=o.cx,h=o.cy,m=o.innerRadius,v=o.outerRadius,b=o.angle,_=Ac(f,h,m,b),y=Ac(f,h,v,b);e=_.x,t=_.y,n=y.x,r=y.y}return[{x:e,y:t},{x:n,y:r}]}},{key:"calculateTooltipPos",value:function(e){var t=this.props.layout;return"horizontal"===t?e.x:"vertical"===t?e.y:"centric"===t?e.angle:e.radius}},{key:"inRange",value:function(e,t){var n=this.props.layout;if("horizontal"===n||"vertical"===n){var r=this.state.offset;return e>=r.left&&e<=r.left+r.width&&t>=r.top&&t<=r.top+r.height?{x:e,y:t}:null}var a=this.state,i=a.angleAxisMap,o=a.radiusAxisMap;if(i&&o){var s=P(i);return Ic({x:e,y:t},s)}return null}},{key:"parseEventsOfWrapper",value:function(){var e=this.props.children,t=K(e,lr)&&"axis"===a?{onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd}:{};return vm({},J(this.props,this.handleOuterEvent),{},t)}},{key:"updateStateOfAxisMapsOffsetAndStackGroups",value:function(e){var r=this,a=e.props,o=e.dataStartIndex,s=e.dataEndIndex,c=e.updateId;if(!ne({props:a}))return null;var u=a.children,d=a.layout,p=a.stackOffset,f=a.data,h=a.reverseStackOrder,m=this.constructor.getAxisNameByLayout(d),g=m.numericAxisName,v=m.cateAxisName,b=X(u,n),_=function(e,t,n,r,a,i){if(!e)return null;var o=(i?t.reverse():t).reduce((function(e,t){var a=t.props,i=a.stackId;if(a.hide)return e;var o=t.props[n],s=e[o]||{hasStack:!1,stackGroups:{}};if(I(i)){var l=s.stackGroups[i]||{numericAxisId:n,cateAxisId:r,items:[]};l.items.push(t),s.hasStack=!0,s.stackGroups[i]=l}else s.stackGroups[D("_stackId_")]={numericAxisId:n,cateAxisId:r,items:[t]};return Ql({},e,Zl({},o,s))}),{});return Object.keys(o).reduce((function(t,i){var s=o[i];return s.hasStack&&(s.stackGroups=Object.keys(s.stackGroups).reduce((function(t,i){var o=s.stackGroups[i];return Ql({},t,Zl({},i,{numericAxisId:n,cateAxisId:r,items:o.items,stackedData:pc(e,o.items,a)}))}),{})),Ql({},t,Zl({},i,s))}),{})}(f,b,"".concat(g,"Id"),"".concat(v,"Id"),p,h),y=i.reduce((function(e,t){return vm({},e,bm({},"".concat(t.axisType,"Map"),r.getAxisMap(a,vm({},t,{graphicalItems:b,stackGroups:t.axisType===g&&_,dataStartIndex:o,dataEndIndex:s}))))}),{}),E=this.calculateOffset(vm({},y,{props:a,graphicalItems:b}));Object.keys(y).forEach((function(e){y[e]=l(a,y[e],E,e.replace("Map",""),t)}));var S=y["".concat(v,"Map")],x=this.tooltipTicksGenerator(S),O=this.getFormatItems(a,vm({},y,{dataStartIndex:o,dataEndIndex:s,updateId:c,graphicalItems:b,stackGroups:_,offset:E}));return vm({formatedGraphicalItems:O,graphicalItems:b,offset:E,stackGroups:_},x,{},y)}},{key:"addListener",value:function(){um.on(dm,this.handleReceiveSyncEvent),um.setMaxListeners&&um._maxListeners&&um.setMaxListeners(um._maxListeners+1)}},{key:"removeListener",value:function(){um.removeListener(dm,this.handleReceiveSyncEvent),um.setMaxListeners&&um._maxListeners&&um.setMaxListeners(um._maxListeners-1)}},{key:"calculateOffset",value:function(e){var t=e.props,n=e.graphicalItems,r=e.xAxisMap,a=void 0===r?{}:r,i=e.yAxisMap,o=void 0===i?{}:i,s=t.width,l=t.height,c=t.children,u=t.margin||{},d=K(c,ch),p=K(c,St),f=Object.keys(o).reduce((function(e,t){var n=o[t],r=n.orientation;return n.mirror||n.hide?e:vm({},e,bm({},r,e[r]+n.width))}),{left:u.left||0,right:u.right||0}),h=Object.keys(a).reduce((function(e,t){var n=a[t],r=n.orientation;return n.mirror||n.hide?e:vm({},e,bm({},r,e[r]+n.height))}),{top:u.top||0,bottom:u.bottom||0}),m=vm({},h,{},f),g=m.bottom;return d&&(m.bottom+=d.props.height||ch.defaultProps.height),p&&this.legendInstance&&(m=function(e,t,n,r){var a=n.children,i=n.width,o=n.height,s=n.margin,l=i-(s.left||0)-(s.right||0),c=o-(s.top||0)-(s.bottom||0),u=nc({children:a,items:t,legendWidth:l,legendHeight:c}),d=e;if(u){var p=r||{},f=u.align,h=u.verticalAlign,m=u.layout;("vertical"===m||"horizontal"===m&&"center"===h)&&M(e[f])&&(d=Ql({},e,Zl({},f,d[f]+(p.width||0)))),("horizontal"===m||"vertical"===m&&"center"===f)&&M(e[h])&&(d=Ql({},e,Zl({},h,d[h]+(p.height||0))))}return d}(m,n,t,this.legendInstance.getBBox())),vm({brushBottom:g},m,{width:s-m.left-m.right,height:l-m.top-m.bottom})}},{key:"triggerSyncEvent",value:function(e){var t=this.props.syncId;g()(t)||um.emit(dm,t,this.uniqueChartId,e)}},{key:"filterFormatItem",value:function(e,t,n){for(var r=this.state.formatedGraphicalItems,a=0,i=r.length;a=0}))},m.getDisplayedData=function(e,t,n){var r=t.graphicalItems,a=t.dataStartIndex,i=t.dataEndIndex,o=(r||[]).reduce((function(e,t){var n=t.props.data;return n&&n.length?[].concat(mm(e),mm(n)):e}),[]);if(o&&o.length>0)return o;if(n&&n.props&&n.props.data&&n.props.data.length>0)return n.props.data;var s=e.data;return s&&s.length&&M(a)&&M(i)?s.slice(a,i+1):[]},m},Cm=Tm({chartName:"LineChart",GraphicalChild:bp,axisComponents:[{axisType:"xAxis",AxisComp:uf},{axisType:"yAxis",AxisComp:bf}],formatAxisMap:_h}),wm=Tm({chartName:"BarChart",GraphicalChild:tf,axisComponents:[{axisType:"xAxis",AxisComp:uf},{axisType:"yAxis",AxisComp:bf}],formatAxisMap:_h});function Am(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Rm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nm(e){return(Nm="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Mm(){return(Mm=Object.assign||function(e){for(var t=1;t1e-5?"outer"===t?"start":"end":n<-1e-5?"outer"===t?"end":"start":"middle"}},{key:"renderAxisLine",value:function(){var e=this.props,t=e.cx,n=e.cy,r=e.radius,a=e.axisLine,i=e.axisLineType,o=Um({},Q(this.props),{fill:"none"},Q(a));if("circle"===i)return u.a.createElement(ip,Bm({className:"recharts-polar-angle-axis-line"},o,{cx:t,cy:n,r:r}));var s=this.props.ticks.map((function(e){return Ac(t,n,r,e.coordinate)}));return u.a.createElement(Fm,Bm({className:"recharts-polar-angle-axis-line"},o,{points:s}))}},{key:"renderTicks",value:function(){var e=this,t=this.props,n=t.ticks,r=t.tick,a=t.tickLine,i=t.tickFormatter,o=t.stroke,s=Q(this.props),l=Q(r),c=Um({},s,{fill:"none"},Q(a)),d=n.map((function(t,n){var d=e.getTickLineCoord(t),p=Um({textAnchor:e.getTickTextAnchor(t)},s,{stroke:"none",fill:o},l,{index:n,payload:t,x:d.x2,y:d.y2});return u.a.createElement(zl,Bm({className:"recharts-polar-angle-axis-tick",key:"tick-".concat(n)},te(e.props,t,n)),a&&u.a.createElement("line",Bm({className:"recharts-polar-angle-axis-tick-line"},c,d)),r&&e.constructor.renderTickItem(r,p,i?i(t.value):t.value))}));return u.a.createElement(zl,{className:"recharts-polar-angle-axis-ticks"},d)}},{key:"render",value:function(){var e=this.props,t=e.ticks,n=e.radius,r=e.axisLine;return n<=0||!t||!t.length?null:u.a.createElement(zl,{className:"recharts-polar-angle-axis"},r&&this.renderAxisLine(),this.renderTicks())}}])&&Wm(n.prototype,r),a&&Wm(n,a),t}(c.PureComponent);Qm.displayName="PolarAngleAxis",Qm.axisType="angleAxis",Qm.propTypes=Um({},V,{},U,{type:p.a.oneOf(["number","category"]),angleAxisId:p.a.oneOfType([p.a.string,p.a.number]),dataKey:p.a.oneOfType([p.a.number,p.a.string,p.a.func]),cx:p.a.number,cy:p.a.number,radius:p.a.oneOfType([p.a.number,p.a.string]),hide:p.a.bool,scale:p.a.oneOfType([p.a.oneOf(Y),p.a.func]),axisLine:p.a.oneOfType([p.a.bool,p.a.object]),axisLineType:p.a.oneOf(["polygon","circle"]),tickLine:p.a.oneOfType([p.a.bool,p.a.object]),tick:p.a.oneOfType([p.a.bool,p.a.func,p.a.object,p.a.element]),ticks:p.a.arrayOf(p.a.shape({value:p.a.any,coordinate:p.a.number})),stroke:p.a.string,orientation:p.a.oneOf(["inner","outer"]),tickFormatter:p.a.func,allowDuplicatedCategory:p.a.bool}),Qm.defaultProps={type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,domain:[0,"auto"],orientation:"outer",axisLine:!0,tickLine:!0,tick:!0,hide:!1,allowDuplicatedCategory:!0};var Zm=Qm,Jm=n(521),eg=n.n(Jm),tg=n(522),ng=n.n(tg);function rg(e){return(rg="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ag(){return(ag=Object.assign||function(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function cg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ug(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:["all"],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.duration,s=void 0===n?i.standard:n,l=t.easing,c=void 0===l?a.easeInOut:l,u=t.delay,d=void 0===u?0:u;Object(r.a)(t,["duration","easing","delay"]);return(Array.isArray(e)?e:[e]).map((function(e){return"".concat(e," ").concat("string"===typeof s?s:o(s)," ").concat(c," ").concat("string"===typeof d?d:o(d))})).join(",")},getAutoHeightDuration:function(e){if(!e)return 0;var t=e/36;return Math.round(10*(4+15*Math.pow(t,.25)+t/5))}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(220);var a=n(142),i=n(221);function o(e,t){return Object(r.a)(e)||function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,a=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(l){a=!0,i=l}finally{try{r||null==s.return||s.return()}finally{if(a)throw i}}return n}}(e,t)||Object(a.a)(e,t)||Object(i.a)()}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(174);var a=n(223),i=n(142);function o(e){return function(e){if(Array.isArray(e))return Object(r.a)(e)}(e)||Object(a.a)(e)||Object(i.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(e,t,n){"use strict";n.d(t,"a",(function(){return S})),n.d(t,"b",(function(){return C})),n.d(t,"c",(function(){return v})),n.d(t,"d",(function(){return I})),n.d(t,"e",(function(){return g})),n.d(t,"f",(function(){return T})),n.d(t,"g",(function(){return k}));var r=n(33),a=n(0),i=n.n(a),o=(n(2),n(73)),s=n(320),l=n(66),c=n(3),u=n(321),d=n.n(u),p=(n(45),n(54)),f=n(60),h=n.n(f),m=function(e){var t=Object(s.a)();return t.displayName=e,t}("Router-History"),g=function(e){var t=Object(s.a)();return t.displayName=e,t}("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}Object(r.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(g.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},i.a.createElement(m.Provider,{children:this.props.children||null,value:this.props.history}))},t}(i.a.Component);i.a.Component;var b=function(e){function t(){return e.apply(this,arguments)||this}Object(r.a)(t,e);var n=t.prototype;return n.componentDidMount=function(){this.props.onMount&&this.props.onMount.call(this,this)},n.componentDidUpdate=function(e){this.props.onUpdate&&this.props.onUpdate.call(this,this,e)},n.componentWillUnmount=function(){this.props.onUnmount&&this.props.onUnmount.call(this,this)},n.render=function(){return null},t}(i.a.Component);var _={},y=0;function E(e,t){return void 0===e&&(e="/"),void 0===t&&(t={}),"/"===e?e:function(e){if(_[e])return _[e];var t=d.a.compile(e);return y<1e4&&(_[e]=t,y++),t}(e)(t,{pretty:!0})}function S(e){var t=e.computedMatch,n=e.to,r=e.push,a=void 0!==r&&r;return i.a.createElement(g.Consumer,null,(function(e){e||Object(l.a)(!1);var r=e.history,s=e.staticContext,u=a?r.push:r.replace,d=Object(o.c)(t?"string"===typeof n?E(n,t.params):Object(c.a)({},n,{pathname:E(n.pathname,t.params)}):n);return s?(u(d),null):i.a.createElement(b,{onMount:function(){u(d)},onUpdate:function(e,t){var n=Object(o.c)(t.to);Object(o.f)(n,Object(c.a)({},d,{key:n.key}))||u(d)},to:n})}))}var x={},O=0;function T(e,t){void 0===t&&(t={}),("string"===typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,i=void 0!==a&&a,o=n.strict,s=void 0!==o&&o,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=x[n]||(x[n]={});if(r[e])return r[e];var a=[],i={regexp:d()(e,a,t),keys:a};return O<1e4&&(r[e]=i,O++),i}(n,{end:i,strict:s,sensitive:c}),a=r.regexp,o=r.keys,l=a.exec(e);if(!l)return null;var u=l[0],p=l.slice(1),f=e===u;return i&&!f?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:f,params:o.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var C=function(e){function t(){return e.apply(this,arguments)||this}return Object(r.a)(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(g.Consumer,null,(function(t){t||Object(l.a)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?T(n.pathname,e.props):t.match,a=Object(c.a)({},t,{location:n,match:r}),o=e.props,s=o.children,u=o.component,d=o.render;return Array.isArray(s)&&0===s.length&&(s=null),i.a.createElement(g.Provider,{value:a},a.match?s?"function"===typeof s?s(a):s:u?i.a.createElement(u,a):d?d(a):null:"function"===typeof s?s(a):null)}))},t}(i.a.Component);function w(e){return"/"===e.charAt(0)?e:"/"+e}function A(e,t){if(!e)return t;var n=w(e);return 0!==t.pathname.indexOf(n)?t:Object(c.a)({},t,{pathname:t.pathname.substr(n.length)})}function R(e){return"string"===typeof e?e:Object(o.e)(e)}function N(e){return function(){Object(l.a)(!1)}}function M(){}i.a.Component;var I=function(e){function t(){return e.apply(this,arguments)||this}return Object(r.a)(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(g.Consumer,null,(function(t){t||Object(l.a)(!1);var n,r,a=e.props.location||t.location;return i.a.Children.forEach(e.props.children,(function(e){if(null==r&&i.a.isValidElement(e)){n=e;var o=e.props.path||e.props.from;r=o?T(a.pathname,Object(c.a)({},e.props,{path:o})):t.match}})),r?i.a.cloneElement(n,{location:a,computedMatch:r}):null}))},t}(i.a.Component);function k(e){var t="withRouter("+(e.displayName||e.name)+")",n=function(t){var n=t.wrappedComponentRef,r=Object(p.a)(t,["wrappedComponentRef"]);return i.a.createElement(g.Consumer,null,(function(t){return t||Object(l.a)(!1),i.a.createElement(e,Object(c.a)({},r,t,{ref:n}))}))};return n.displayName=t,n.WrappedComponent=e,h()(n,e)}i.a.useContext},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a}));var r=function(e){return e.scrollTop};function a(e,t){var n=e.timeout,r=e.style,a=void 0===r?{}:r;return{duration:a.transitionDuration||"number"===typeof n?n:n[t.mode]||0,delay:a.transitionDelay}}},function(e,t,n){"use strict";n.r(t),n.d(t,"colors",(function(){return r})),n.d(t,"hexToRgb",(function(){return O.hexToRgb})),n.d(t,"rgbToHex",(function(){return O.rgbToHex})),n.d(t,"hslToRgb",(function(){return O.hslToRgb})),n.d(t,"decomposeColor",(function(){return O.decomposeColor})),n.d(t,"recomposeColor",(function(){return O.recomposeColor})),n.d(t,"getContrastRatio",(function(){return O.getContrastRatio})),n.d(t,"getLuminance",(function(){return O.getLuminance})),n.d(t,"emphasize",(function(){return O.emphasize})),n.d(t,"fade",(function(){return O.fade})),n.d(t,"darken",(function(){return O.darken})),n.d(t,"lighten",(function(){return O.lighten})),n.d(t,"createMuiTheme",(function(){return O.createMuiTheme})),n.d(t,"unstable_createMuiStrictModeTheme",(function(){return O.unstable_createMuiStrictModeTheme})),n.d(t,"createStyles",(function(){return O.createStyles})),n.d(t,"makeStyles",(function(){return O.makeStyles})),n.d(t,"responsiveFontSizes",(function(){return O.responsiveFontSizes})),n.d(t,"styled",(function(){return O.styled})),n.d(t,"easing",(function(){return O.easing})),n.d(t,"duration",(function(){return O.duration})),n.d(t,"useTheme",(function(){return O.useTheme})),n.d(t,"withStyles",(function(){return O.withStyles})),n.d(t,"withTheme",(function(){return O.withTheme})),n.d(t,"createGenerateClassName",(function(){return O.createGenerateClassName})),n.d(t,"jssPreset",(function(){return O.jssPreset})),n.d(t,"ServerStyleSheets",(function(){return O.ServerStyleSheets})),n.d(t,"StylesProvider",(function(){return O.StylesProvider})),n.d(t,"MuiThemeProvider",(function(){return O.MuiThemeProvider})),n.d(t,"ThemeProvider",(function(){return O.ThemeProvider})),n.d(t,"capitalize",(function(){return T.a})),n.d(t,"createChainedFunction",(function(){return T.b})),n.d(t,"createSvgIcon",(function(){return T.c})),n.d(t,"debounce",(function(){return T.d})),n.d(t,"deprecatedPropType",(function(){return T.e})),n.d(t,"isMuiElement",(function(){return T.f})),n.d(t,"ownerDocument",(function(){return T.g})),n.d(t,"ownerWindow",(function(){return T.h})),n.d(t,"requirePropFactory",(function(){return T.i})),n.d(t,"setRef",(function(){return T.j})),n.d(t,"unsupportedProp",(function(){return T.l})),n.d(t,"useControlled",(function(){return T.m})),n.d(t,"useEventCallback",(function(){return T.n})),n.d(t,"useForkRef",(function(){return T.o})),n.d(t,"unstable_useId",(function(){return T.k})),n.d(t,"useIsFocusVisible",(function(){return T.p})),n.d(t,"Accordion",(function(){return G})),n.d(t,"AccordionActions",(function(){return W})),n.d(t,"AccordionDetails",(function(){return $})),n.d(t,"AccordionSummary",(function(){return Z})),n.d(t,"AppBar",(function(){return J.a})),n.d(t,"Avatar",(function(){return re})),n.d(t,"Backdrop",(function(){return ae.a})),n.d(t,"Badge",(function(){return ie.a})),n.d(t,"BottomNavigation",(function(){return se})),n.d(t,"BottomNavigationAction",(function(){return ce})),n.d(t,"Box",(function(){return ue.a})),n.d(t,"styleFunction",(function(){return ue.b})),n.d(t,"Breadcrumbs",(function(){return ve})),n.d(t,"Button",(function(){return be.a})),n.d(t,"ButtonBase",(function(){return X.a})),n.d(t,"ButtonGroup",(function(){return Ee})),n.d(t,"Card",(function(){return xe})),n.d(t,"CardActionArea",(function(){return Te})),n.d(t,"CardActions",(function(){return we})),n.d(t,"CardContent",(function(){return Re})),n.d(t,"CardHeader",(function(){return Me})),n.d(t,"CardMedia",(function(){return De})),n.d(t,"Checkbox",(function(){return Le.a})),n.d(t,"Chip",(function(){return Pe.a})),n.d(t,"CircularProgress",(function(){return ze.a})),n.d(t,"ClickAwayListener",(function(){return Ue})),n.d(t,"Collapse",(function(){return j.a})),n.d(t,"Container",(function(){return We})),n.d(t,"CssBaseline",(function(){return qe.a})),n.d(t,"Dialog",(function(){return Je})),n.d(t,"DialogActions",(function(){return tt})),n.d(t,"DialogContent",(function(){return rt})),n.d(t,"DialogContentText",(function(){return it})),n.d(t,"DialogTitle",(function(){return st})),n.d(t,"Divider",(function(){return lt.a})),n.d(t,"Drawer",(function(){return ct.a})),n.d(t,"ExpansionPanel",(function(){return pt})),n.d(t,"ExpansionPanelActions",(function(){return ht})),n.d(t,"ExpansionPanelDetails",(function(){return gt})),n.d(t,"ExpansionPanelSummary",(function(){return bt})),n.d(t,"Fab",(function(){return _t.a})),n.d(t,"Fade",(function(){return Xe.a})),n.d(t,"FilledInput",(function(){return yt.a})),n.d(t,"FormControl",(function(){return Et.a})),n.d(t,"useFormControl",(function(){return St.useFormControl})),n.d(t,"FormControlLabel",(function(){return xt.a})),n.d(t,"FormGroup",(function(){return Ot.a})),n.d(t,"FormHelperText",(function(){return Tt.a})),n.d(t,"FormLabel",(function(){return Ct.a})),n.d(t,"Grid",(function(){return wt.a})),n.d(t,"GridList",(function(){return Rt})),n.d(t,"GridListTile",(function(){return Dt})),n.d(t,"GridListTileBar",(function(){return Pt})),n.d(t,"Grow",(function(){return zt.a})),n.d(t,"Hidden",(function(){return Zt})),n.d(t,"Icon",(function(){return en})),n.d(t,"IconButton",(function(){return K.a})),n.d(t,"Input",(function(){return tn.a})),n.d(t,"InputAdornment",(function(){return an})),n.d(t,"InputBase",(function(){return on.a})),n.d(t,"InputLabel",(function(){return sn.a})),n.d(t,"LinearProgress",(function(){return ln.a})),n.d(t,"Link",(function(){return cn.a})),n.d(t,"List",(function(){return un.a})),n.d(t,"ListItem",(function(){return dn.a})),n.d(t,"ListItemAvatar",(function(){return hn})),n.d(t,"ListItemIcon",(function(){return mn.a})),n.d(t,"ListItemSecondaryAction",(function(){return vn})),n.d(t,"ListItemText",(function(){return bn.a})),n.d(t,"ListSubheader",(function(){return yn})),n.d(t,"Menu",(function(){return En.a})),n.d(t,"MenuItem",(function(){return Sn.a})),n.d(t,"MenuList",(function(){return xn.a})),n.d(t,"MobileStepper",(function(){return Tn})),n.d(t,"Modal",(function(){return $e.a})),n.d(t,"ModalManager",(function(){return Cn.a})),n.d(t,"NativeSelect",(function(){return wn.a})),n.d(t,"NoSsr",(function(){return Rn})),n.d(t,"OutlinedInput",(function(){return Nn.a})),n.d(t,"Paper",(function(){return F.a})),n.d(t,"Popover",(function(){return Mn.a})),n.d(t,"Popper",(function(){return In.a})),n.d(t,"Portal",(function(){return kn.a})),n.d(t,"Radio",(function(){return Gn})),n.d(t,"RadioGroup",(function(){return Wn})),n.d(t,"useRadioGroup",(function(){return Hn})),n.d(t,"RootRef",(function(){return nr})),n.d(t,"Select",(function(){return rr.a})),n.d(t,"Slide",(function(){return ar.a})),n.d(t,"Slider",(function(){return br})),n.d(t,"Snackbar",(function(){return Sr})),n.d(t,"SnackbarContent",(function(){return yr})),n.d(t,"Step",(function(){return Or})),n.d(t,"StepButton",(function(){return Dr})),n.d(t,"StepConnector",(function(){return Pr})),n.d(t,"StepContent",(function(){return jr})),n.d(t,"StepIcon",(function(){return Nr})),n.d(t,"StepLabel",(function(){return Ir})),n.d(t,"Stepper",(function(){return Br})),n.d(t,"SvgIcon",(function(){return wr.a})),n.d(t,"SwipeableDrawer",(function(){return Jr})),n.d(t,"Switch",(function(){return ta})),n.d(t,"Tab",(function(){return na.a})),n.d(t,"Table",(function(){return ra.a})),n.d(t,"TableBody",(function(){return aa.a})),n.d(t,"TableCell",(function(){return ia.a})),n.d(t,"TableContainer",(function(){return sa})),n.d(t,"TableFooter",(function(){return la.a})),n.d(t,"TableHead",(function(){return ca.a})),n.d(t,"TablePagination",(function(){return ua.a})),n.d(t,"TableRow",(function(){return da.a})),n.d(t,"TableSortLabel",(function(){return pa.a})),n.d(t,"Tabs",(function(){return fa.a})),n.d(t,"TabScrollButton",(function(){return ha.a})),n.d(t,"TextField",(function(){return ma.a})),n.d(t,"TextareaAutosize",(function(){return ga.a})),n.d(t,"Toolbar",(function(){return va.a})),n.d(t,"Tooltip",(function(){return ba.a})),n.d(t,"Typography",(function(){return pe.a})),n.d(t,"Unstable_TrapFocus",(function(){return _a.a})),n.d(t,"useMediaQuery",(function(){return Gt})),n.d(t,"useScrollTrigger",(function(){return Sa})),n.d(t,"withMobileDialog",(function(){return xa})),n.d(t,"withWidth",(function(){return $t})),n.d(t,"isWidthUp",(function(){return Yt})),n.d(t,"isWidthDown",(function(){return Wt})),n.d(t,"Zoom",(function(){return wa}));var r={};n.r(r),n.d(r,"common",(function(){return a.a})),n.d(r,"red",(function(){return i.a})),n.d(r,"pink",(function(){return o.a})),n.d(r,"purple",(function(){return s})),n.d(r,"deepPurple",(function(){return l})),n.d(r,"indigo",(function(){return c.a})),n.d(r,"blue",(function(){return u.a})),n.d(r,"lightBlue",(function(){return d})),n.d(r,"cyan",(function(){return p})),n.d(r,"teal",(function(){return f})),n.d(r,"green",(function(){return h.a})),n.d(r,"lightGreen",(function(){return m})),n.d(r,"lime",(function(){return g})),n.d(r,"yellow",(function(){return v})),n.d(r,"amber",(function(){return b})),n.d(r,"orange",(function(){return _.a})),n.d(r,"deepOrange",(function(){return y})),n.d(r,"brown",(function(){return E})),n.d(r,"grey",(function(){return S.a})),n.d(r,"blueGrey",(function(){return x}));var a=n(112),i=n(138),o=n(137),s={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},l={50:"#ede7f6",100:"#d1c4e9",200:"#b39ddb",300:"#9575cd",400:"#7e57c2",500:"#673ab7",600:"#5e35b1",700:"#512da8",800:"#4527a0",900:"#311b92",A100:"#b388ff",A200:"#7c4dff",A400:"#651fff",A700:"#6200ea"},c=n(136),u=n(140),d={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},p={50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4"},f={50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",A100:"#a7ffeb",A200:"#64ffda",A400:"#1de9b6",A700:"#00bfa5"},h=n(141),m={50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",A100:"#ccff90",A200:"#b2ff59",A400:"#76ff03",A700:"#64dd17"},g={50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",A100:"#f4ff81",A200:"#eeff41",A400:"#c6ff00",A700:"#aeea00"},v={50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",A100:"#ffff8d",A200:"#ffff00",A400:"#ffea00",A700:"#ffd600"},b={50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",A100:"#ffe57f",A200:"#ffd740",A400:"#ffc400",A700:"#ffab00"},_=n(139),y={50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",A100:"#ff9e80",A200:"#ff6e40",A400:"#ff3d00",A700:"#dd2c00"},E={50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037"},S=n(135),x={50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64"},O=n(311),T=n(312),C=n(3),w=n(220),A=n(223),R=n(142),N=n(221);function M(e){return Object(w.a)(e)||Object(A.a)(e)||Object(R.a)(e)||Object(N.a)()}var I=n(28),k=n(5),D=n(0),L=(n(45),n(2)),P=n.n(L),z=n(4),j=n(1120),F=n(175),H=n(6);var B=D.createContext({}),V=n(46),U=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=e.defaultExpanded,o=void 0!==i&&i,s=e.disabled,l=void 0!==s&&s,c=e.expanded,u=e.onChange,d=e.square,p=void 0!==d&&d,f=e.TransitionComponent,h=void 0===f?j.a:f,m=e.TransitionProps,g=Object(k.a)(e,["children","classes","className","defaultExpanded","disabled","expanded","onChange","square","TransitionComponent","TransitionProps"]),v=Object(V.a)({controlled:c,default:o,name:"Accordion",state:"expanded"}),b=Object(I.a)(v,2),_=b[0],y=b[1],E=D.useCallback((function(e){y(!_),u&&u(e,!_)}),[_,u,y]),S=M(D.Children.toArray(n)),x=S[0],O=S.slice(1),T=D.useMemo((function(){return{expanded:_,disabled:l,toggle:E}}),[_,l,E]);return D.createElement(F.a,Object(C.a)({className:Object(z.default)(r.root,a,_&&r.expanded,l&&r.disabled,!p&&r.rounded),ref:t,square:p},g),D.createElement(B.Provider,{value:T},x),D.createElement(h,Object(C.a)({in:_,timeout:"auto"},m),D.createElement("div",{"aria-labelledby":x.props.id,id:x.props["aria-controls"],role:"region"},O)))})),G=Object(H.a)((function(e){var t={duration:e.transitions.duration.shortest};return{root:{position:"relative",transition:e.transitions.create(["margin"],t),"&:before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:e.palette.divider,transition:e.transitions.create(["opacity","background-color"],t)},"&:first-child":{"&:before":{display:"none"}},"&$expanded":{margin:"16px 0","&:first-child":{marginTop:0},"&:last-child":{marginBottom:0},"&:before":{opacity:0}},"&$expanded + &":{"&:before":{display:"none"}},"&$disabled":{backgroundColor:e.palette.action.disabledBackground}},rounded:{borderRadius:0,"&:first-child":{borderTopLeftRadius:e.shape.borderRadius,borderTopRightRadius:e.shape.borderRadius},"&:last-child":{borderBottomLeftRadius:e.shape.borderRadius,borderBottomRightRadius:e.shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}},expanded:{},disabled:{}}}),{name:"MuiAccordion"})(U),Y=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.disableSpacing,i=void 0!==a&&a,o=Object(k.a)(e,["classes","className","disableSpacing"]);return D.createElement("div",Object(C.a)({className:Object(z.default)(n.root,r,!i&&n.spacing),ref:t},o))})),W=Object(H.a)({root:{display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end"},spacing:{"& > :not(:first-child)":{marginLeft:8}}},{name:"MuiAccordionActions"})(Y),q=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=Object(k.a)(e,["classes","className"]);return D.createElement("div",Object(C.a)({className:Object(z.default)(n.root,r),ref:t},a))})),$=Object(H.a)((function(e){return{root:{display:"flex",padding:e.spacing(1,2,2)}}}),{name:"MuiAccordionDetails"})(q),X=n(153),K=n(313),Q=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=e.expandIcon,o=e.IconButtonProps,s=e.onBlur,l=e.onClick,c=e.onFocusVisible,u=Object(k.a)(e,["children","classes","className","expandIcon","IconButtonProps","onBlur","onClick","onFocusVisible"]),d=D.useState(!1),p=d[0],f=d[1],h=D.useContext(B),m=h.disabled,g=void 0!==m&&m,v=h.expanded,b=h.toggle;return D.createElement(X.a,Object(C.a)({focusRipple:!1,disableRipple:!0,disabled:g,component:"div","aria-expanded":v,className:Object(z.default)(r.root,a,g&&r.disabled,v&&r.expanded,p&&r.focused),onFocusVisible:function(e){f(!0),c&&c(e)},onBlur:function(e){f(!1),s&&s(e)},onClick:function(e){b&&b(e),l&&l(e)},ref:t},u),D.createElement("div",{className:Object(z.default)(r.content,v&&r.expanded)},n),i&&D.createElement(K.a,Object(C.a)({className:Object(z.default)(r.expandIcon,v&&r.expanded),edge:"end",component:"div",tabIndex:null,role:null,"aria-hidden":!0},o),i))})),Z=Object(H.a)((function(e){var t={duration:e.transitions.duration.shortest};return{root:{display:"flex",minHeight:48,transition:e.transitions.create(["min-height","background-color"],t),padding:e.spacing(0,2),"&:hover:not($disabled)":{cursor:"pointer"},"&$expanded":{minHeight:64},"&$focused":{backgroundColor:e.palette.action.focus},"&$disabled":{opacity:e.palette.action.disabledOpacity}},expanded:{},focused:{},disabled:{},content:{display:"flex",flexGrow:1,transition:e.transitions.create(["margin"],t),margin:"12px 0","&$expanded":{margin:"20px 0"}},expandIcon:{transform:"rotate(0deg)",transition:e.transitions.create("transform",t),"&:hover":{backgroundColor:"transparent"},"&$expanded":{transform:"rotate(180deg)"}}}}),{name:"MuiAccordionSummary"})(Q),J=n(1107),ee=n(24),te=Object(ee.a)(D.createElement("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");var ne=D.forwardRef((function(e,t){var n=e.alt,r=e.children,a=e.classes,i=e.className,o=e.component,s=void 0===o?"div":o,l=e.imgProps,c=e.sizes,u=e.src,d=e.srcSet,p=e.variant,f=void 0===p?"circle":p,h=Object(k.a)(e,["alt","children","classes","className","component","imgProps","sizes","src","srcSet","variant"]),m=null,g=function(e){var t=e.src,n=e.srcSet,r=D.useState(!1),a=r[0],i=r[1];return D.useEffect((function(){if(t||n){i(!1);var e=!0,r=new Image;return r.src=t,r.srcSet=n,r.onload=function(){e&&i("loaded")},r.onerror=function(){e&&i("error")},function(){e=!1}}}),[t,n]),a}({src:u,srcSet:d}),v=u||d,b=v&&"error"!==g;return m=b?D.createElement("img",Object(C.a)({alt:n,src:u,srcSet:d,sizes:c,className:a.img},l)):null!=r?r:v&&n?n[0]:D.createElement(te,{className:a.fallback}),D.createElement(s,Object(C.a)({className:Object(z.default)(a.root,a.system,a[f],i,!b&&a.colorDefault),ref:t},h),m)})),re=Object(H.a)((function(e){return{root:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none"},colorDefault:{color:e.palette.background.default,backgroundColor:"light"===e.palette.type?e.palette.grey[400]:e.palette.grey[600]},circle:{},rounded:{borderRadius:e.shape.borderRadius},square:{borderRadius:0},img:{width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4},fallback:{width:"75%",height:"75%"}}}),{name:"MuiAvatar"})(ne),ae=n(1074),ie=n(1092),oe=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=e.component,o=void 0===i?"div":i,s=e.onChange,l=e.showLabels,c=void 0!==l&&l,u=e.value,d=Object(k.a)(e,["children","classes","className","component","onChange","showLabels","value"]);return D.createElement(o,Object(C.a)({className:Object(z.default)(r.root,a),ref:t},d),D.Children.map(n,(function(e,t){if(!D.isValidElement(e))return null;var n=void 0===e.props.value?t:e.props.value;return D.cloneElement(e,{selected:n===u,showLabel:void 0!==e.props.showLabel?e.props.showLabel:c,value:n,onChange:s})})))})),se=Object(H.a)((function(e){return{root:{display:"flex",justifyContent:"center",height:56,backgroundColor:e.palette.background.paper}}}),{name:"MuiBottomNavigation"})(oe),le=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.icon,i=e.label,o=e.onChange,s=e.onClick,l=e.selected,c=e.showLabel,u=e.value,d=Object(k.a)(e,["classes","className","icon","label","onChange","onClick","selected","showLabel","value"]);return D.createElement(X.a,Object(C.a)({ref:t,className:Object(z.default)(n.root,r,l?n.selected:!c&&n.iconOnly),focusRipple:!0,onClick:function(e){o&&o(e,u),s&&s(e)}},d),D.createElement("span",{className:n.wrapper},a,D.createElement("span",{className:Object(z.default)(n.label,l?n.selected:!c&&n.iconOnly)},i)))})),ce=Object(H.a)((function(e){return{root:{transition:e.transitions.create(["color","padding-top"],{duration:e.transitions.duration.short}),padding:"6px 12px 8px",minWidth:80,maxWidth:168,color:e.palette.text.secondary,flex:"1","&$iconOnly":{paddingTop:16},"&$selected":{paddingTop:6,color:e.palette.primary.main}},selected:{},iconOnly:{},wrapper:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"100%",flexDirection:"column"},label:{fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(12),opacity:1,transition:"font-size 0.2s, opacity 0.2s",transitionDelay:"0.1s","&$iconOnly":{opacity:0,transitionDelay:"0s"},"&$selected":{fontSize:e.typography.pxToRem(14)}}}}),{name:"MuiBottomNavigationAction"})(le),ue=n(310),de=n(29),pe=n(103),fe=n(13),he=Object(ee.a)(D.createElement("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"MoreHoriz");var me=Object(H.a)((function(e){return{root:{display:"flex",marginLeft:e.spacing(.5),marginRight:e.spacing(.5),backgroundColor:e.palette.grey[100],color:e.palette.grey[700],borderRadius:2,cursor:"pointer","&:hover, &:focus":{backgroundColor:e.palette.grey[200]},"&:active":{boxShadow:e.shadows[0],backgroundColor:Object(fe.c)(e.palette.grey[200],.12)}},icon:{width:24,height:16}}}),{name:"PrivateBreadcrumbCollapsed"})((function(e){var t=e.classes,n=Object(k.a)(e,["classes"]);return D.createElement(X.a,Object(C.a)({component:"li",className:t.root,focusRipple:!0},n),D.createElement(he,{className:t.icon}))}));var ge=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=e.component,o=void 0===i?"nav":i,s=e.expandText,l=void 0===s?"Show path":s,c=e.itemsAfterCollapse,u=void 0===c?1:c,d=e.itemsBeforeCollapse,p=void 0===d?1:d,f=e.maxItems,h=void 0===f?8:f,m=e.separator,g=void 0===m?"/":m,v=Object(k.a)(e,["children","classes","className","component","expandText","itemsAfterCollapse","itemsBeforeCollapse","maxItems","separator"]),b=D.useState(!1),_=b[0],y=b[1],E=D.Children.toArray(n).filter((function(e){return D.isValidElement(e)})).map((function(e,t){return D.createElement("li",{className:r.li,key:"child-".concat(t)},e)}));return D.createElement(pe.a,Object(C.a)({ref:t,component:o,color:"textSecondary",className:Object(z.default)(r.root,a)},v),D.createElement("ol",{className:r.ol},function(e,t,n){return e.reduce((function(r,a,i){return i=e.length?e:[].concat(Object(de.a)(e.slice(0,p)),[D.createElement(me,{"aria-label":l,key:"ellipsis",onClick:function(e){y(!0);var t=e.currentTarget.parentNode.querySelector("a[href],button,[tabindex]");t&&t.focus()}})],Object(de.a)(e.slice(e.length-u,e.length)))}(E),r.separator,g)))})),ve=Object(H.a)({root:{},ol:{display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"},li:{},separator:{display:"flex",userSelect:"none",marginLeft:8,marginRight:8}},{name:"MuiBreadcrumbs"})(ge),be=n(395),_e=n(8);be.a.styles;var ye=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=e.color,o=void 0===i?"default":i,s=e.component,l=void 0===s?"div":s,c=e.disabled,u=void 0!==c&&c,d=e.disableElevation,p=void 0!==d&&d,f=e.disableFocusRipple,h=void 0!==f&&f,m=e.disableRipple,g=void 0!==m&&m,v=e.fullWidth,b=void 0!==v&&v,_=e.orientation,y=void 0===_?"horizontal":_,E=e.size,S=void 0===E?"medium":E,x=e.variant,O=void 0===x?"outlined":x,T=Object(k.a)(e,["children","classes","className","color","component","disabled","disableElevation","disableFocusRipple","disableRipple","fullWidth","orientation","size","variant"]),w=Object(z.default)(r.grouped,r["grouped".concat(Object(_e.a)(y))],r["grouped".concat(Object(_e.a)(O))],r["grouped".concat(Object(_e.a)(O)).concat(Object(_e.a)(y))],r["grouped".concat(Object(_e.a)(O)).concat("default"!==o?Object(_e.a)(o):"")],u&&r.disabled);return D.createElement(l,Object(C.a)({role:"group",className:Object(z.default)(r.root,a,b&&r.fullWidth,p&&r.disableElevation,"contained"===O&&r.contained,"vertical"===y&&r.vertical),ref:t},T),D.Children.map(n,(function(e){return D.isValidElement(e)?D.cloneElement(e,{className:Object(z.default)(w,e.props.className),color:e.props.color||o,disabled:e.props.disabled||u,disableElevation:e.props.disableElevation||p,disableFocusRipple:h,disableRipple:g,fullWidth:b,size:e.props.size||S,variant:e.props.variant||O}):null})))})),Ee=Object(H.a)((function(e){return{root:{display:"inline-flex",borderRadius:e.shape.borderRadius},contained:{boxShadow:e.shadows[2]},disableElevation:{boxShadow:"none"},disabled:{},fullWidth:{width:"100%"},vertical:{flexDirection:"column"},grouped:{minWidth:40},groupedHorizontal:{"&:not(:first-child)":{borderTopLeftRadius:0,borderBottomLeftRadius:0},"&:not(:last-child)":{borderTopRightRadius:0,borderBottomRightRadius:0}},groupedVertical:{"&:not(:first-child)":{borderTopRightRadius:0,borderTopLeftRadius:0},"&:not(:last-child)":{borderBottomRightRadius:0,borderBottomLeftRadius:0}},groupedText:{},groupedTextHorizontal:{"&:not(:last-child)":{borderRight:"1px solid ".concat("light"===e.palette.type?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)")}},groupedTextVertical:{"&:not(:last-child)":{borderBottom:"1px solid ".concat("light"===e.palette.type?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)")}},groupedTextPrimary:{"&:not(:last-child)":{borderColor:Object(fe.d)(e.palette.primary.main,.5)}},groupedTextSecondary:{"&:not(:last-child)":{borderColor:Object(fe.d)(e.palette.secondary.main,.5)}},groupedOutlined:{},groupedOutlinedHorizontal:{"&:not(:first-child)":{marginLeft:-1},"&:not(:last-child)":{borderRightColor:"transparent"}},groupedOutlinedVertical:{"&:not(:first-child)":{marginTop:-1},"&:not(:last-child)":{borderBottomColor:"transparent"}},groupedOutlinedPrimary:{"&:hover":{borderColor:e.palette.primary.main}},groupedOutlinedSecondary:{"&:hover":{borderColor:e.palette.secondary.main}},groupedContained:{boxShadow:"none"},groupedContainedHorizontal:{"&:not(:last-child)":{borderRight:"1px solid ".concat(e.palette.grey[400]),"&$disabled":{borderRight:"1px solid ".concat(e.palette.action.disabled)}}},groupedContainedVertical:{"&:not(:last-child)":{borderBottom:"1px solid ".concat(e.palette.grey[400]),"&$disabled":{borderBottom:"1px solid ".concat(e.palette.action.disabled)}}},groupedContainedPrimary:{"&:not(:last-child)":{borderColor:e.palette.primary.dark}},groupedContainedSecondary:{"&:not(:last-child)":{borderColor:e.palette.secondary.dark}}}}),{name:"MuiButtonGroup"})(ye),Se=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.raised,i=void 0!==a&&a,o=Object(k.a)(e,["classes","className","raised"]);return D.createElement(F.a,Object(C.a)({className:Object(z.default)(n.root,r),elevation:i?8:1,ref:t},o))})),xe=Object(H.a)({root:{overflow:"hidden"}},{name:"MuiCard"})(Se),Oe=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=e.focusVisibleClassName,o=Object(k.a)(e,["children","classes","className","focusVisibleClassName"]);return D.createElement(X.a,Object(C.a)({className:Object(z.default)(r.root,a),focusVisibleClassName:Object(z.default)(i,r.focusVisible),ref:t},o),n,D.createElement("span",{className:r.focusHighlight}))})),Te=Object(H.a)((function(e){return{root:{display:"block",textAlign:"inherit",width:"100%","&:hover $focusHighlight":{opacity:e.palette.action.hoverOpacity},"&$focusVisible $focusHighlight":{opacity:.12}},focusVisible:{},focusHighlight:{overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:e.transitions.create("opacity",{duration:e.transitions.duration.short})}}}),{name:"MuiCardActionArea"})(Oe),Ce=D.forwardRef((function(e,t){var n=e.disableSpacing,r=void 0!==n&&n,a=e.classes,i=e.className,o=Object(k.a)(e,["disableSpacing","classes","className"]);return D.createElement("div",Object(C.a)({className:Object(z.default)(a.root,i,!r&&a.spacing),ref:t},o))})),we=Object(H.a)({root:{display:"flex",alignItems:"center",padding:8},spacing:{"& > :not(:first-child)":{marginLeft:8}}},{name:"MuiCardActions"})(Ce),Ae=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.component,i=void 0===a?"div":a,o=Object(k.a)(e,["classes","className","component"]);return D.createElement(i,Object(C.a)({className:Object(z.default)(n.root,r),ref:t},o))})),Re=Object(H.a)({root:{padding:16,"&:last-child":{paddingBottom:24}}},{name:"MuiCardContent"})(Ae),Ne=D.forwardRef((function(e,t){var n=e.action,r=e.avatar,a=e.classes,i=e.className,o=e.component,s=void 0===o?"div":o,l=e.disableTypography,c=void 0!==l&&l,u=e.subheader,d=e.subheaderTypographyProps,p=e.title,f=e.titleTypographyProps,h=Object(k.a)(e,["action","avatar","classes","className","component","disableTypography","subheader","subheaderTypographyProps","title","titleTypographyProps"]),m=p;null==m||m.type===pe.a||c||(m=D.createElement(pe.a,Object(C.a)({variant:r?"body2":"h5",className:a.title,component:"span",display:"block"},f),m));var g=u;return null==g||g.type===pe.a||c||(g=D.createElement(pe.a,Object(C.a)({variant:r?"body2":"body1",className:a.subheader,color:"textSecondary",component:"span",display:"block"},d),g)),D.createElement(s,Object(C.a)({className:Object(z.default)(a.root,i),ref:t},h),r&&D.createElement("div",{className:a.avatar},r),D.createElement("div",{className:a.content},m,g),n&&D.createElement("div",{className:a.action},n))})),Me=Object(H.a)({root:{display:"flex",alignItems:"center",padding:16},avatar:{flex:"0 0 auto",marginRight:16},action:{flex:"0 0 auto",alignSelf:"flex-start",marginTop:-8,marginRight:-8},content:{flex:"1 1 auto"},title:{},subheader:{}},{name:"MuiCardHeader"})(Ne),Ie=["video","audio","picture","iframe","img"],ke=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=e.component,o=void 0===i?"div":i,s=e.image,l=e.src,c=e.style,u=Object(k.a)(e,["children","classes","className","component","image","src","style"]),d=-1!==Ie.indexOf(o),p=!d&&s?Object(C.a)({backgroundImage:'url("'.concat(s,'")')},c):c;return D.createElement(o,Object(C.a)({className:Object(z.default)(r.root,a,d&&r.media,-1!=="picture img".indexOf(o)&&r.img),ref:t,style:p,src:d?s||l:void 0},u),n)})),De=Object(H.a)({root:{display:"block",backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center"},media:{width:"100%"},img:{objectFit:"cover"}},{name:"MuiCardMedia"})(ke),Le=n(503),Pe=n(504),ze=n(1135),je=n(18),Fe=n(26),He=n(16),Be=n(23);function Ve(e){return e.substring(2).toLowerCase()}var Ue=function(e){var t=e.children,n=e.disableReactTree,r=void 0!==n&&n,a=e.mouseEvent,i=void 0===a?"onClick":a,o=e.onClickAway,s=e.touchEvent,l=void 0===s?"onTouchEnd":s,c=D.useRef(!1),u=D.useRef(null),d=D.useRef(!1),p=D.useRef(!1);D.useEffect((function(){return d.current=!0,function(){d.current=!1}}),[]);var f=D.useCallback((function(e){u.current=je.findDOMNode(e)}),[]),h=Object(He.a)(t.ref,f),m=Object(Be.a)((function(e){var t=p.current;if(p.current=!1,d.current&&u.current&&!function(e){return document.documentElement.clientWidth-1;else n=!Object(Fe.a)(u.current).documentElement.contains(e.target)||u.current.contains(e.target);n||!r&&t||o(e)}})),g=function(e){return function(n){p.current=!0;var r=t.props[e];r&&r(n)}},v={ref:h};return!1!==l&&(v[l]=g(l)),D.useEffect((function(){if(!1!==l){var e=Ve(l),t=Object(Fe.a)(u.current),n=function(){c.current=!0};return t.addEventListener(e,m),t.addEventListener("touchmove",n),function(){t.removeEventListener(e,m),t.removeEventListener("touchmove",n)}}}),[m,l]),!1!==i&&(v[i]=g(i)),D.useEffect((function(){if(!1!==i){var e=Ve(i),t=Object(Fe.a)(u.current);return t.addEventListener(e,m),function(){t.removeEventListener(e,m)}}}),[m,i]),D.createElement(D.Fragment,null,D.cloneElement(t,v))},Ge=n(14),Ye=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.component,i=void 0===a?"div":a,o=e.disableGutters,s=void 0!==o&&o,l=e.fixed,c=void 0!==l&&l,u=e.maxWidth,d=void 0===u?"lg":u,p=Object(k.a)(e,["classes","className","component","disableGutters","fixed","maxWidth"]);return D.createElement(i,Object(C.a)({className:Object(z.default)(n.root,r,c&&n.fixed,s&&n.disableGutters,!1!==d&&n["maxWidth".concat(Object(_e.a)(String(d)))]),ref:t},p))})),We=Object(H.a)((function(e){return{root:Object(Ge.a)({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",paddingLeft:e.spacing(2),paddingRight:e.spacing(2),display:"block"},e.breakpoints.up("sm"),{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}),disableGutters:{paddingLeft:0,paddingRight:0},fixed:Object.keys(e.breakpoints.values).reduce((function(t,n){var r=e.breakpoints.values[n];return 0!==r&&(t[e.breakpoints.up(n)]={maxWidth:r}),t}),{}),maxWidthXs:Object(Ge.a)({},e.breakpoints.up("xs"),{maxWidth:Math.max(e.breakpoints.values.xs,444)}),maxWidthSm:Object(Ge.a)({},e.breakpoints.up("sm"),{maxWidth:e.breakpoints.values.sm}),maxWidthMd:Object(Ge.a)({},e.breakpoints.up("md"),{maxWidth:e.breakpoints.values.md}),maxWidthLg:Object(Ge.a)({},e.breakpoints.up("lg"),{maxWidth:e.breakpoints.values.lg}),maxWidthXl:Object(Ge.a)({},e.breakpoints.up("xl"),{maxWidth:e.breakpoints.values.xl})}}),{name:"MuiContainer"})(Ye),qe=n(1136),$e=n(241),Xe=n(1075),Ke=n(27),Qe={enter:Ke.b.enteringScreen,exit:Ke.b.leavingScreen},Ze=D.forwardRef((function(e,t){var n=e.BackdropProps,r=e.children,a=e.classes,i=e.className,o=e.disableBackdropClick,s=void 0!==o&&o,l=e.disableEscapeKeyDown,c=void 0!==l&&l,u=e.fullScreen,d=void 0!==u&&u,p=e.fullWidth,f=void 0!==p&&p,h=e.maxWidth,m=void 0===h?"sm":h,g=e.onBackdropClick,v=e.onClose,b=e.onEnter,_=e.onEntered,y=e.onEntering,E=e.onEscapeKeyDown,S=e.onExit,x=e.onExited,O=e.onExiting,T=e.open,w=e.PaperComponent,A=void 0===w?F.a:w,R=e.PaperProps,N=void 0===R?{}:R,M=e.scroll,I=void 0===M?"paper":M,L=e.TransitionComponent,P=void 0===L?Xe.a:L,j=e.transitionDuration,H=void 0===j?Qe:j,B=e.TransitionProps,V=e["aria-describedby"],U=e["aria-labelledby"],G=Object(k.a)(e,["BackdropProps","children","classes","className","disableBackdropClick","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClose","onEnter","onEntered","onEntering","onEscapeKeyDown","onExit","onExited","onExiting","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps","aria-describedby","aria-labelledby"]),Y=D.useRef();return D.createElement($e.a,Object(C.a)({className:Object(z.default)(a.root,i),BackdropComponent:ae.a,BackdropProps:Object(C.a)({transitionDuration:H},n),closeAfterTransition:!0,disableBackdropClick:s,disableEscapeKeyDown:c,onEscapeKeyDown:E,onClose:v,open:T,ref:t},G),D.createElement(P,Object(C.a)({appear:!0,in:T,timeout:H,onEnter:b,onEntering:y,onEntered:_,onExit:S,onExiting:O,onExited:x,role:"none presentation"},B),D.createElement("div",{className:Object(z.default)(a.container,a["scroll".concat(Object(_e.a)(I))]),onMouseUp:function(e){e.target===e.currentTarget&&e.target===Y.current&&(Y.current=null,g&&g(e),!s&&v&&v(e,"backdropClick"))},onMouseDown:function(e){Y.current=e.target}},D.createElement(A,Object(C.a)({elevation:24,role:"dialog","aria-describedby":V,"aria-labelledby":U},N,{className:Object(z.default)(a.paper,a["paperScroll".concat(Object(_e.a)(I))],a["paperWidth".concat(Object(_e.a)(String(m)))],N.className,d&&a.paperFullScreen,f&&a.paperFullWidth)}),r))))})),Je=Object(H.a)((function(e){return{root:{"@media print":{position:"absolute !important"}},scrollPaper:{display:"flex",justifyContent:"center",alignItems:"center"},scrollBody:{overflowY:"auto",overflowX:"hidden",textAlign:"center","&:after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}},container:{height:"100%","@media print":{height:"auto"},outline:0},paper:{margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},paperScrollPaper:{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},paperScrollBody:{display:"inline-block",verticalAlign:"middle",textAlign:"left"},paperWidthFalse:{maxWidth:"calc(100% - 64px)"},paperWidthXs:{maxWidth:Math.max(e.breakpoints.values.xs,444),"&$paperScrollBody":Object(Ge.a)({},e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+64),{maxWidth:"calc(100% - 64px)"})},paperWidthSm:{maxWidth:e.breakpoints.values.sm,"&$paperScrollBody":Object(Ge.a)({},e.breakpoints.down(e.breakpoints.values.sm+64),{maxWidth:"calc(100% - 64px)"})},paperWidthMd:{maxWidth:e.breakpoints.values.md,"&$paperScrollBody":Object(Ge.a)({},e.breakpoints.down(e.breakpoints.values.md+64),{maxWidth:"calc(100% - 64px)"})},paperWidthLg:{maxWidth:e.breakpoints.values.lg,"&$paperScrollBody":Object(Ge.a)({},e.breakpoints.down(e.breakpoints.values.lg+64),{maxWidth:"calc(100% - 64px)"})},paperWidthXl:{maxWidth:e.breakpoints.values.xl,"&$paperScrollBody":Object(Ge.a)({},e.breakpoints.down(e.breakpoints.values.xl+64),{maxWidth:"calc(100% - 64px)"})},paperFullWidth:{width:"calc(100% - 64px)"},paperFullScreen:{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,"&$paperScrollBody":{margin:0,maxWidth:"100%"}}}}),{name:"MuiDialog"})(Ze),et=D.forwardRef((function(e,t){var n=e.disableSpacing,r=void 0!==n&&n,a=e.classes,i=e.className,o=Object(k.a)(e,["disableSpacing","classes","className"]);return D.createElement("div",Object(C.a)({className:Object(z.default)(a.root,i,!r&&a.spacing),ref:t},o))})),tt=Object(H.a)({root:{display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},spacing:{"& > :not(:first-child)":{marginLeft:8}}},{name:"MuiDialogActions"})(et),nt=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.dividers,i=void 0!==a&&a,o=Object(k.a)(e,["classes","className","dividers"]);return D.createElement("div",Object(C.a)({className:Object(z.default)(n.root,r,i&&n.dividers),ref:t},o))})),rt=Object(H.a)((function(e){return{root:{flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"8px 24px","&:first-child":{paddingTop:20}},dividers:{padding:"16px 24px",borderTop:"1px solid ".concat(e.palette.divider),borderBottom:"1px solid ".concat(e.palette.divider)}}}),{name:"MuiDialogContent"})(nt),at=D.forwardRef((function(e,t){return D.createElement(pe.a,Object(C.a)({component:"p",variant:"body1",color:"textSecondary",ref:t},e))})),it=Object(H.a)({root:{marginBottom:12}},{name:"MuiDialogContentText"})(at),ot=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=e.disableTypography,o=void 0!==i&&i,s=Object(k.a)(e,["children","classes","className","disableTypography"]);return D.createElement("div",Object(C.a)({className:Object(z.default)(r.root,a),ref:t},s),o?n:D.createElement(pe.a,{component:"h2",variant:"h6"},n))})),st=Object(H.a)({root:{margin:0,padding:"16px 24px",flex:"0 0 auto"}},{name:"MuiDialogTitle"})(ot),lt=n(1117),ct=n(72);var ut=D.createContext({}),dt=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=e.defaultExpanded,o=void 0!==i&&i,s=e.disabled,l=void 0!==s&&s,c=e.expanded,u=e.onChange,d=e.square,p=void 0!==d&&d,f=e.TransitionComponent,h=void 0===f?j.a:f,m=e.TransitionProps,g=Object(k.a)(e,["children","classes","className","defaultExpanded","disabled","expanded","onChange","square","TransitionComponent","TransitionProps"]),v=Object(V.a)({controlled:c,default:o,name:"ExpansionPanel",state:"expanded"}),b=Object(I.a)(v,2),_=b[0],y=b[1],E=D.useCallback((function(e){y(!_),u&&u(e,!_)}),[_,u,y]),S=M(D.Children.toArray(n)),x=S[0],O=S.slice(1),T=D.useMemo((function(){return{expanded:_,disabled:l,toggle:E}}),[_,l,E]);return D.createElement(F.a,Object(C.a)({className:Object(z.default)(r.root,a,_&&r.expanded,l&&r.disabled,!p&&r.rounded),ref:t,square:p},g),D.createElement(ut.Provider,{value:T},x),D.createElement(h,Object(C.a)({in:_,timeout:"auto"},m),D.createElement("div",{"aria-labelledby":x.props.id,id:x.props["aria-controls"],role:"region"},O)))})),pt=Object(H.a)((function(e){var t={duration:e.transitions.duration.shortest};return{root:{position:"relative",transition:e.transitions.create(["margin"],t),"&:before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:e.palette.divider,transition:e.transitions.create(["opacity","background-color"],t)},"&:first-child":{"&:before":{display:"none"}},"&$expanded":{margin:"16px 0","&:first-child":{marginTop:0},"&:last-child":{marginBottom:0},"&:before":{opacity:0}},"&$expanded + &":{"&:before":{display:"none"}},"&$disabled":{backgroundColor:e.palette.action.disabledBackground}},rounded:{borderRadius:0,"&:first-child":{borderTopLeftRadius:e.shape.borderRadius,borderTopRightRadius:e.shape.borderRadius},"&:last-child":{borderBottomLeftRadius:e.shape.borderRadius,borderBottomRightRadius:e.shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}},expanded:{},disabled:{}}}),{name:"MuiExpansionPanel"})(dt),ft=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.disableSpacing,i=void 0!==a&&a,o=Object(k.a)(e,["classes","className","disableSpacing"]);return D.createElement("div",Object(C.a)({className:Object(z.default)(n.root,r,!i&&n.spacing),ref:t},o))})),ht=Object(H.a)({root:{display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end"},spacing:{"& > :not(:first-child)":{marginLeft:8}}},{name:"MuiExpansionPanelActions"})(ft),mt=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=Object(k.a)(e,["classes","className"]);return D.createElement("div",Object(C.a)({className:Object(z.default)(n.root,r),ref:t},a))})),gt=Object(H.a)((function(e){return{root:{display:"flex",padding:e.spacing(1,2,2)}}}),{name:"MuiExpansionPanelDetails"})(mt),vt=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=e.expandIcon,o=e.IconButtonProps,s=e.onBlur,l=e.onClick,c=e.onFocusVisible,u=Object(k.a)(e,["children","classes","className","expandIcon","IconButtonProps","onBlur","onClick","onFocusVisible"]),d=D.useState(!1),p=d[0],f=d[1],h=D.useContext(ut),m=h.disabled,g=void 0!==m&&m,v=h.expanded,b=h.toggle;return D.createElement(X.a,Object(C.a)({focusRipple:!1,disableRipple:!0,disabled:g,component:"div","aria-expanded":v,className:Object(z.default)(r.root,a,g&&r.disabled,v&&r.expanded,p&&r.focused),onFocusVisible:function(e){f(!0),c&&c(e)},onBlur:function(e){f(!1),s&&s(e)},onClick:function(e){b&&b(e),l&&l(e)},ref:t},u),D.createElement("div",{className:Object(z.default)(r.content,v&&r.expanded)},n),i&&D.createElement(K.a,Object(C.a)({className:Object(z.default)(r.expandIcon,v&&r.expanded),edge:"end",component:"div",tabIndex:null,role:null,"aria-hidden":!0},o),i))})),bt=Object(H.a)((function(e){var t={duration:e.transitions.duration.shortest};return{root:{display:"flex",minHeight:48,transition:e.transitions.create(["min-height","background-color"],t),padding:e.spacing(0,2),"&:hover:not($disabled)":{cursor:"pointer"},"&$expanded":{minHeight:64},"&$focused":{backgroundColor:e.palette.action.focus},"&$disabled":{opacity:e.palette.action.disabledOpacity}},expanded:{},focused:{},disabled:{},content:{display:"flex",flexGrow:1,transition:e.transitions.create(["margin"],t),margin:"12px 0","&$expanded":{margin:"20px 0"}},expandIcon:{transform:"rotate(0deg)",transition:e.transitions.create("transform",t),"&:hover":{backgroundColor:"transparent"},"&$expanded":{transform:"rotate(180deg)"}}}}),{name:"MuiExpansionPanelSummary"})(vt),_t=n(1115),yt=n(1076),Et=n(317),St=n(131),xt=n(488),Ot=n(489),Tt=n(1077),Ct=n(1078),wt=n(1129),At=D.forwardRef((function(e,t){var n=e.cellHeight,r=void 0===n?180:n,a=e.children,i=e.classes,o=e.className,s=e.cols,l=void 0===s?2:s,c=e.component,u=void 0===c?"ul":c,d=e.spacing,p=void 0===d?4:d,f=e.style,h=Object(k.a)(e,["cellHeight","children","classes","className","cols","component","spacing","style"]);return D.createElement(u,Object(C.a)({className:Object(z.default)(i.root,o),ref:t,style:Object(C.a)({margin:-p/2},f)},h),D.Children.map(a,(function(e){if(!D.isValidElement(e))return null;var t=e.props.cols||1,n=e.props.rows||1;return D.cloneElement(e,{style:Object(C.a)({width:"".concat(100/l*t,"%"),height:"auto"===r?"auto":r*n+p,padding:p/2},e.props.style)})})))})),Rt=Object(H.a)({root:{display:"flex",flexWrap:"wrap",overflowY:"auto",listStyle:"none",padding:0,WebkitOverflowScrolling:"touch"}},{name:"MuiGridList"})(At),Nt=n(51),Mt=n(70),It=function(e,t){var n,r,a,i;e&&e.complete&&(e.width/e.height>e.parentElement.offsetWidth/e.parentElement.offsetHeight?((n=e.classList).remove.apply(n,Object(de.a)(t.imgFullWidth.split(" "))),(r=e.classList).add.apply(r,Object(de.a)(t.imgFullHeight.split(" ")))):((a=e.classList).remove.apply(a,Object(de.a)(t.imgFullHeight.split(" "))),(i=e.classList).add.apply(i,Object(de.a)(t.imgFullWidth.split(" ")))))};var kt=D.forwardRef((function(e,t){var n=e.children,r=e.classes,a=e.className,i=(e.cols,e.component),o=void 0===i?"li":i,s=(e.rows,Object(k.a)(e,["children","classes","className","cols","component","rows"])),l=D.useRef(null);return D.useEffect((function(){!function(e,t){e&&(e.complete?It(e,t):e.addEventListener("load",(function(){It(e,t)})))}(l.current,r)})),D.useEffect((function(){var e=Object(Nt.a)((function(){It(l.current,r)}));return window.addEventListener("resize",e),function(){e.clear(),window.removeEventListener("resize",e)}}),[r]),D.createElement(o,Object(C.a)({className:Object(z.default)(r.root,a),ref:t},s),D.createElement("div",{className:r.tile},D.Children.map(n,(function(e){return D.isValidElement(e)?"img"===e.type||Object(Mt.a)(e,["Image"])?D.cloneElement(e,{ref:l}):e:null}))))})),Dt=Object(H.a)({root:{boxSizing:"border-box",flexShrink:0},tile:{position:"relative",display:"block",height:"100%",overflow:"hidden"},imgFullHeight:{height:"100%",transform:"translateX(-50%)",position:"relative",left:"50%"},imgFullWidth:{width:"100%",position:"relative",transform:"translateY(-50%)",top:"50%"}},{name:"MuiGridListTile"})(kt),Lt=D.forwardRef((function(e,t){var n=e.actionIcon,r=e.actionPosition,a=void 0===r?"right":r,i=e.classes,o=e.className,s=e.subtitle,l=e.title,c=e.titlePosition,u=void 0===c?"bottom":c,d=Object(k.a)(e,["actionIcon","actionPosition","classes","className","subtitle","title","titlePosition"]),p=n&&a;return D.createElement("div",Object(C.a)({className:Object(z.default)(i.root,o,"top"===u?i.titlePositionTop:i.titlePositionBottom,s&&i.rootSubtitle),ref:t},d),D.createElement("div",{className:Object(z.default)(i.titleWrap,{left:i.titleWrapActionPosLeft,right:i.titleWrapActionPosRight}[p])},D.createElement("div",{className:i.title},l),s?D.createElement("div",{className:i.subtitle},s):null),n?D.createElement("div",{className:Object(z.default)(i.actionIcon,"left"===p&&i.actionIconActionPosLeft)},n):null)})),Pt=Object(H.a)((function(e){return{root:{position:"absolute",left:0,right:0,height:48,background:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",fontFamily:e.typography.fontFamily},titlePositionBottom:{bottom:0},titlePositionTop:{top:0},rootSubtitle:{height:68},titleWrap:{flexGrow:1,marginLeft:16,marginRight:16,color:e.palette.common.white,overflow:"hidden"},titleWrapActionPosLeft:{marginLeft:0},titleWrapActionPosRight:{marginRight:0},title:{fontSize:e.typography.pxToRem(16),lineHeight:"24px",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"},subtitle:{fontSize:e.typography.pxToRem(12),lineHeight:1,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"},actionIcon:{},actionIconActionPosLeft:{order:-1}}}),{name:"MuiGridListTileBar"})(Lt),zt=n(227),jt=n(1093),Ft=n(60),Ht=n.n(Ft),Bt=n(22),Vt=n(77),Ut=n(327);function Gt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object(Ut.a)(),r=Object(jt.a)({theme:n,name:"MuiUseMediaQuery",props:{}});var a="function"===typeof e?e(n):e;a=a.replace(/^@media( ?)/m,"");var i="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,o=Object(C.a)({},r,t),s=o.defaultMatches,l=void 0!==s&&s,c=o.matchMedia,u=void 0===c?i?window.matchMedia:null:c,d=o.noSsr,p=void 0!==d&&d,f=o.ssrMatchMedia,h=void 0===f?null:f,m=D.useState((function(){return p&&i?u(a).matches:h?h(a).matches:l})),g=m[0],v=m[1];return D.useEffect((function(){var e=!0;if(i){var t=u(a),n=function(){e&&v(t.matches)};return n(),t.addListener(n),function(){e=!1,t.removeListener(n)}}}),[a,u,i]),g}var Yt=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return n?Vt.b.indexOf(e)<=Vt.b.indexOf(t):Vt.b.indexOf(e)2&&void 0!==arguments[2])||arguments[2];return n?Vt.b.indexOf(t)<=Vt.b.indexOf(e):Vt.b.indexOf(t)0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=e.withTheme,r=void 0!==n&&n,a=e.noSSR,i=void 0!==a&&a,o=e.initialWidth;function s(e){var n=Object(Bt.a)(),a=e.theme||n,s=Object(jt.a)({theme:a,name:"MuiWithWidth",props:Object(C.a)({},e)}),l=s.initialWidth,c=s.width,u=Object(k.a)(s,["initialWidth","width"]),d=D.useState(!1),p=d[0],f=d[1];qt((function(){f(!0)}),[]);var h=a.breakpoints.keys.slice().reverse().reduce((function(e,t){var n=Gt(a.breakpoints.up(t));return!e&&n?t:e}),null),m=Object(C.a)({width:c||(p||i?h:void 0)||l||o},r?{theme:a}:{},u);return void 0===m.width?null:D.createElement(t,m)}return Ht()(s,t),s}};function Xt(e){var t=e.children,n=e.only,r=e.width,a=Object(Bt.a)(),i=!0;if(n)if(Array.isArray(n))for(var o=0;o0&&ue.some((function(e){return e.label}))&&i.marked,!1===H&&i.trackFalse,"vertical"===A&&i.vertical,"inverted"===H&&i.trackInverted),onMouseDown:Le},X),D.createElement("span",{className:i.rail}),D.createElement("span",{className:i.track,style:je}),D.createElement("input",{value:ce.join(","),name:S,type:"hidden"}),ue.map((function(e,t){var n,r=dr(e.value,E,_),a=mr[Ne].offset(r);return n=!1===H?-1!==ce.indexOf(e.value):"normal"===H&&(le?e.value>=ce[0]&&e.value<=ce[ce.length-1]:e.value<=ce[0])||"inverted"===H&&(le?e.value<=ce[0]||e.value>=ce[ce.length-1]:e.value>=ce[0]),D.createElement(D.Fragment,{key:e.value},D.createElement("span",{style:a,"data-index":t,className:Object(z.default)(i.mark,n&&i.markActive)}),null!=e.label?D.createElement("span",{"aria-hidden":!0,"data-index":t,style:a,className:Object(z.default)(i.markLabel,n&&i.markLabelActive)},e.label):null)})),ce.map((function(e,t){var o=dr(e,E,_),s=mr[Ne].offset(o);return D.createElement(G,{key:t,valueLabelFormat:$,valueLabelDisplay:W,className:i.valueLabel,value:"function"===typeof $?$(N(e),t):$,index:t,open:ne===t||J===t||"on"===W,disabled:f},D.createElement(j,{className:Object(z.default)(i.thumb,i["thumbColor".concat(Object(_e.a)(l))],J===t&&i.active,f&&i.disabled,ve===t&&i.focusVisible),tabIndex:f?null:0,role:"slider",style:s,"data-index":t,"aria-label":h?h(t):n,"aria-labelledby":r,"aria-orientation":A,"aria-valuemax":N(_),"aria-valuemin":N(E),"aria-valuenow":N(e),"aria-valuetext":m?m(N(e),t):a,onKeyDown:Ae,onFocus:xe,onBlur:Oe,onMouseOver:Te,onMouseLeave:Ce}))})))})),br=Object(H.a)((function(e){return{root:{height:2,width:"100%",boxSizing:"content-box",padding:"13px 0",display:"inline-block",position:"relative",cursor:"pointer",touchAction:"none",color:e.palette.primary.main,WebkitTapHighlightColor:"transparent","&$disabled":{pointerEvents:"none",cursor:"default",color:e.palette.grey[400]},"&$vertical":{width:2,height:"100%",padding:"0 13px"},"@media (pointer: coarse)":{padding:"20px 0","&$vertical":{padding:"0 20px"}},"@media print":{colorAdjust:"exact"}},colorPrimary:{},colorSecondary:{color:e.palette.secondary.main},marked:{marginBottom:20,"&$vertical":{marginBottom:"auto",marginRight:20}},vertical:{},disabled:{},rail:{display:"block",position:"absolute",width:"100%",height:2,borderRadius:1,backgroundColor:"currentColor",opacity:.38,"$vertical &":{height:"100%",width:2}},track:{display:"block",position:"absolute",height:2,borderRadius:1,backgroundColor:"currentColor","$vertical &":{width:2}},trackFalse:{"& $track":{display:"none"}},trackInverted:{"& $track":{backgroundColor:"light"===e.palette.type?Object(fe.i)(e.palette.primary.main,.62):Object(fe.a)(e.palette.primary.main,.5)},"& $rail":{opacity:1}},thumb:{position:"absolute",width:12,height:12,marginLeft:-6,marginTop:-5,boxSizing:"border-box",borderRadius:"50%",outline:0,backgroundColor:"currentColor",display:"flex",alignItems:"center",justifyContent:"center",transition:e.transitions.create(["box-shadow"],{duration:e.transitions.duration.shortest}),"&::after":{position:"absolute",content:'""',borderRadius:"50%",left:-15,top:-15,right:-15,bottom:-15},"&$focusVisible,&:hover":{boxShadow:"0px 0px 0px 8px ".concat(Object(fe.d)(e.palette.primary.main,.16)),"@media (hover: none)":{boxShadow:"none"}},"&$active":{boxShadow:"0px 0px 0px 14px ".concat(Object(fe.d)(e.palette.primary.main,.16))},"&$disabled":{width:8,height:8,marginLeft:-4,marginTop:-3,"&:hover":{boxShadow:"none"}},"$vertical &":{marginLeft:-5,marginBottom:-6},"$vertical &$disabled":{marginLeft:-3,marginBottom:-4}},thumbColorPrimary:{},thumbColorSecondary:{"&$focusVisible,&:hover":{boxShadow:"0px 0px 0px 8px ".concat(Object(fe.d)(e.palette.secondary.main,.16))},"&$active":{boxShadow:"0px 0px 0px 14px ".concat(Object(fe.d)(e.palette.secondary.main,.16))}},active:{},focusVisible:{},valueLabel:{left:"calc(-50% - 4px)"},mark:{position:"absolute",width:2,height:2,borderRadius:1,backgroundColor:"currentColor"},markActive:{backgroundColor:e.palette.background.paper,opacity:.8},markLabel:Object(C.a)({},e.typography.body2,{color:e.palette.text.secondary,position:"absolute",top:26,transform:"translateX(-50%)",whiteSpace:"nowrap","$vertical &":{top:"auto",left:26,transform:"translateY(50%)"},"@media (pointer: coarse)":{top:40,"$vertical &":{left:31}}}),markLabelActive:{color:e.palette.text.primary}}}),{name:"MuiSlider"})(vr),_r=D.forwardRef((function(e,t){var n=e.action,r=e.classes,a=e.className,i=e.message,o=e.role,s=void 0===o?"alert":o,l=Object(k.a)(e,["action","classes","className","message","role"]);return D.createElement(F.a,Object(C.a)({role:s,square:!0,elevation:6,className:Object(z.default)(r.root,a),ref:t},l),D.createElement("div",{className:r.message},i),n?D.createElement("div",{className:r.action},n):null)})),yr=Object(H.a)((function(e){var t="light"===e.palette.type?.8:.98,n=Object(fe.c)(e.palette.background.default,t);return{root:Object(C.a)({},e.typography.body2,Object(Ge.a)({color:e.palette.getContrastText(n),backgroundColor:n,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:e.shape.borderRadius,flexGrow:1},e.breakpoints.up("sm"),{flexGrow:"initial",minWidth:288})),message:{padding:"8px 0"},action:{display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}}}),{name:"MuiSnackbarContent"})(_r),Er=D.forwardRef((function(e,t){var n=e.action,r=e.anchorOrigin,a=(r=void 0===r?{vertical:"bottom",horizontal:"center"}:r).vertical,i=r.horizontal,o=e.autoHideDuration,s=void 0===o?null:o,l=e.children,c=e.classes,u=e.className,d=e.ClickAwayListenerProps,p=e.ContentProps,f=e.disableWindowBlurListener,h=void 0!==f&&f,m=e.message,g=e.onClose,v=e.onEnter,b=e.onEntered,_=e.onEntering,y=e.onExit,E=e.onExited,S=e.onExiting,x=e.onMouseEnter,O=e.onMouseLeave,T=e.open,w=e.resumeHideDuration,A=e.TransitionComponent,R=void 0===A?zt.a:A,N=e.transitionDuration,M=void 0===N?{enter:Ke.b.enteringScreen,exit:Ke.b.leavingScreen}:N,I=e.TransitionProps,L=Object(k.a)(e,["action","anchorOrigin","autoHideDuration","children","classes","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onClose","onEnter","onEntered","onEntering","onExit","onExited","onExiting","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"]),P=D.useRef(),j=D.useState(!0),F=j[0],H=j[1],B=Object(Be.a)((function(){g&&g.apply(void 0,arguments)})),V=Object(Be.a)((function(e){g&&null!=e&&(clearTimeout(P.current),P.current=setTimeout((function(){B(null,"timeout")}),e))}));D.useEffect((function(){return T&&V(s),function(){clearTimeout(P.current)}}),[T,s,V]);var U=function(){clearTimeout(P.current)},G=D.useCallback((function(){null!=s&&V(null!=w?w:.5*s)}),[s,w,V]);return D.useEffect((function(){if(!h&&T)return window.addEventListener("focus",G),window.addEventListener("blur",U),function(){window.removeEventListener("focus",G),window.removeEventListener("blur",U)}}),[h,G,T]),!T&&F?null:D.createElement(Ue,Object(C.a)({onClickAway:function(e){g&&g(e,"clickaway")}},d),D.createElement("div",Object(C.a)({className:Object(z.default)(c.root,c["anchorOrigin".concat(Object(_e.a)(a)).concat(Object(_e.a)(i))],u),onMouseEnter:function(e){x&&x(e),U()},onMouseLeave:function(e){O&&O(e),G()},ref:t},L),D.createElement(R,Object(C.a)({appear:!0,in:T,onEnter:Object(jn.a)((function(){H(!1)}),v),onEntered:b,onEntering:_,onExit:y,onExited:Object(jn.a)((function(){H(!0)}),E),onExiting:S,timeout:M,direction:"top"===a?"down":"up"},I),l||D.createElement(yr,Object(C.a)({message:m,action:n},p)))))})),Sr=Object(H.a)((function(e){var t={top:8},n={bottom:8},r={justifyContent:"flex-end"},a={justifyContent:"flex-start"},i={top:24},o={bottom:24},s={right:24},l={left:24},c={left:"50%",right:"auto",transform:"translateX(-50%)"};return{root:{zIndex:e.zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},anchorOriginTopCenter:Object(C.a)({},t,Object(Ge.a)({},e.breakpoints.up("sm"),Object(C.a)({},i,c))),anchorOriginBottomCenter:Object(C.a)({},n,Object(Ge.a)({},e.breakpoints.up("sm"),Object(C.a)({},o,c))),anchorOriginTopRight:Object(C.a)({},t,r,Object(Ge.a)({},e.breakpoints.up("sm"),Object(C.a)({left:"auto"},i,s))),anchorOriginBottomRight:Object(C.a)({},n,r,Object(Ge.a)({},e.breakpoints.up("sm"),Object(C.a)({left:"auto"},o,s))),anchorOriginTopLeft:Object(C.a)({},t,a,Object(Ge.a)({},e.breakpoints.up("sm"),Object(C.a)({right:"auto"},i,l))),anchorOriginBottomLeft:Object(C.a)({},n,a,Object(Ge.a)({},e.breakpoints.up("sm"),Object(C.a)({right:"auto"},o,l)))}}),{flip:!1,name:"MuiSnackbar"})(Er),xr=D.forwardRef((function(e,t){var n=e.active,r=void 0!==n&&n,a=e.alternativeLabel,i=e.children,o=e.classes,s=e.className,l=e.completed,c=void 0!==l&&l,u=e.connector,d=e.disabled,p=void 0!==d&&d,f=e.expanded,h=void 0!==f&&f,m=e.index,g=e.last,v=e.orientation,b=Object(k.a)(e,["active","alternativeLabel","children","classes","className","completed","connector","disabled","expanded","index","last","orientation"]),_=u?D.cloneElement(u,{orientation:v,alternativeLabel:a,index:m,active:r,completed:c,disabled:p}):null,y=D.createElement("div",Object(C.a)({className:Object(z.default)(o.root,o[v],s,a&&o.alternativeLabel,c&&o.completed),ref:t},b),_&&a&&0!==m?_:null,D.Children.map(i,(function(e){return D.isValidElement(e)?D.cloneElement(e,Object(C.a)({active:r,alternativeLabel:a,completed:c,disabled:p,expanded:h,last:g,icon:m+1,orientation:v},e.props)):null})));return _&&!a&&0!==m?D.createElement(D.Fragment,null,_,y):y})),Or=Object(H.a)({root:{},horizontal:{paddingLeft:8,paddingRight:8},vertical:{},alternativeLabel:{flex:1,position:"relative"},completed:{}},{name:"MuiStep"})(xr),Tr=Object(ee.a)(D.createElement("path",{d:"M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z"}),"CheckCircle"),Cr=Object(ee.a)(D.createElement("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"}),"Warning"),wr=n(148),Ar=D.createElement("circle",{cx:"12",cy:"12",r:"12"}),Rr=D.forwardRef((function(e,t){var n=e.completed,r=void 0!==n&&n,a=e.icon,i=e.active,o=void 0!==i&&i,s=e.error,l=void 0!==s&&s,c=e.classes;if("number"===typeof a||"string"===typeof a){var u=Object(z.default)(c.root,o&&c.active,l&&c.error,r&&c.completed);return l?D.createElement(Cr,{className:u,ref:t}):r?D.createElement(Tr,{className:u,ref:t}):D.createElement(wr.a,{className:u,ref:t},Ar,D.createElement("text",{className:c.text,x:"12",y:"16",textAnchor:"middle"},a))}return a})),Nr=Object(H.a)((function(e){return{root:{display:"block",color:e.palette.text.disabled,"&$completed":{color:e.palette.primary.main},"&$active":{color:e.palette.primary.main},"&$error":{color:e.palette.error.main}},text:{fill:e.palette.primary.contrastText,fontSize:e.typography.caption.fontSize,fontFamily:e.typography.fontFamily},active:{},completed:{},error:{}}}),{name:"MuiStepIcon"})(Rr),Mr=D.forwardRef((function(e,t){var n=e.active,r=void 0!==n&&n,a=e.alternativeLabel,i=void 0!==a&&a,o=e.children,s=e.classes,l=e.className,c=e.completed,u=void 0!==c&&c,d=e.disabled,p=void 0!==d&&d,f=e.error,h=void 0!==f&&f,m=(e.expanded,e.icon),g=(e.last,e.optional),v=e.orientation,b=void 0===v?"horizontal":v,_=e.StepIconComponent,y=e.StepIconProps,E=Object(k.a)(e,["active","alternativeLabel","children","classes","className","completed","disabled","error","expanded","icon","last","optional","orientation","StepIconComponent","StepIconProps"]),S=_;return m&&!S&&(S=Nr),D.createElement("span",Object(C.a)({className:Object(z.default)(s.root,s[b],l,p&&s.disabled,i&&s.alternativeLabel,h&&s.error),ref:t},E),m||S?D.createElement("span",{className:Object(z.default)(s.iconContainer,i&&s.alternativeLabel)},D.createElement(S,Object(C.a)({completed:u,active:r,error:h,icon:m},y))):null,D.createElement("span",{className:s.labelContainer},o?D.createElement(pe.a,{variant:"body2",component:"span",display:"block",className:Object(z.default)(s.label,i&&s.alternativeLabel,u&&s.completed,r&&s.active,h&&s.error)},o):null,g))}));Mr.muiName="StepLabel";var Ir=Object(H.a)((function(e){return{root:{display:"flex",alignItems:"center","&$alternativeLabel":{flexDirection:"column"},"&$disabled":{cursor:"default"}},horizontal:{},vertical:{},label:{color:e.palette.text.secondary,"&$active":{color:e.palette.text.primary,fontWeight:500},"&$completed":{color:e.palette.text.primary,fontWeight:500},"&$alternativeLabel":{textAlign:"center",marginTop:16},"&$error":{color:e.palette.error.main}},active:{},completed:{},error:{},disabled:{},iconContainer:{flexShrink:0,display:"flex",paddingRight:8,"&$alternativeLabel":{paddingRight:0}},alternativeLabel:{},labelContainer:{width:"100%"}}}),{name:"MuiStepLabel"})(Mr),kr=D.forwardRef((function(e,t){var n=e.active,r=e.alternativeLabel,a=e.children,i=e.classes,o=e.className,s=e.completed,l=e.disabled,c=(e.expanded,e.icon),u=(e.last,e.optional),d=e.orientation,p=Object(k.a)(e,["active","alternativeLabel","children","classes","className","completed","disabled","expanded","icon","last","optional","orientation"]),f={active:n,alternativeLabel:r,completed:s,disabled:l,icon:c,optional:u,orientation:d},h=Object(Mt.a)(a,["StepLabel"])?D.cloneElement(a,f):D.createElement(Ir,f,a);return D.createElement(X.a,Object(C.a)({focusRipple:!0,disabled:l,TouchRippleProps:{className:i.touchRipple},className:Object(z.default)(i.root,i[d],o),ref:t},p),h)})),Dr=Object(H.a)({root:{width:"100%",padding:"24px 16px",margin:"-24px -16px",boxSizing:"content-box"},horizontal:{},vertical:{justifyContent:"flex-start",padding:"8px",margin:"-8px"},touchRipple:{color:"rgba(0, 0, 0, 0.3)"}},{name:"MuiStepButton"})(kr),Lr=D.forwardRef((function(e,t){var n=e.active,r=e.alternativeLabel,a=void 0!==r&&r,i=e.classes,o=e.className,s=e.completed,l=e.disabled,c=(e.index,e.orientation),u=void 0===c?"horizontal":c,d=Object(k.a)(e,["active","alternativeLabel","classes","className","completed","disabled","index","orientation"]);return D.createElement("div",Object(C.a)({className:Object(z.default)(i.root,i[u],o,a&&i.alternativeLabel,n&&i.active,s&&i.completed,l&&i.disabled),ref:t},d),D.createElement("span",{className:Object(z.default)(i.line,{horizontal:i.lineHorizontal,vertical:i.lineVertical}[u])}))})),Pr=Object(H.a)((function(e){return{root:{flex:"1 1 auto"},horizontal:{},vertical:{marginLeft:12,padding:"0 0 8px"},alternativeLabel:{position:"absolute",top:12,left:"calc(-50% + 20px)",right:"calc(50% + 20px)"},active:{},completed:{},disabled:{},line:{display:"block",borderColor:"light"===e.palette.type?e.palette.grey[400]:e.palette.grey[600]},lineHorizontal:{borderTopStyle:"solid",borderTopWidth:1},lineVertical:{borderLeftStyle:"solid",borderLeftWidth:1,minHeight:24}}}),{name:"MuiStepConnector"})(Lr),zr=D.forwardRef((function(e,t){var n=e.active,r=(e.alternativeLabel,e.children),a=e.classes,i=e.className,o=(e.completed,e.expanded),s=e.last,l=(e.optional,e.orientation,e.TransitionComponent),c=void 0===l?j.a:l,u=e.transitionDuration,d=void 0===u?"auto":u,p=e.TransitionProps,f=Object(k.a)(e,["active","alternativeLabel","children","classes","className","completed","expanded","last","optional","orientation","TransitionComponent","transitionDuration","TransitionProps"]);var h=d;return"auto"!==d||c.muiSupportAuto||(h=void 0),D.createElement("div",Object(C.a)({className:Object(z.default)(a.root,i,s&&a.last),ref:t},f),D.createElement(c,Object(C.a)({in:n||o,className:a.transition,timeout:h,unmountOnExit:!0},p),r))})),jr=Object(H.a)((function(e){return{root:{marginTop:8,marginLeft:12,paddingLeft:20,paddingRight:8,borderLeft:"1px solid ".concat("light"===e.palette.type?e.palette.grey[400]:e.palette.grey[600])},last:{borderLeft:"none"},transition:{}}}),{name:"MuiStepContent"})(zr),Fr=D.createElement(Pr,null),Hr=D.forwardRef((function(e,t){var n=e.activeStep,r=void 0===n?0:n,a=e.alternativeLabel,i=void 0!==a&&a,o=e.children,s=e.classes,l=e.className,c=e.connector,u=void 0===c?Fr:c,d=e.nonLinear,p=void 0!==d&&d,f=e.orientation,h=void 0===f?"horizontal":f,m=Object(k.a)(e,["activeStep","alternativeLabel","children","classes","className","connector","nonLinear","orientation"]),g=D.isValidElement(u)?D.cloneElement(u,{orientation:h}):null,v=D.Children.toArray(o),b=v.map((function(e,t){var n={index:t,active:!1,completed:!1,disabled:!1};return r===t?n.active=!0:!p&&r>t?n.completed=!0:!p&&r1&&void 0!==arguments[1]?arguments[1]:{},r=t.mode,a=void 0===r?null:r,o=t.changeTransition,l=void 0===o||o,c=Object(ct.b)(n,i),u=-1!==["right","bottom"].indexOf(c)?1:-1,d=Object(ct.c)(i),f=d?"translate(".concat(u*e,"px, 0)"):"translate(0, ".concat(u*e,"px)"),h=V.current.style;h.webkitTransform=f,h.transform=f;var m="";if(a&&(m=n.transitions.create("all",Object(Vr.a)({timeout:N},{mode:a}))),l&&(h.webkitTransition=m,h.transition=m),!s&&!p){var g=B.current.style;g.opacity=1-e/$r(d,V.current),l&&(g.webkitTransition=m,g.transition=m)}}),[i,s,p,n,N]),W=Object(Be.a)((function(e){if(U.current)if(Yr=null,U.current=!1,j(!1),F.current.isSwiping){F.current.isSwiping=null;var t,r=Object(ct.b)(n,i),a=Object(ct.c)(i);t=a?Wr(r,e.changedTouches):qr(r,e.changedTouches);var o=a?F.current.startX:F.current.startY,s=$r(a,V.current),l=Xr(t,o,S,s),c=l/s;Math.abs(F.current.velocity)>g&&(G.current=1e3*Math.abs((s-l)/F.current.velocity)),S?F.current.velocity>g||c>h?y():Y(0,{mode:"exit"}):F.current.velocity<-g||1-c>h?E():Y($r(a,V.current),{mode:"enter"})}else F.current.isSwiping=null})),q=Object(Be.a)((function(e){if(V.current&&U.current&&(null==Yr||Yr===F.current)){var t=Object(ct.b)(n,i),r=Object(ct.c)(i),a=Wr(t,e.touches),o=qr(t,e.touches);if(S&&V.current.contains(e.target)&&null==Yr){var s=function(e){var t=e.domTreeShapes,n=e.start,r=e.current,a=e.anchor,i={x:"scrollLeft",y:"scrollTop"},o={x:"scrollWidth",y:"scrollHeight"},s={x:"clientWidth",y:"clientHeight"};return t.some((function(e){var t=r>=n;"top"!==a&&"left"!==a||(t=!t);var l="left"===a||"right"===a?"x":"y",c=e[i[l]],u=c>0,d=c+e[s[l]]0&&e.scrollWidth>e.clientWidth||e.clientHeight>0&&e.scrollHeight>e.clientHeight)&&n.push(e),e=e.parentElement}return n}(e.target,V.current),start:r?F.current.startX:F.current.startY,current:r?a:o,anchor:i});if(s)return void(Yr=s);Yr=F.current}if(null==F.current.isSwiping){var l=Math.abs(a-F.current.startX),u=Math.abs(o-F.current.startY);l>u&&e.cancelable&&e.preventDefault();var d=r?l>u&&l>3:u>l&&u>3;if(!0===d||(r?u>3:l>3)){if(F.current.isSwiping=d,!d)return void W(e);F.current.startX=a,F.current.startY=o,c||S||(r?F.current.startX-=A:F.current.startY-=A)}}if(F.current.isSwiping){var p=$r(r,V.current),f=r?F.current.startX:F.current.startY;S&&!F.current.paperHit&&(f=Math.min(f,p));var h=Xr(r?a:o,f,S,p);if(S)if(F.current.paperHit)0===h&&(F.current.startX=a,F.current.startY=o);else{if(!(r?aA)return}else if(o>A)return}e.muiHandled=!0,Yr=null,F.current.startX=a,F.current.startY=o,j(!0),!S&&V.current&&Y($r(r,V.current)+(c?20:-A),{changeTransition:!1}),F.current.velocity=0,F.current.lastTime=null,F.current.lastTranslate=null,F.current.paperHit=!1,U.current=!0}}));D.useEffect((function(){if("temporary"===I){var e=Object(Fe.a)(V.current);return e.addEventListener("touchstart",$),e.addEventListener("touchmove",q,{passive:!1}),e.addEventListener("touchend",W),function(){e.removeEventListener("touchstart",$),e.removeEventListener("touchmove",q,{passive:!1}),e.removeEventListener("touchend",W)}}}),[I,$,q,W]),D.useEffect((function(){return function(){Yr===F.current&&(Yr=null)}}),[]),D.useEffect((function(){S||j(!1)}),[S]);var X=D.useCallback((function(e){B.current=je.findDOMNode(e)}),[]);return D.createElement(D.Fragment,null,D.createElement(ct.a,Object(C.a)({open:!("temporary"!==I||!z)||S,variant:I,ModalProps:Object(C.a)({BackdropProps:Object(C.a)({},b,{ref:X})},_),PaperProps:Object(C.a)({},O,{style:Object(C.a)({pointerEvents:"temporary"!==I||S?"":"none"},O.style),ref:V}),anchor:i,transitionDuration:G.current||N,onClose:y,ref:t},L)),!d&&"temporary"===I&&D.createElement(Rn,null,D.createElement(Gr,Object(C.a)({anchor:i,ref:H,width:A},T))))})),ea=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.color,i=void 0===a?"secondary":a,o=e.edge,s=void 0!==o&&o,l=e.size,c=void 0===l?"medium":l,u=Object(k.a)(e,["classes","className","color","edge","size"]),d=D.createElement("span",{className:n.thumb});return D.createElement("span",{className:Object(z.default)(n.root,r,{start:n.edgeStart,end:n.edgeEnd}[s],"small"===c&&n["size".concat(Object(_e.a)(c))])},D.createElement(Dn.a,Object(C.a)({type:"checkbox",icon:d,checkedIcon:d,classes:{root:Object(z.default)(n.switchBase,n["color".concat(Object(_e.a)(i))]),input:n.input,checked:n.checked,disabled:n.disabled},ref:t},u)),D.createElement("span",{className:n.track}))})),ta=Object(H.a)((function(e){return{root:{display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},edgeStart:{marginLeft:-8},edgeEnd:{marginRight:-8},switchBase:{position:"absolute",top:0,left:0,zIndex:1,color:"light"===e.palette.type?e.palette.grey[50]:e.palette.grey[400],transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest}),"&$checked":{transform:"translateX(20px)"},"&$disabled":{color:"light"===e.palette.type?e.palette.grey[400]:e.palette.grey[800]},"&$checked + $track":{opacity:.5},"&$disabled + $track":{opacity:"light"===e.palette.type?.12:.1}},colorPrimary:{"&$checked":{color:e.palette.primary.main,"&:hover":{backgroundColor:Object(fe.d)(e.palette.primary.main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&$disabled":{color:"light"===e.palette.type?e.palette.grey[400]:e.palette.grey[800]},"&$checked + $track":{backgroundColor:e.palette.primary.main},"&$disabled + $track":{backgroundColor:"light"===e.palette.type?e.palette.common.black:e.palette.common.white}},colorSecondary:{"&$checked":{color:e.palette.secondary.main,"&:hover":{backgroundColor:Object(fe.d)(e.palette.secondary.main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&$disabled":{color:"light"===e.palette.type?e.palette.grey[400]:e.palette.grey[800]},"&$checked + $track":{backgroundColor:e.palette.secondary.main},"&$disabled + $track":{backgroundColor:"light"===e.palette.type?e.palette.common.black:e.palette.common.white}},sizeSmall:{width:40,height:24,padding:7,"& $thumb":{width:16,height:16},"& $switchBase":{padding:4,"&$checked":{transform:"translateX(16px)"}}},checked:{},disabled:{},input:{left:"-100%",width:"300%"},thumb:{boxShadow:e.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"},track:{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:e.transitions.create(["opacity","background-color"],{duration:e.transitions.duration.shortest}),backgroundColor:"light"===e.palette.type?e.palette.common.black:e.palette.common.white,opacity:"light"===e.palette.type?.38:.3}}}),{name:"MuiSwitch"})(ea),na=n(1137),ra=n(450),aa=n(454),ia=n(453),oa=D.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.component,i=void 0===a?"div":a,o=Object(k.a)(e,["classes","className","component"]);return D.createElement(i,Object(C.a)({ref:t,className:Object(z.default)(n.root,r)},o))})),sa=Object(H.a)({root:{width:"100%",overflowX:"auto"}},{name:"MuiTableContainer"})(oa),la=n(490),ca=n(451),ua=n(505),da=n(452),pa=n(506),fa=n(2074),ha=n(1138),ma=n(491),ga=n(1068),va=n(396),ba=n(492),_a=n(1114);function ya(e,t){var n=t.disableHysteresis,r=void 0!==n&&n,a=t.threshold,i=void 0===a?100:a,o=t.target,s=e.current;return o&&(e.current=void 0!==o.pageYOffset?o.pageYOffset:o.scrollTop),!(!r&&void 0!==s&&e.currenti}var Ea="undefined"!==typeof window?window:null;function Sa(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.getTrigger,n=void 0===t?ya:t,r=e.target,a=void 0===r?Ea:r,i=Object(k.a)(e,["getTrigger","target"]),o=D.useRef(),s=D.useState((function(){return n(o,i)})),l=s[0],c=s[1];return D.useEffect((function(){var e=function(){c(n(o,Object(C.a)({target:a},i)))};return e(),a.addEventListener("scroll",e),function(){a.removeEventListener("scroll",e)}}),[a,n,JSON.stringify(i)]),l}var xa=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=e.breakpoint,r=void 0===n?"sm":n;return $t()((function(e){return D.createElement(t,Object(C.a)({fullScreen:Wt(r,e.width)},e))}))}},Oa=n(181),Ta={entering:{transform:"none"},entered:{transform:"none"}},Ca={enter:Ke.b.enteringScreen,exit:Ke.b.leavingScreen},wa=D.forwardRef((function(e,t){var n=e.children,r=e.disableStrictModeCompat,a=void 0!==r&&r,i=e.in,o=e.onEnter,s=e.onEntered,l=e.onEntering,c=e.onExit,u=e.onExited,d=e.onExiting,p=e.style,f=e.timeout,h=void 0===f?Ca:f,m=e.TransitionComponent,g=void 0===m?Oa.a:m,v=Object(k.a)(e,["children","disableStrictModeCompat","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"]),b=Object(Bt.a)(),_=b.unstable_strictMode&&!a,y=D.useRef(null),E=Object(He.a)(n.ref,t),S=Object(He.a)(_?y:void 0,E),x=function(e){return function(t,n){if(e){var r=_?[y.current,t]:[t,n],a=Object(I.a)(r,2),i=a[0],o=a[1];void 0===o?e(i):e(i,o)}}},O=x(l),T=x((function(e,t){Object(Vr.b)(e);var n=Object(Vr.a)({style:p,timeout:h},{mode:"enter"});e.style.webkitTransition=b.transitions.create("transform",n),e.style.transition=b.transitions.create("transform",n),o&&o(e,t)})),w=x(s),A=x(d),R=x((function(e){var t=Object(Vr.a)({style:p,timeout:h},{mode:"exit"});e.style.webkitTransition=b.transitions.create("transform",t),e.style.transition=b.transitions.create("transform",t),c&&c(e)})),N=x(u);return D.createElement(g,Object(C.a)({appear:!0,in:i,nodeRef:_?y:void 0,onEnter:T,onEntered:w,onEntering:O,onExit:R,onExited:N,onExiting:A,timeout:h},v),(function(e,t){return D.cloneElement(n,Object(C.a)({style:Object(C.a)({transform:"scale(0)",visibility:"exited"!==e||i?void 0:"hidden"},Ta[e],p,n.props.style),ref:S},t))}))}))},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){"function"===typeof e?e(t):e&&(e.current=t)}n.d(t,"a",(function(){return r}))},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return q})),n.d(t,"b",(function(){return K})),n.d(t,"c",(function(){return ge})),n.d(t,"d",(function(){return d})),n.d(t,"e",(function(){return he})),n.d(t,"f",(function(){return me})),n.d(t,"g",(function(){return f}));var r=n(3),a=n(116),i=(n(89),n(84)),o=n(33),s=n(113),l=n(54),c={}.constructor;function u(e){if(null==e||"object"!==typeof e)return e;if(Array.isArray(e))return e.map(u);if(e.constructor!==c)return e;var t={};for(var n in e)t[n]=u(e[n]);return t}function d(e,t,n){void 0===e&&(e="unnamed");var r=n.jss,a=u(t),i=r.plugins.onCreateRule(e,a,n);return i||(e[0],null)}var p=function(e,t){for(var n="",r=0;r<+~=|^:(),"'`\s])/g,v="undefined"!==typeof CSS&&CSS.escape,b=function(e){return v?v(e):e.replace(g,"\\$1")},_=function(){function e(e,t,n){this.type="style",this.key=void 0,this.isProcessed=!1,this.style=void 0,this.renderer=void 0,this.renderable=void 0,this.options=void 0;var r=n.sheet,a=n.Renderer;this.key=e,this.options=n,this.style=t,r?this.renderer=r.renderer:a&&(this.renderer=new a)}return e.prototype.prop=function(e,t,n){if(void 0===t)return this.style[e];var r=!!n&&n.force;if(!r&&this.style[e]===t)return this;var a=t;n&&!1===n.process||(a=this.options.jss.plugins.onChangeValue(t,e,this));var i=null==a||!1===a,o=e in this.style;if(i&&!o&&!r)return this;var s=i&&o;if(s?delete this.style[e]:this.style[e]=a,this.renderable&&this.renderer)return s?this.renderer.removeProperty(this.renderable,e):this.renderer.setProperty(this.renderable,e,a),this;var l=this.options.sheet;return l&&l.attached,this},e}(),y=function(e){function t(t,n,r){var a;(a=e.call(this,t,n,r)||this).selectorText=void 0,a.id=void 0,a.renderable=void 0;var i=r.selector,o=r.scoped,l=r.sheet,c=r.generateId;return i?a.selectorText=i:!1!==o&&(a.id=c(Object(s.a)(Object(s.a)(a)),l),a.selectorText="."+b(a.id)),a}Object(o.a)(t,e);var n=t.prototype;return n.applyTo=function(e){var t=this.renderer;if(t){var n=this.toJSON();for(var r in n)t.setProperty(e,r,n[r])}return this},n.toJSON=function(){var e={};for(var t in this.style){var n=this.style[t];"object"!==typeof n?e[t]=n:Array.isArray(n)&&(e[t]=f(n))}return e},n.toString=function(e){var t=this.options.sheet,n=!!t&&t.options.link?Object(r.a)({},e,{allowEmpty:!0}):e;return m(this.selectorText,this.style,n)},Object(i.a)(t,[{key:"selector",set:function(e){if(e!==this.selectorText){this.selectorText=e;var t=this.renderer,n=this.renderable;if(n&&t)t.setSelector(n,e)||t.replaceRule(n,this)}},get:function(){return this.selectorText}}]),t}(_),E={onCreateRule:function(e,t,n){return"@"===e[0]||n.parent&&"keyframes"===n.parent.type?null:new y(e,t,n)}},S={indent:1,children:!0},x=/@([\w-]+)/,O=function(){function e(e,t,n){this.type="conditional",this.at=void 0,this.key=void 0,this.query=void 0,this.rules=void 0,this.options=void 0,this.isProcessed=!1,this.renderable=void 0,this.key=e,this.query=n.name;var a=e.match(x);for(var i in this.at=a?a[1]:"unknown",this.options=n,this.rules=new q(Object(r.a)({},n,{parent:this})),t)this.rules.add(i,t[i]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.indexOf=function(e){return this.rules.indexOf(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return r?(this.options.jss.plugins.onProcessRule(r),r):null},t.toString=function(e){if(void 0===e&&(e=S),null==e.indent&&(e.indent=S.indent),null==e.children&&(e.children=S.children),!1===e.children)return this.query+" {}";var t=this.rules.toString(e);return t?this.query+" {\n"+t+"\n}":""},e}(),T=/@media|@supports\s+/,C={onCreateRule:function(e,t,n){return T.test(e)?new O(e,t,n):null}},w={indent:1,children:!0},A=/@keyframes\s+([\w-]+)/,R=function(){function e(e,t,n){this.type="keyframes",this.at="@keyframes",this.key=void 0,this.name=void 0,this.id=void 0,this.rules=void 0,this.options=void 0,this.isProcessed=!1,this.renderable=void 0;var a=e.match(A);a&&a[1]?this.name=a[1]:this.name="noname",this.key=this.type+"-"+this.name,this.options=n;var i=n.scoped,o=n.sheet,s=n.generateId;for(var l in this.id=!1===i?this.name:b(s(this,o)),this.rules=new q(Object(r.a)({},n,{parent:this})),t)this.rules.add(l,t[l],Object(r.a)({},n,{parent:this}));this.rules.process()}return e.prototype.toString=function(e){if(void 0===e&&(e=w),null==e.indent&&(e.indent=w.indent),null==e.children&&(e.children=w.children),!1===e.children)return this.at+" "+this.id+" {}";var t=this.rules.toString(e);return t&&(t="\n"+t+"\n"),this.at+" "+this.id+" {"+t+"}"},e}(),N=/@keyframes\s+/,M=/\$([\w-]+)/g,I=function(e,t){return"string"===typeof e?e.replace(M,(function(e,n){return n in t?t[n]:e})):e},k=function(e,t,n){var r=e[t],a=I(r,n);a!==r&&(e[t]=a)},D={onCreateRule:function(e,t,n){return"string"===typeof e&&N.test(e)?new R(e,t,n):null},onProcessStyle:function(e,t,n){return"style"===t.type&&n?("animation-name"in e&&k(e,"animation-name",n.keyframes),"animation"in e&&k(e,"animation",n.keyframes),e):e},onChangeValue:function(e,t,n){var r=n.options.sheet;if(!r)return e;switch(t){case"animation":case"animation-name":return I(e,r.keyframes);default:return e}}},L=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a=this.index)t.push(e);else for(var r=0;rn)return void t.splice(r,0,e)},t.reset=function(){this.registry=[]},t.remove=function(e){var t=this.registry.indexOf(e);this.registry.splice(t,1)},t.toString=function(e){for(var t=void 0===e?{}:e,n=t.attached,r=Object(l.a)(t,["attached"]),a="",i=0;i0){var n=function(e,t){for(var n=0;nt.index&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e);if(n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element};if((n=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.attached&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e))&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element.nextSibling}}var r=e.insertionPoint;if(r&&"string"===typeof r){var a=function(e){for(var t=se(),n=0;nr)&&(n=r);try{if("insertRule"in e)e.insertRule(t,n);else if("appendRule"in e){e.appendRule(t)}}catch(a){return!1}return e.cssRules[n]},de=function(){function e(e){this.getPropertyValue=re,this.setProperty=ae,this.removeProperty=ie,this.setSelector=oe,this.element=void 0,this.sheet=void 0,this.hasInsertedRules=!1,e&&Q.add(e),this.sheet=e;var t=this.sheet?this.sheet.options:{},n=t.media,r=t.meta,a=t.element;this.element=a||function(){var e=document.createElement("style");return e.textContent="\n",e}(),this.element.setAttribute("data-jss",""),n&&this.element.setAttribute("media",n),r&&this.element.setAttribute("data-meta",r);var i=ce();i&&this.element.setAttribute("nonce",i)}var t=e.prototype;return t.attach=function(){if(!this.element.parentNode&&this.sheet){!function(e,t){var n=t.insertionPoint,r=le(t);if(!1!==r&&r.parent)r.parent.insertBefore(e,r.node);else if(n&&"number"===typeof n.nodeType){var a=n,i=a.parentNode;i&&i.insertBefore(e,a.nextSibling)}else se().appendChild(e)}(this.element,this.sheet.options);var e=Boolean(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&e&&(this.hasInsertedRules=!1,this.deploy())}},t.detach=function(){var e=this.element.parentNode;e&&e.removeChild(this.element)},t.deploy=function(){var e=this.sheet;e&&(e.options.link?this.insertRules(e.rules):this.element.textContent="\n"+e.toString()+"\n")},t.insertRules=function(e,t){for(var n=0;n1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}if(e=k(e,360),t=k(t,100),n=k(n,100),0===t)r=a=i=n;else{var s=n<.5?n*(1+t):n+t-n*t,l=2*n-s;r=o(l,s,e+1/3),a=o(l,s,e),i=o(l,s,e-1/3)}return{r:255*r,g:255*a,b:255*i}}(e.h,r,l),d=!0,p="hsl"),e.hasOwnProperty("a")&&(n=e.a));var f,h,m;return n=I(n),{ok:d,format:e.format||p,r:c(255,u(t.r,0)),g:c(255,u(t.g,0)),b:c(255,u(t.b,0)),a:n}}(e);this._originalInput=e,this._r=n.r,this._g=n.g,this._b=n.b,this._a=n.a,this._roundA=l(100*this._a)/100,this._format=t.format||n.format,this._gradientType=t.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=n.ok,this._tc_id=s++}function f(e,t,n){e=k(e,255),t=k(t,255),n=k(n,255);var r,a,i=u(e,t,n),o=c(e,t,n),s=(i+o)/2;if(i==o)r=a=0;else{var l=i-o;switch(a=s>.5?l/(2-i-o):l/(i+o),i){case e:r=(t-n)/l+(t>1)+720)%360;--t;)r.h=(r.h+a)%360,i.push(p(r));return i}function R(e,t){t=t||6;for(var n=p(e).toHsv(),r=n.h,a=n.s,i=n.v,o=[],s=1/t;t--;)o.push(p({h:r,s:a,v:i})),i=(i+s)%1;return o}p.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,n,r=this.toRgb();return e=r.r/255,t=r.g/255,n=r.b/255,.2126*(e<=.03928?e/12.92:a.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:a.pow((t+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:a.pow((n+.055)/1.055,2.4))},setAlpha:function(e){return this._a=I(e),this._roundA=l(100*this._a)/100,this},toHsv:function(){var e=h(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=h(this._r,this._g,this._b),t=l(360*e.h),n=l(100*e.s),r=l(100*e.v);return 1==this._a?"hsv("+t+", "+n+"%, "+r+"%)":"hsva("+t+", "+n+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var e=f(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=f(this._r,this._g,this._b),t=l(360*e.h),n=l(100*e.s),r=l(100*e.l);return 1==this._a?"hsl("+t+", "+n+"%, "+r+"%)":"hsla("+t+", "+n+"%, "+r+"%, "+this._roundA+")"},toHex:function(e){return m(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,n,r,a){var i=[P(l(e).toString(16)),P(l(t).toString(16)),P(l(n).toString(16)),P(j(r))];if(a&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1))return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0);return i.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*k(this._r,255))+"%",g:l(100*k(this._g,255))+"%",b:l(100*k(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*k(this._r,255))+"%, "+l(100*k(this._g,255))+"%, "+l(100*k(this._b,255))+"%)":"rgba("+l(100*k(this._r,255))+"%, "+l(100*k(this._g,255))+"%, "+l(100*k(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(M[m(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+g(this._r,this._g,this._b,this._a),n=t,r=this._gradientType?"GradientType = 1, ":"";if(e){var a=p(e);n="#"+g(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+t+",endColorstr="+n+")"},toString:function(e){var t=!!e;e=e||this._format;var n=!1,r=this._a<1&&this._a>=0;return t||!r||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return p(this.toString())},_applyModification:function(e,t){var n=e.apply(null,[this].concat([].slice.call(t)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(y,arguments)},brighten:function(){return this._applyModification(E,arguments)},darken:function(){return this._applyModification(S,arguments)},desaturate:function(){return this._applyModification(v,arguments)},saturate:function(){return this._applyModification(b,arguments)},greyscale:function(){return this._applyModification(_,arguments)},spin:function(){return this._applyModification(x,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(O,arguments)},monochromatic:function(){return this._applyCombination(R,arguments)},splitcomplement:function(){return this._applyCombination(w,arguments)},triad:function(){return this._applyCombination(T,arguments)},tetrad:function(){return this._applyCombination(C,arguments)}},p.fromRatio=function(e,t){if("object"==typeof e){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]="a"===r?e[r]:z(e[r]));e=n}return p(e,t)},p.equals=function(e,t){return!(!e||!t)&&p(e).toRgbString()==p(t).toRgbString()},p.random=function(){return p.fromRatio({r:d(),g:d(),b:d()})},p.mix=function(e,t,n){n=0===n?0:n||50;var r=p(e).toRgb(),a=p(t).toRgb(),i=n/100;return p({r:(a.r-r.r)*i+r.r,g:(a.g-r.g)*i+r.g,b:(a.b-r.b)*i+r.b,a:(a.a-r.a)*i+r.a})},p.readability=function(e,t){var n=p(e),r=p(t);return(a.max(n.getLuminance(),r.getLuminance())+.05)/(a.min(n.getLuminance(),r.getLuminance())+.05)},p.isReadable=function(e,t,n){var r,a,i=p.readability(e,t);switch(a=!1,(r=function(e){var t,n;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),n=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==n&&"large"!==n&&(n="small");return{level:t,size:n}}(n)).level+r.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7}return a},p.mostReadable=function(e,t,n){var r,a,i,o,s=null,l=0;a=(n=n||{}).includeFallbackColors,i=n.level,o=n.size;for(var c=0;cl&&(l=r,s=p(t[c]));return p.isReadable(e,s,{level:i,size:o})||!a?s:(n.includeFallbackColors=!1,p.mostReadable(e,["#fff","#000"],n))};var N=p.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},M=p.hexNames=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}(N);function I(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function k(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var n=function(e){return"string"===typeof e&&-1!=e.indexOf("%")}(e);return e=c(t,u(0,parseFloat(e))),n&&(e=parseInt(e*t,10)/100),a.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function D(e){return c(1,u(0,e))}function L(e){return parseInt(e,16)}function P(e){return 1==e.length?"0"+e:""+e}function z(e){return e<=1&&(e=100*e+"%"),e}function j(e){return a.round(255*parseFloat(e)).toString(16)}function F(e){return L(e)/255}var H=function(){var e="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",t="[\\s|\\(]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")\\s*\\)?",n="[\\s|\\(]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")[,|\\s]+("+e+")\\s*\\)?";return{CSS_UNIT:new RegExp(e),rgb:new RegExp("rgb"+t),rgba:new RegExp("rgba"+n),hsl:new RegExp("hsl"+t),hsla:new RegExp("hsla"+n),hsv:new RegExp("hsv"+t),hsva:new RegExp("hsva"+n),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function B(e){return!!H.CSS_UNIT.exec(e)}e.exports?e.exports=p:void 0===(r=function(){return p}.call(t,n,t,e))||(e.exports=r)}(Math)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=c(n(202)),a=c(n(9)),i=c(n(1005)),o=c(n(1008)),s=c(n(1010)),l=c(n(1017));function c(e){return e&&e.__esModule?e:{default:e}}function u(e,t,n){if((0,l.default)(e.prevProps,n)){var r=n.match(/^default(\S+)/);if(r){var a=(0,s.default)(r[1]);(0,l.default)(e.nextProps,a)||(e.nextProps[a]=e.prevProps[n])}else e.nextProps[n]=e.prevProps[n]}return e}function d(e,t,n,r){(0,o.default)(e,(function(e,a){var i=n[a];i!==t[a]&&e(r,i)}))}function p(e,t,n){var s=(0,i.default)(n,(function(n,r,i){return(0,a.default)(e.props[i])&&n.push(google.maps.event.addListener(t,r,e.props[i])),n}),[]);e.unregisterAllEvents=(0,r.default)(o.default,null,s,f)}function f(e){google.maps.event.removeListener(e)}t.construct=function(e,t,n,r){var a=(0,i.default)(e,u,{nextProps:{},prevProps:n}).nextProps;d(t,{},a,r)},t.componentDidMount=function(e,t,n){p(e,t,n)},t.componentDidUpdate=function(e,t,n,r,a){e.unregisterAllEvents(),d(r,a,e.props,t),p(e,t,n)},t.componentWillUnmount=function(e){e.unregisterAllEvents()}},function(e,t,n){"use strict";function r(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:166;function r(){for(var r=arguments.length,a=new Array(r),i=0;i=0||(a[n]=e[n]);return a}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!==typeof e||!e||"object"!==typeof t||!t)return!1;var i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}n.d(t,"a",(function(){return r}))},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(11);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0;p--){var f=o[p];"."===f?i(o,p):".."===f?(i(o,p),d++):d&&(i(o,p),d--)}if(!c)for(;d--;d)o.unshift("..");!c||""===o[0]||o[0]&&a(o[0])||o.unshift("");var h=o.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function s(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"===typeof t||"object"===typeof n){var r=s(t),a=s(n);return r!==t||a!==n?e(r,a):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(66);function u(e){return"/"===e.charAt(0)?e:"/"+e}function d(e){return"/"===e.charAt(0)?e.substr(1):e}function p(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function f(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function m(e,t,n,a){var i;"string"===typeof e?(i=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(i=Object(r.a)({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(i.key=n),a?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=o(i.pathname,a.pathname)):i.pathname=a.pathname:i.pathname||(i.pathname="/"),i}function g(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function v(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var i="function"===typeof e?e(t,n):e;"string"===typeof i?"function"===typeof r?r(i,a):a(!0):a(!1!==i)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,r):n.push(r),d({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=m(e,t,p(),y.location);u.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(y.entries[y.index]=r,d({action:"REPLACE",location:r}))}))},go:_,goBack:function(){_(-1)},goForward:function(){_(1)},canGo:function(e){var t=y.index+e;return t>=0&&t2&&void 0!==arguments[2]?arguments[2]:m;if(e.length!==t.length)return!1;for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:E,t=arguments.length>1?arguments[1]:void 0,n=t.payload;switch(t.type){case c:case u:return{initialSourceClientOffset:n.sourceClientOffset,initialClientOffset:n.clientOffset,clientOffset:n.clientOffset};case p:return g(e.clientOffset,n.clientOffset)?e:_(_({},e),{},{clientOffset:n.clientOffset});case h:case f:return E;default:return e}}var x="dnd-core/ADD_SOURCE",O="dnd-core/ADD_TARGET",T="dnd-core/REMOVE_SOURCE",C="dnd-core/REMOVE_TARGET";function w(e){return(w="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function A(e,t,n){return t.split(".").reduce((function(e,t){return e&&e[t]?e[t]:n||null}),e)}function R(e,t){return e.filter((function(e){return e!==t}))}function N(e){return"object"===w(e)}function M(e,t){var n=new Map,r=function(e){n.set(e,n.has(e)?n.get(e)+1:1)};e.forEach(r),t.forEach(r);var a=[];return n.forEach((function(e,t){1===e&&a.push(t)})),a}function I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function k(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:L,t=arguments.length>1?arguments[1]:void 0,n=t.payload;switch(t.type){case u:return k(k({},e),{},{itemType:n.itemType,item:n.item,sourceId:n.sourceId,isSourcePublic:n.isSourcePublic,dropResult:null,didDrop:!1});case d:return k(k({},e),{},{isSourcePublic:!0});case p:return k(k({},e),{},{targetIds:n.targetIds});case C:return-1===e.targetIds.indexOf(n.targetId)?e:k(k({},e),{},{targetIds:R(e.targetIds,n.targetId)});case f:return k(k({},e),{},{dropResult:n.dropResult,didDrop:!0,targetIds:[]});case h:return k(k({},e),{},{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function z(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case x:case O:return e+1;case T:case C:return e-1;default:return e}}var j=[],F=[];function H(e,t){return e!==j&&(e===F||"undefined"===typeof t||(n=e,t.filter((function(e){return n.indexOf(e)>-1}))).length>0);var n}function B(){var e=arguments.length>1?arguments[1]:void 0;switch(e.type){case p:break;case x:case O:case C:case T:return j;case u:case d:case h:case f:default:return F}var t=e.payload,n=t.targetIds,r=void 0===n?[]:n,a=t.prevTargetIds,i=void 0===a?[]:a,o=M(r,i),s=o.length>0||!v(r,i);if(!s)return j;var l=i[i.length-1],c=r[r.length-1];return l!==c&&(l&&o.push(l),c&&o.push(c)),o}function V(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e+1}function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function G(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return{dirtyHandlerIds:B(e.dirtyHandlerIds,{type:t.type,payload:G(G({},t.payload),{},{prevTargetIds:A(e,"dragOperation.targetIds",[])})}),dragOffset:S(e.dragOffset,t),refCount:z(e.refCount,t),dragOperation:P(e.dragOperation,t),stateId:V(e.stateId)}}j.__IS_NONE__=!0,F.__IS_ALL__=!0;var q=n(10);function $(e,t){return{type:c,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}var X={type:c,payload:{clientOffset:null,sourceClientOffset:null}};function K(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{publishSource:!0},r=n.publishSource,a=void 0===r||r,i=n.clientOffset,o=n.getSourceClientOffset,s=e.getMonitor(),l=e.getRegistry();e.dispatch($(i)),Q(t,s,l);var c=ee(t,s);if(null!==c){var d=null;if(i){if(!o)throw new Error("getSourceClientOffset must be defined");Z(o),d=o(c)}e.dispatch($(i,d));var p=l.getSource(c),f=p.beginDrag(s,c);J(f),l.pinSource(c);var h=l.getSourceType(c);return{type:u,payload:{itemType:h,item:f,sourceId:c,clientOffset:i||null,sourceClientOffset:d||null,isSourcePublic:!!a}}}e.dispatch(X)}}function Q(e,t,n){Object(q.a)(!t.isDragging(),"Cannot call beginDrag while dragging."),e.forEach((function(e){Object(q.a)(n.getSource(e),"Expected sourceIds to be registered.")}))}function Z(e){Object(q.a)("function"===typeof e,"When clientOffset is provided, getSourceClientOffset must be a function.")}function J(e){Object(q.a)(N(e),"Item must be an object.")}function ee(e,t){for(var n=null,r=e.length-1;r>=0;r--)if(t.canDragSource(e[r])){n=e[r];break}return n}function te(e){return function(){if(e.getMonitor().isDragging())return{type:d}}}function ne(e,t){return null===t?null===e:Array.isArray(e)?e.some((function(e){return e===t})):e===t}function re(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.clientOffset;ae(t);var a=t.slice(0),i=e.getMonitor(),o=e.getRegistry();ie(a,i,o);var s=i.getItemType();return oe(a,o,s),se(a,i,o),{type:p,payload:{targetIds:a,clientOffset:r||null}}}}function ae(e){Object(q.a)(Array.isArray(e),"Expected targetIds to be an array.")}function ie(e,t,n){Object(q.a)(t.isDragging(),"Cannot call hover while not dragging."),Object(q.a)(!t.didDrop(),"Cannot call hover after drop.");for(var r=0;r=0;r--){var a=e[r];ne(t.getTargetType(a),n)||e.splice(r,1)}}function se(e,t,n){e.forEach((function(e){n.getTarget(e).hover(t,e)}))}function le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ce(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=e.getMonitor(),r=e.getRegistry();pe(n);var a=he(n);a.forEach((function(a,i){var o=fe(a,i,r,n),s={type:f,payload:{dropResult:ce(ce({},t),o)}};e.dispatch(s)}))}}function pe(e){Object(q.a)(e.isDragging(),"Cannot call drop while not dragging."),Object(q.a)(!e.didDrop(),"Cannot call drop twice during one drag operation.")}function fe(e,t,n,r){var a=n.getTarget(e),i=a?a.drop(r,e):void 0;return function(e){Object(q.a)("undefined"===typeof e||N(e),"Drop result must either be an object or undefined.")}(i),"undefined"===typeof i&&(i=0===t?{}:r.getDropResult()),i}function he(e){var t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function me(e){return function(){var t=e.getMonitor(),n=e.getRegistry();!function(e){Object(q.a)(e.isDragging(),"Cannot call endDrag while not dragging.")}(t);var r=t.getSourceId();null!=r&&(n.getSource(r,!0).endDrag(t,r),n.unpinSource());return{type:h}}}function ge(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ve(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{handlerIds:void 0},r=n.handlerIds;Object(q.a)("function"===typeof e,"listener must be a function."),Object(q.a)("undefined"===typeof r||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");var a=this.store.getState().stateId,i=function(){var n=t.store.getState(),i=n.stateId;try{i===a||i===a+1&&!H(n.dirtyHandlerIds,r)||e()}finally{a=i}};return this.store.subscribe(i)}},{key:"subscribeToOffsetChange",value:function(e){var t=this;Object(q.a)("function"===typeof e,"listener must be a function.");var n=this.store.getState().dragOffset;return this.store.subscribe((function(){var r=t.store.getState().dragOffset;r!==n&&(n=r,e())}))}},{key:"canDragSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e);return Object(q.a)(t,"Expected to find a valid source."),!this.isDragging()&&t.canDrag(this,e)}},{key:"canDropOnTarget",value:function(e){if(!e)return!1;var t=this.registry.getTarget(e);return Object(q.a)(t,"Expected to find a valid target."),!(!this.isDragging()||this.didDrop())&&ne(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e)}},{key:"isDragging",value:function(){return Boolean(this.getItemType())}},{key:"isDraggingSource",value:function(e){if(!e)return!1;var t=this.registry.getSource(e,!0);return Object(q.a)(t,"Expected to find a valid source."),!(!this.isDragging()||!this.isSourcePublic())&&this.registry.getSourceType(e)===this.getItemType()&&t.isDragging(this,e)}},{key:"isOverTarget",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shallow:!1};if(!e)return!1;var n=t.shallow;if(!this.isDragging())return!1;var r=this.registry.getTargetType(e),a=this.getItemType();if(a&&!ne(r,a))return!1;var i=this.getTargetIds();if(!i.length)return!1;var o=i.indexOf(e);return n?o===i.length-1:o>-1}},{key:"getItemType",value:function(){return this.store.getState().dragOperation.itemType}},{key:"getItem",value:function(){return this.store.getState().dragOperation.item}},{key:"getSourceId",value:function(){return this.store.getState().dragOperation.sourceId}},{key:"getTargetIds",value:function(){return this.store.getState().dragOperation.targetIds}},{key:"getDropResult",value:function(){return this.store.getState().dragOperation.dropResult}},{key:"didDrop",value:function(){return this.store.getState().dragOperation.didDrop}},{key:"isSourcePublic",value:function(){return Boolean(this.store.getState().dragOperation.isSourcePublic)}},{key:"getInitialClientOffset",value:function(){return this.store.getState().dragOffset.initialClientOffset}},{key:"getInitialSourceClientOffset",value:function(){return this.store.getState().dragOffset.initialSourceClientOffset}},{key:"getClientOffset",value:function(){return this.store.getState().dragOffset.clientOffset}},{key:"getSourceClientOffset",value:function(){return function(e){var t,n,r=e.clientOffset,a=e.initialClientOffset,i=e.initialSourceClientOffset;return r&&a&&i?ge((n=i,{x:(t=r).x+n.x,y:t.y+n.y}),a):null}(this.store.getState().dragOffset)}},{key:"getDifferenceFromInitialOffset",value:function(){return function(e){var t=e.clientOffset,n=e.initialClientOffset;return t&&n?ge(t,n):null}(this.store.getState().dragOffset)}}])&&ve(t.prototype,n),r&&ve(t,r),e}(),ye=0;function Ee(e){return(Ee="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Se(e,t){t&&Array.isArray(e)?e.forEach((function(e){return Se(e,!1)})):Object(q.a)("string"===typeof e||"symbol"===Ee(e),t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}!function(e){e.SOURCE="SOURCE",e.TARGET="TARGET"}(be||(be={}));var xe=n(325),Oe=[],Te=[],Ce=xe.a.makeRequestCallFromTimer((function(){if(Te.length)throw Te.shift()}));function we(e){var t;(t=Oe.length?Oe.pop():new Ae).task=e,Object(xe.a)(t)}var Ae=function(){function e(){}return e.prototype.call=function(){try{this.task.call()}catch(e){we.onerror?we.onerror(e):(Te.push(e),Ce())}finally{this.task=null,Oe[Oe.length]=this}},e}();function Re(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]&&arguments[1];Object(q.a)(this.isSourceId(e),"Expected a valid source ID.");var n=t&&e===this.pinnedSourceId,r=n?this.pinnedSource:this.dragSources.get(e);return r}},{key:"getTarget",value:function(e){return Object(q.a)(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}},{key:"getSourceType",value:function(e){return Object(q.a)(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}},{key:"getTargetType",value:function(e){return Object(q.a)(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}},{key:"isSourceId",value:function(e){return ke(e)===be.SOURCE}},{key:"isTargetId",value:function(e){return ke(e)===be.TARGET}},{key:"removeSource",value:function(e){var t=this;Object(q.a)(this.getSource(e),"Expected an existing source."),this.store.dispatch(function(e){return{type:T,payload:{sourceId:e}}}(e)),we((function(){t.dragSources.delete(e),t.types.delete(e)}))}},{key:"removeTarget",value:function(e){Object(q.a)(this.getTarget(e),"Expected an existing target."),this.store.dispatch(function(e){return{type:C,payload:{targetId:e}}}(e)),this.dropTargets.delete(e),this.types.delete(e)}},{key:"pinSource",value:function(e){var t=this.getSource(e);Object(q.a)(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}},{key:"unpinSource",value:function(){Object(q.a)(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}},{key:"addHandler",value:function(e,t,n){var r=Ie(e);return this.types.set(r,t),e===be.SOURCE?this.dragSources.set(r,n):e===be.TARGET&&this.dropTargets.set(r,n),r}}])&&Re(t.prototype,n),r&&Re(t,r),e}();function Pe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ze(e,t){for(var n=0;n0&&void 0!==arguments[0]&&arguments[0];Pe(this,e),this.isSetUp=!1,this.handleRefCountChange=function(){var e=t.store.getState().refCount>0;t.backend&&(e&&!t.isSetUp?(t.backend.setup(),t.isSetUp=!0):!e&&t.isSetUp&&(t.backend.teardown(),t.isSetUp=!1))};var r=je(n);this.store=r,this.monitor=new _e(r,new Le(r)),r.subscribe(this.handleRefCountChange)}var t,n,r;return t=e,(n=[{key:"receiveBackend",value:function(e){this.backend=e}},{key:"getMonitor",value:function(){return this.monitor}},{key:"getBackend",value:function(){return this.backend}},{key:"getRegistry",value:function(){return this.monitor.registry}},{key:"getActions",value:function(){var e=this,t=this.store.dispatch,n=function(e){return{beginDrag:K(e),publishDragSource:te(e),hover:re(e),drop:de(e),endDrag:me(e)}}(this);return Object.keys(n).reduce((function(r,a){var i,o=n[a];return r[a]=(i=o,function(){for(var n=arguments.length,r=new Array(n),a=0;a0?r:e)-c/100).concat(s,")")},between:p,only:function(e){return p(e,e)},width:function(e){return n[e]}},u)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){var r=n(294)("wks"),a=n(199),i=n(95).Symbol,o="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=o&&i[e]||(o?i:a)("Symbol."+e))}).store=r},function(e,t,n){"use strict";n.d(t,"a",(function(){return h}));var r=n(0),a=n(18),i=!0,o=!1,s=null,l={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function c(e){e.metaKey||e.altKey||e.ctrlKey||(i=!0)}function u(){i=!1}function d(){"hidden"===this.visibilityState&&o&&(i=!0)}function p(e){var t=e.target;try{return t.matches(":focus-visible")}catch(n){}return i||function(e){var t=e.type,n=e.tagName;return!("INPUT"!==n||!l[t]||e.readOnly)||("TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable)}(t)}function f(){o=!0,window.clearTimeout(s),s=window.setTimeout((function(){o=!1}),100)}function h(){return{isFocusVisible:p,onBlurVisible:f,ref:r.useCallback((function(e){var t,n=a.findDOMNode(e);null!=n&&((t=n.ownerDocument).addEventListener("keydown",c,!0),t.addEventListener("mousedown",u,!0),t.addEventListener("pointerdown",u,!0),t.addEventListener("touchstart",u,!0),t.addEventListener("visibilitychange",d,!0))}),[])}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return v}));var r=n(30),a=n(33),i=n(0),o=n.n(i),s=n(73),l=(n(2),n(3)),c=n(54),u=n(66);o.a.Component;var d=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a=0||(a[n]=e[n]);return a}var u={list:new Map,emitQueue:new Map,on:function(e,t){return this.list.has(e)||this.list.set(e,[]),this.list.get(e).push(t),this},off:function(e,t){if(t){var n=this.list.get(e).filter((function(e){return e!==t}));return this.list.set(e,n),this}return this.list.delete(e),this},cancelEmit:function(e){var t=this.emitQueue.get(e);return t&&(t.forEach((function(e){return clearTimeout(e)})),this.emitQueue.delete(e)),this},emit:function(e){for(var t=this,n=arguments.length,r=new Array(n>1?n-1:0),a=1;a=1?"onTransitionEnd":"onAnimationEnd"]=f&&h<1?null:function(){g&&o()},n);return Object(r.createElement)("div",Object.assign({className:b,style:v},_))}x.defaultProps={type:y.DEFAULT,hide:!1};var O=function(e){var t,n=function(e){var t=Object(r.useState)(!0),n=t[0],a=t[1],i=Object(r.useState)(!1),o=i[0],s=i[1],l=Object(r.useRef)(null),c=B({start:0,x:0,y:0,deltaX:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,boundingRect:null}),u=B(e,!0),d=e.autoClose,p=e.pauseOnHover,f=e.closeToast,m=e.onClick,g=e.closeOnClick;function v(t){var n=l.current;c.canCloseOnClick=!0,c.canDrag=!0,c.boundingRect=n.getBoundingClientRect(),n.style.transition="",c.start=c.x=U(t.nativeEvent),c.removalDistance=n.offsetWidth*(e.draggablePercent/100)}function b(){if(c.boundingRect){var t=c.boundingRect,n=t.top,r=t.bottom,a=t.left,i=t.right;e.pauseOnHover&&c.x>=a&&c.x<=i&&c.y>=n&&c.y<=r?y():_()}}function _(){a(!0)}function y(){a(!1)}function E(e){var t=l.current;c.canDrag&&(n&&y(),c.x=U(e),c.deltaX=c.x-c.start,c.y=function(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientY:e.clientY}(e),c.start!==c.x&&(c.canCloseOnClick=!1),t.style.transform="translateX("+c.deltaX+"px)",t.style.opacity=""+(1-Math.abs(c.deltaX/c.removalDistance)))}function S(){var t=l.current;if(c.canDrag){if(c.canDrag=!1,Math.abs(c.deltaX)>c.removalDistance)return s(!0),void e.closeToast();t.style.transition="transform 0.2s, opacity 0.2s",t.style.transform="translateX(0)",t.style.opacity="1"}}Object(r.useEffect)((function(){return h(e.onOpen)&&e.onOpen(Object(r.isValidElement)(e.children)&&e.children.props),function(){h(u.onClose)&&u.onClose(Object(r.isValidElement)(u.children)&&u.children.props)}}),[]),Object(r.useEffect)((function(){return e.draggable&&(document.addEventListener("mousemove",E),document.addEventListener("mouseup",S),document.addEventListener("touchmove",E),document.addEventListener("touchend",S)),function(){e.draggable&&(document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",S),document.removeEventListener("touchmove",E),document.removeEventListener("touchend",S))}}),[e.draggable]),Object(r.useEffect)((function(){return e.pauseOnFocusLoss&&(window.addEventListener("focus",_),window.addEventListener("blur",y)),function(){e.pauseOnFocusLoss&&(window.removeEventListener("focus",_),window.removeEventListener("blur",y))}}),[e.pauseOnFocusLoss]);var x={onMouseDown:v,onTouchStart:v,onMouseUp:b,onTouchEnd:b};d&&p&&(x.onMouseEnter=y,x.onMouseLeave=_);g&&(x.onClick=function(e){m&&m(e),c.canCloseOnClick&&f()});return{playToast:_,pauseToast:y,isRunning:n,preventExitTransition:o,toastRef:l,eventHandlers:x}}(e),a=n.isRunning,i=n.preventExitTransition,o=n.toastRef,l=n.eventHandlers,c=e.closeButton,u=e.children,d=e.autoClose,p=e.onClick,f=e.type,m=e.hideProgressBar,g=e.closeToast,v=e.transition,b=e.position,_=e.className,y=e.style,E=e.bodyClassName,S=e.bodyStyle,O=e.progressClassName,T=e.progressStyle,C=e.updateId,w=e.role,A=e.progress,R=e.rtl,N=e.toastId,M=e.deleteToast,I=s()("Toastify__toast","Toastify__toast--"+f,((t={})["Toastify__toast--rtl"]=R,t),_),k=!!A;return Object(r.createElement)(v,{in:e.in,appear:!0,done:M,position:b,preventExitTransition:i,nodeRef:o},Object(r.createElement)("div",Object.assign({id:N,onClick:p,className:I},l,{style:y,ref:o}),Object(r.createElement)("div",Object.assign({},e.in&&{role:w},{className:s()("Toastify__toast-body",E),style:S}),u),function(e){if(!e)return null;var t={closeToast:g,type:f};return h(e)?e(t):Object(r.isValidElement)(e)?Object(r.cloneElement)(e,t):void 0}(c),(d||k)&&Object(r.createElement)(x,Object.assign({},C&&!k?{key:"pb-"+C}:{},{rtl:R,delay:d,isRunning:a,isIn:e.in,closeToast:g,hide:m,type:f,style:T,className:O,controlledProgress:k,progress:A}))))},T=E({enter:"Toastify__bounce-enter",exit:"Toastify__bounce-exit",appendPosition:!0}),C=function(e){var t=e.children,n=e.className,a=e.style,i=c(e,["children","className","style"]);return delete i.in,Object(r.createElement)("div",{className:n,style:a},r.Children.map(t,(function(e){return Object(r.cloneElement)(e,i)})))},w=function(e){var t=function(e){var t=Object(r.useReducer)((function(e){return e+1}),0)[1],n=Object(r.useReducer)(V,[]),a=n[0],i=n[1],o=Object(r.useRef)(null),s=B(0),l=B([]),v=B({}),_=B({toastKey:1,displayedToast:0,props:e,containerId:null,isToastActive:y,getToast:function(e){return v[e]||null}});function y(e){return-1!==a.indexOf(e)}function E(e){var t=e.containerId,n=_.props,r=n.limit,a=n.enableMultiContainer;r&&(!t||_.containerId===t&&a)&&(s-=l.length,l=[])}function S(e){var t=l.length;if((s=g(e)?s-1:s-_.displayedToast)<0&&(s=0),t>0){var n=g(e)?1:_.props.limit;if(1===t||1===n)_.displayedToast++,x();else{var r=n>t?t:n;_.displayedToast=r;for(var a=0;a0?C:w),hideProgressBar:p(u.hideProgressBar)?u.hideProgressBar:E.hideProgressBar,progress:u.progress,role:f(u.role)?u.role:E.role,deleteToast:function(){!function(e){delete v[e],t()}(g)}};h(u.onOpen)&&(A.onOpen=u.onOpen),h(u.onClose)&&(A.onClose=u.onClose);var R=E.closeButton;!1===u.closeButton||b(u.closeButton)?R=u.closeButton:!0===u.closeButton&&(R=!b(E.closeButton)||E.closeButton),A.closeButton=R;var N=e;Object(r.isValidElement)(e)&&!f(e.type)?N=Object(r.cloneElement)(e,{closeToast:x}):h(e)&&(N=e({closeToast:x})),E.limit&&E.limit>0&&s>E.limit&&O?l.push({toastContent:N,toastProps:A,staleId:i}):d(a)&&a>0?setTimeout((function(){T(N,A,i)}),a):T(N,A,i)}}function T(e,t,n){var r=t.toastId;v[r]={content:e,props:t},i({type:"ADD",toastId:r,staleId:n})}function C(t){for(var n={},r=e.newestOnTop?Object.keys(v).reverse():Object.keys(v),a=0;a0}function L(e,t){var n=function(e){return D()?M.get(e||A):null}(t.containerId);return n?n.getToast(e):null}function P(){return(Math.random().toString(36)+Date.now().toString(36)).substr(2,10)}function z(e){return e&&(f(e.toastId)||d(e.toastId))?e.toastId:P()}function j(e,t){return D()?u.emit(0,e,t):(I.push({content:e,options:t}),k&&v&&(k=!1,R=document.createElement("div"),document.body.appendChild(R),Object(a.render)(Object(r.createElement)(w,Object.assign({},N)),R))),t.toastId}function F(e,t){return l(l({},t),{},{type:t&&t.type||e,toastId:z(t)})}var H=function(e,t){return j(e,F(y.DEFAULT,t))};function B(e,t){void 0===t&&(t=!1);var n=Object(r.useRef)(e);return Object(r.useEffect)((function(){t&&(n.current=e)})),n.current}function V(e,t){switch(t.type){case"ADD":return[].concat(e,[t.toastId]).filter((function(e){return e!==t.staleId}));case"REMOVE":return g(t.toastId)?e.filter((function(e){return e!==t.toastId})):[]}}function U(e){return e.targetTouches&&e.targetTouches.length>=1?e.targetTouches[0].clientX:e.clientX}H.success=function(e,t){return j(e,F(y.SUCCESS,t))},H.info=function(e,t){return j(e,F(y.INFO,t))},H.error=function(e,t){return j(e,F(y.ERROR,t))},H.warning=function(e,t){return j(e,F(y.WARNING,t))},H.dark=function(e,t){return j(e,F(y.DARK,t))},H.warn=H.warning,H.dismiss=function(e){return D()&&u.emit(1,e)},H.clearWaitingQueue=function(e){return void 0===e&&(e={}),D()&&u.emit(5,e)},H.isActive=function(e){var t=!1;return M.forEach((function(n){n.isToastActive&&n.isToastActive(e)&&(t=!0)})),t},H.update=function(e,t){void 0===t&&(t={}),setTimeout((function(){var n=L(e,t);if(n){var r=n.props,a=n.content,i=l(l(l({},r),t),{},{toastId:t.toastId||e,updateId:P()});i.toastId!==e&&(i.staleId=e);var o="undefined"!==typeof i.render?i.render:a;delete i.render,j(o,i)}}),0)},H.done=function(e){H.update(e,{progress:1})},H.onChange=function(e){return h(e)&&u.on(4,e),function(){h(e)&&u.off(4,e)}},H.configure=function(e){void 0===e&&(e={}),k=!0,N=e},H.POSITION=_,H.TYPE=y,u.on(2,(function(e){A=e.containerId||e,M.set(A,e),I.forEach((function(e){u.emit(0,e.content,e.options)})),I=[]})).on(3,(function(e){M.delete(e.containerId||e),0===M.size&&u.off(0).off(1).off(5),v&&R&&document.body.removeChild(R)}))},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){"use strict";t.a=function(e,t){}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(0);function a(e){var t=r.useState(e),n=t[0],a=t[1],i=e||n;return r.useEffect((function(){null==n&&a("mui-".concat(Math.round(1e5*Math.random())))}),[n]),i}},function(e,t,n){var r=n(93),a=n(17),i=n(78);e.exports=function(e){return"string"==typeof e||!a(e)&&i(e)&&"[object String]"==r(e)}},function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){var r=n(156),a=n(613),i=n(614),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?a(e):i(e)}},function(e,t){e.exports=function(e){return e}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(95),a=n(68),i=n(295),o=n(125),s=n(108),l=function e(t,n,l){var c,u,d,p=t&e.F,f=t&e.G,h=t&e.S,m=t&e.P,g=t&e.B,v=t&e.W,b=f?a:a[n]||(a[n]={}),_=b.prototype,y=f?r:h?r[n]:(r[n]||{}).prototype;for(c in f&&(l=n),l)(u=!p&&y&&void 0!==y[c])&&s(b,c)||(d=u?y[c]:l[c],b[c]=f&&"function"!=typeof y[c]?l[c]:g&&u?i(d,r):v&&y[c]==d?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(d):m&&"function"==typeof d?i(Function.call,d):d,m&&((b.virtual||(b.virtual={}))[c]=d,t&e.R&&_&&!_[c]&&o(_,c,d)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t,n){var r=n(126),a=n(459),i=n(296),o=Object.defineProperty;t.f=n(98)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),a)try{return o(e,t,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(128)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";n.r(t);var r=n(313);n.d(t,"default",(function(){return r.a}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(26);function a(e){return Object(r.a)(e).defaultView||window}},function(e,t,n){"use strict";var r=n(219);t.a=function(e,t){return t?Object(r.a)(e,t,{clone:!1}):e}},function(e,t,n){"use strict";function r(e,t,n){var r=n.getRegistry(),a=r.addTarget(e,t);return[a,function(){return r.removeTarget(a)}]}function a(e,t,n){var r=n.getRegistry(),a=r.addSource(e,t);return[a,function(){return r.removeSource(a)}]}n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return a}))},function(e,t,n){"use strict";var r=n(3),a=n(5),i=n(0),o=(n(2),n(4)),s=n(6),l=n(8),c={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p"},u=i.forwardRef((function(e,t){var n=e.align,s=void 0===n?"inherit":n,u=e.classes,d=e.className,p=e.color,f=void 0===p?"initial":p,h=e.component,m=e.display,g=void 0===m?"initial":m,v=e.gutterBottom,b=void 0!==v&&v,_=e.noWrap,y=void 0!==_&&_,E=e.paragraph,S=void 0!==E&&E,x=e.variant,O=void 0===x?"body1":x,T=e.variantMapping,C=void 0===T?c:T,w=Object(a.a)(e,["align","classes","className","color","component","display","gutterBottom","noWrap","paragraph","variant","variantMapping"]),A=h||(S?"p":C[O]||c[O])||"span";return i.createElement(A,Object(r.a)({className:Object(o.default)(u.root,d,"inherit"!==O&&u[O],"initial"!==f&&u["color".concat(Object(l.a)(f))],y&&u.noWrap,b&&u.gutterBottom,S&&u.paragraph,"inherit"!==s&&u["align".concat(Object(l.a)(s))],"initial"!==g&&u["display".concat(Object(l.a)(g))]),ref:t},w))}));t.a=Object(s.a)((function(e){return{root:{margin:0},body2:e.typography.body2,body1:e.typography.body1,caption:e.typography.caption,button:e.typography.button,h1:e.typography.h1,h2:e.typography.h2,h3:e.typography.h3,h4:e.typography.h4,h5:e.typography.h5,h6:e.typography.h6,subtitle1:e.typography.subtitle1,subtitle2:e.typography.subtitle2,overline:e.typography.overline,srOnly:{position:"absolute",height:1,width:1,overflow:"hidden"},alignLeft:{textAlign:"left"},alignCenter:{textAlign:"center"},alignRight:{textAlign:"right"},alignJustify:{textAlign:"justify"},noWrap:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},gutterBottom:{marginBottom:"0.35em"},paragraph:{marginBottom:16},colorInherit:{color:"inherit"},colorPrimary:{color:e.palette.primary.main},colorSecondary:{color:e.palette.secondary.main},colorTextPrimary:{color:e.palette.text.primary},colorTextSecondary:{color:e.palette.text.secondary},colorError:{color:e.palette.error.main},displayInline:{display:"inline"},displayBlock:{display:"block"}}}),{name:"MuiTypography"})(u)},function(e,t,n){(function(t){for(var r=n(681),a="undefined"===typeof window?t:window,i=["moz","webkit"],o="AnimationFrame",s=a["request"+o],l=a["cancel"+o]||a["cancelRequest"+o],c=0;!s&&c1&&void 0!==arguments[1]&&arguments[1];return e&&(r(e.value)&&""!==e.value||t&&r(e.defaultValue)&&""!==e.defaultValue)}function i(e){return e.startAdornment}n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return i}))},function(e,t,n){var r=n(144);e.exports=function(e){return r(e)&&e!=+e}},function(e,t,n){"use strict";var r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a="object"===("undefined"===typeof window?"undefined":r(window))&&"object"===("undefined"===typeof document?"undefined":r(document))&&9===document.nodeType;t.a=a},function(e,t,n){"use strict";(function(e,r){var a,i=n(527);a="undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof e?e:r;var o=Object(i.a)(a);t.a=o}).call(this,n(56),n(991)(e))},,,function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},function(e,t,n){e.exports=!n(92)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){var r=n(93),a=n(78);e.exports=function(e){return"symbol"==typeof e||a(e)&&"[object Symbol]"==r(e)}},function(e,t,n){var r=n(437),a=n(692)(r);e.exports=a},function(e,t,n){var r=n(97),a=n(162);e.exports=n(98)?function(e,t,n){return r.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(127);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){var r=n(467),a=n(292);e.exports=function(e){return r(a(e))}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,a,i,o,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,i,o,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(e,t,n){"use strict";n.r(t);var r=n(317);n.d(t,"default",(function(){return r.a}));var a=n(52);n.d(t,"useFormControl",(function(){return a.a}))},function(e,t,n){"use strict";var r=n(172);n.d(t,"a",(function(){return r.b}))},function(e,t,n){"use strict";n.r(t);var r=n(319);n.d(t,"default",(function(){return r.a}))},function(e,t,n){"use strict";var r=n(14),a=n(5),i=n(219),o=n(77),s=n(3);function l(e,t,n){var a;return Object(s.a)({gutters:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object(s.a)({paddingLeft:t(2),paddingRight:t(2)},n,Object(r.a)({},e.up("sm"),Object(s.a)({paddingLeft:t(3),paddingRight:t(3)},n[e.up("sm")])))},toolbar:(a={minHeight:56},Object(r.a)(a,"".concat(e.up("xs")," and (orientation: landscape)"),{minHeight:48}),Object(r.a)(a,e.up("sm"),{minHeight:64}),a)},n)}var c=n(173),u=n(112),d=n(135),p=n(136),f=n(137),h=n(138),m=n(139),g=n(140),v=n(141),b=n(13),_={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)",hint:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:u.a.white,default:d.a[50]},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},y={text:{primary:u.a.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",hint:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:d.a[800],default:"#303030"},action:{active:u.a.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function E(e,t,n,r){var a=r.light||r,i=r.dark||1.5*r;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:"light"===t?e.light=Object(b.i)(e.main,a):"dark"===t&&(e.dark=Object(b.a)(e.main,i)))}function S(e){var t=e.primary,n=void 0===t?{light:p.a[300],main:p.a[500],dark:p.a[700]}:t,r=e.secondary,o=void 0===r?{light:f.a.A200,main:f.a.A400,dark:f.a.A700}:r,l=e.error,S=void 0===l?{light:h.a[300],main:h.a[500],dark:h.a[700]}:l,x=e.warning,O=void 0===x?{light:m.a[300],main:m.a[500],dark:m.a[700]}:x,T=e.info,C=void 0===T?{light:g.a[300],main:g.a[500],dark:g.a[700]}:T,w=e.success,A=void 0===w?{light:v.a[300],main:v.a[500],dark:v.a[700]}:w,R=e.type,N=void 0===R?"light":R,M=e.contrastThreshold,I=void 0===M?3:M,k=e.tonalOffset,D=void 0===k?.2:k,L=Object(a.a)(e,["primary","secondary","error","warning","info","success","type","contrastThreshold","tonalOffset"]);function P(e){return Object(b.e)(e,y.text.primary)>=I?y.text.primary:_.text.primary}var z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:300,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:700;if(!(e=Object(s.a)({},e)).main&&e[t]&&(e.main=e[t]),!e.main)throw new Error(Object(c.a)(4,t));if("string"!==typeof e.main)throw new Error(Object(c.a)(5,JSON.stringify(e.main)));return E(e,"light",n,D),E(e,"dark",r,D),e.contrastText||(e.contrastText=P(e.main)),e},j={dark:y,light:_};return Object(i.a)(Object(s.a)({common:u.a,type:N,primary:z(n),secondary:z(o,"A400","A200","A700"),error:z(S),warning:z(O),info:z(C),success:z(A),grey:d.a,contrastThreshold:I,getContrastText:P,augmentColor:z,tonalOffset:D},j[N]),L)}function x(e){return Math.round(1e5*e)/1e5}var O={textTransform:"uppercase"};function T(e,t){var n="function"===typeof t?t(e):t,r=n.fontFamily,o=void 0===r?'"Roboto", "Helvetica", "Arial", sans-serif':r,l=n.fontSize,c=void 0===l?14:l,u=n.fontWeightLight,d=void 0===u?300:u,p=n.fontWeightRegular,f=void 0===p?400:p,h=n.fontWeightMedium,m=void 0===h?500:h,g=n.fontWeightBold,v=void 0===g?700:g,b=n.htmlFontSize,_=void 0===b?16:b,y=n.allVariants,E=n.pxToRem,S=Object(a.a)(n,["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"]);var T=c/14,C=E||function(e){return"".concat(e/_*T,"rem")},w=function(e,t,n,r,a){return Object(s.a)({fontFamily:o,fontWeight:e,fontSize:C(t),lineHeight:n},'"Roboto", "Helvetica", "Arial", sans-serif'===o?{letterSpacing:"".concat(x(r/t),"em")}:{},a,y)},A={h1:w(d,96,1.167,-1.5),h2:w(d,60,1.2,-.5),h3:w(f,48,1.167,0),h4:w(f,34,1.235,.25),h5:w(f,24,1.334,0),h6:w(m,20,1.6,.15),subtitle1:w(f,16,1.75,.15),subtitle2:w(m,14,1.57,.1),body1:w(f,16,1.5,.15),body2:w(f,14,1.43,.15),button:w(m,14,1.75,.4,O),caption:w(f,12,1.66,.4),overline:w(f,12,2.66,1,O)};return Object(i.a)(Object(s.a)({htmlFontSize:_,pxToRem:C,round:x,fontFamily:o,fontSize:c,fontWeightLight:d,fontWeightRegular:f,fontWeightMedium:m,fontWeightBold:v},A),S,{clone:!1})}function C(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(.2,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(.14,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(.12,")")].join(",")}var w=["none",C(0,2,1,-1,0,1,1,0,0,1,3,0),C(0,3,1,-2,0,2,2,0,0,1,5,0),C(0,3,3,-2,0,3,4,0,0,1,8,0),C(0,2,4,-1,0,4,5,0,0,1,10,0),C(0,3,5,-1,0,5,8,0,0,1,14,0),C(0,3,5,-1,0,6,10,0,0,1,18,0),C(0,4,5,-2,0,7,10,1,0,2,16,1),C(0,5,5,-3,0,8,10,1,0,3,14,2),C(0,5,6,-3,0,9,12,1,0,3,16,2),C(0,6,6,-3,0,10,14,1,0,4,18,3),C(0,6,7,-4,0,11,15,1,0,4,20,3),C(0,7,8,-4,0,12,17,2,0,5,22,4),C(0,7,8,-4,0,13,19,2,0,5,24,4),C(0,7,9,-4,0,14,21,2,0,5,26,4),C(0,8,9,-5,0,15,22,2,0,6,28,5),C(0,8,10,-5,0,16,24,2,0,6,30,5),C(0,8,11,-5,0,17,26,2,0,6,32,5),C(0,9,11,-5,0,18,28,2,0,7,34,6),C(0,9,12,-6,0,19,29,2,0,7,36,6),C(0,10,13,-6,0,20,31,3,0,8,38,7),C(0,10,13,-6,0,21,33,3,0,8,40,7),C(0,10,14,-6,0,22,35,3,0,8,42,7),C(0,11,14,-7,0,23,36,3,0,9,44,8),C(0,11,15,-7,0,24,38,3,0,9,46,8)],A={borderRadius:4},R=n(2075);function N(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;if(e.mui)return e;var t=Object(R.a)({spacing:e}),n=function(){for(var e=arguments.length,n=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=e.breakpoints,n=void 0===t?{}:t,r=e.mixins,s=void 0===r?{}:r,c=e.palette,u=void 0===c?{}:c,d=e.spacing,p=e.typography,f=void 0===p?{}:p,h=Object(a.a)(e,["breakpoints","mixins","palette","spacing","typography"]),m=S(u),g=Object(o.a)(n),v=N(d),b=Object(i.a)({breakpoints:g,direction:"ltr",mixins:l(g,v,s),overrides:{},palette:m,props:{},shadows:w,typography:T(m,f),spacing:v,shape:A,transitions:M.a,zIndex:I.a},h),_=arguments.length,y=new Array(_>1?_-1:0),E=1;E<_;E++)y[E-1]=arguments[E];return b=y.reduce((function(e,t){return Object(i.a)(e,t)}),b)}},function(e,t,n){"use strict";t.a={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#d5d5d5",A200:"#aaaaaa",A400:"#303030",A700:"#616161"}},function(e,t,n){"use strict";t.a={50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",A100:"#8c9eff",A200:"#536dfe",A400:"#3d5afe",A700:"#304ffe"}},function(e,t,n){"use strict";t.a={50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",A100:"#ff80ab",A200:"#ff4081",A400:"#f50057",A700:"#c51162"}},function(e,t,n){"use strict";t.a={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"}},function(e,t,n){"use strict";t.a={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"}},function(e,t,n){"use strict";t.a={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"}},function(e,t,n){"use strict";t.a={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(174);function a(e,t){if(e){if("string"===typeof e)return Object(r.a)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(r.a)(e,t):void 0}}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",(function(){return r}))},function(e,t,n){var r=n(93),a=n(78);e.exports=function(e){return"number"==typeof e||a(e)&&"[object Number]"==r(e)}},function(e,t,n){var r=n(442),a=n(700),i=n(159),o=n(160),s=i((function(e,t){if(null==e)return[];var n=t.length;return n>1&&o(e,t[0],t[1])?t=[]:n>2&&o(t[0],t[1],t[2])&&(t=[t[0]]),a(e,r(t,1),[])}));e.exports=s},function(e,t,n){"use strict";var r=n(3),a=n(28),i=n(5),o=n(0),s=(n(2),n(4)),l=n(46),c=n(52),u=n(6),d=n(313),p=o.forwardRef((function(e,t){var n=e.autoFocus,u=e.checked,p=e.checkedIcon,f=e.classes,h=e.className,m=e.defaultChecked,g=e.disabled,v=e.icon,b=e.id,_=e.inputProps,y=e.inputRef,E=e.name,S=e.onBlur,x=e.onChange,O=e.onFocus,T=e.readOnly,C=e.required,w=e.tabIndex,A=e.type,R=e.value,N=Object(i.a)(e,["autoFocus","checked","checkedIcon","classes","className","defaultChecked","disabled","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"]),M=Object(l.a)({controlled:u,default:Boolean(m),name:"SwitchBase",state:"checked"}),I=Object(a.a)(M,2),k=I[0],D=I[1],L=Object(c.a)(),P=g;L&&"undefined"===typeof P&&(P=L.disabled);var z="checkbox"===A||"radio"===A;return o.createElement(d.a,Object(r.a)({component:"span",className:Object(s.default)(f.root,h,k&&f.checked,P&&f.disabled),disabled:P,tabIndex:null,role:void 0,onFocus:function(e){O&&O(e),L&&L.onFocus&&L.onFocus(e)},onBlur:function(e){S&&S(e),L&&L.onBlur&&L.onBlur(e)},ref:t},N),o.createElement("input",Object(r.a)({autoFocus:n,checked:u,defaultChecked:m,className:f.input,disabled:P,id:z&&b,name:E,onChange:function(e){var t=e.target.checked;D(t),x&&x(e,t)},readOnly:T,ref:y,required:C,tabIndex:w,type:A,value:R},_)),k?p:v)}));t.a=Object(u.a)({root:{padding:9},checked:{},disabled:{},input:{cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}},{name:"PrivateSwitchBase"})(p)},function(e,t,n){"use strict";var r=n(0),a=n.n(r);t.a=a.a.createContext(null)},function(e,t,n){"use strict";var r=n(3),a=n(5),i=n(0),o=(n(2),n(4)),s=n(6),l=n(8),c=i.forwardRef((function(e,t){var n=e.children,s=e.classes,c=e.className,u=e.color,d=void 0===u?"inherit":u,p=e.component,f=void 0===p?"svg":p,h=e.fontSize,m=void 0===h?"default":h,g=e.htmlColor,v=e.titleAccess,b=e.viewBox,_=void 0===b?"0 0 24 24":b,y=Object(a.a)(e,["children","classes","className","color","component","fontSize","htmlColor","titleAccess","viewBox"]);return i.createElement(f,Object(r.a)({className:Object(o.default)(s.root,c,"inherit"!==d&&s["color".concat(Object(l.a)(d))],"default"!==m&&s["fontSize".concat(Object(l.a)(m))]),focusable:"false",viewBox:_,color:g,"aria-hidden":!v||void 0,role:v?"img":void 0,ref:t},y),n,v?i.createElement("title",null,v):null)}));c.muiName="SvgIcon",t.a=Object(s.a)((function(e){return{root:{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:"currentColor",flexShrink:0,fontSize:e.typography.pxToRem(24),transition:e.transitions.create("fill",{duration:e.transitions.duration.shorter})},colorPrimary:{color:e.palette.primary.main},colorSecondary:{color:e.palette.secondary.main},colorAction:{color:e.palette.action.active},colorError:{color:e.palette.error.main},colorDisabled:{color:e.palette.action.disabled},fontSizeInherit:{fontSize:"inherit"},fontSizeSmall:{fontSize:e.typography.pxToRem(20)},fontSizeLarge:{fontSize:e.typography.pxToRem(35)}}}),{name:"MuiSvgIcon"})(c)},function(e,t,n){var r=n(67),a=n(676);e.exports=function(e,t){return e&&e.length?a(e,r(t,2)):[]}},function(e,t,n){var r=n(725)();e.exports=r},function(e,t,n){var r=n(939);e.exports=function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=t.pulsate,a=void 0!==r&&r,i=t.center,s=void 0===i?o||t.pulsate:i,l=t.fakeElement,c=void 0!==l&&l;if("mousedown"===e.type&&v.current)v.current=!1;else{"touchstart"===e.type&&(v.current=!0);var u,d,p,f=c?null:y.current,h=f?f.getBoundingClientRect():{width:0,height:0,left:0,top:0};if(s||0===e.clientX&&0===e.clientY||!e.clientX&&!e.touches)u=Math.round(h.width/2),d=Math.round(h.height/2);else{var m=e.touches?e.touches[0]:e,g=m.clientX,S=m.clientY;u=Math.round(g-h.left),d=Math.round(S-h.top)}if(s)(p=Math.sqrt((2*Math.pow(h.width,2)+Math.pow(h.height,2))/3))%2===0&&(p+=1);else{var x=2*Math.max(Math.abs((f?f.clientWidth:0)-u),u)+2,O=2*Math.max(Math.abs((f?f.clientHeight:0)-d),d)+2;p=Math.sqrt(Math.pow(x,2)+Math.pow(O,2))}e.touches?null===_.current&&(_.current=function(){E({pulsate:a,rippleX:u,rippleY:d,rippleSize:p,cb:n})},b.current=setTimeout((function(){_.current&&(_.current(),_.current=null)}),80)):E({pulsate:a,rippleX:u,rippleY:d,rippleSize:p,cb:n})}}),[o,E]),O=i.useCallback((function(){S({},{pulsate:!0})}),[S]),C=i.useCallback((function(e,t){if(clearTimeout(b.current),"touchend"===e.type&&_.current)return e.persist(),_.current(),_.current=null,void(b.current=setTimeout((function(){C(e,t)})));_.current=null,h((function(e){return e.length>0?e.slice(1):e})),g.current=t}),[]);return i.useImperativeHandle(t,(function(){return{pulsate:O,start:S,stop:C}}),[O,S,C]),i.createElement("span",Object(r.a)({className:Object(l.default)(s.root,c),ref:y},u),i.createElement(x,{component:null,exit:!0},p))})),w=Object(d.a)((function(e){return{root:{overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"},ripple:{opacity:0,position:"absolute"},rippleVisible:{opacity:.3,transform:"scale(1)",animation:"$enter ".concat(550,"ms ").concat(e.transitions.easing.easeInOut)},ripplePulsate:{animationDuration:"".concat(e.transitions.duration.shorter,"ms")},child:{opacity:1,display:"block",width:"100%",height:"100%",borderRadius:"50%",backgroundColor:"currentColor"},childLeaving:{opacity:0,animation:"$exit ".concat(550,"ms ").concat(e.transitions.easing.easeInOut)},childPulsate:{position:"absolute",left:0,top:0,animation:"$pulsate 2500ms ".concat(e.transitions.easing.easeInOut," 200ms infinite")},"@keyframes enter":{"0%":{transform:"scale(0)",opacity:.1},"100%":{transform:"scale(1)",opacity:.3}},"@keyframes exit":{"0%":{opacity:1},"100%":{opacity:0}},"@keyframes pulsate":{"0%":{transform:"scale(1)"},"50%":{transform:"scale(0.92)"},"100%":{transform:"scale(1)"}}}}),{flip:!1,name:"MuiTouchRipple"})(i.memo(C)),A=i.forwardRef((function(e,t){var n=e.action,o=e.buttonRef,d=e.centerRipple,f=void 0!==d&&d,h=e.children,m=e.classes,g=e.className,v=e.component,b=void 0===v?"button":v,_=e.disabled,y=void 0!==_&&_,E=e.disableRipple,S=void 0!==E&&E,x=e.disableTouchRipple,O=void 0!==x&&x,T=e.focusRipple,C=void 0!==T&&T,A=e.focusVisibleClassName,R=e.onBlur,N=e.onClick,M=e.onFocus,I=e.onFocusVisible,k=e.onKeyDown,D=e.onKeyUp,L=e.onMouseDown,P=e.onMouseLeave,z=e.onMouseUp,j=e.onTouchEnd,F=e.onTouchMove,H=e.onTouchStart,B=e.onDragLeave,V=e.tabIndex,U=void 0===V?0:V,G=e.TouchRippleProps,Y=e.type,W=void 0===Y?"button":Y,q=Object(a.a)(e,["action","buttonRef","centerRipple","children","classes","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","onBlur","onClick","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","onDragLeave","tabIndex","TouchRippleProps","type"]),$=i.useRef(null);var X=i.useRef(null),K=i.useState(!1),Q=K[0],Z=K[1];y&&Q&&Z(!1);var J=Object(p.a)(),ee=J.isFocusVisible,te=J.onBlurVisible,ne=J.ref;function re(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:O;return Object(u.a)((function(r){return t&&t(r),!n&&X.current&&X.current[e](r),!0}))}i.useImperativeHandle(n,(function(){return{focusVisible:function(){Z(!0),$.current.focus()}}}),[]),i.useEffect((function(){Q&&C&&!S&&X.current.pulsate()}),[S,C,Q]);var ae=re("start",L),ie=re("stop",B),oe=re("stop",z),se=re("stop",(function(e){Q&&e.preventDefault(),P&&P(e)})),le=re("start",H),ce=re("stop",j),ue=re("stop",F),de=re("stop",(function(e){Q&&(te(e),Z(!1)),R&&R(e)}),!1),pe=Object(u.a)((function(e){$.current||($.current=e.currentTarget),ee(e)&&(Z(!0),I&&I(e)),M&&M(e)})),fe=function(){var e=s.findDOMNode($.current);return b&&"button"!==b&&!("A"===e.tagName&&e.href)},he=i.useRef(!1),me=Object(u.a)((function(e){C&&!he.current&&Q&&X.current&&" "===e.key&&(he.current=!0,e.persist(),X.current.stop(e,(function(){X.current.start(e)}))),e.target===e.currentTarget&&fe()&&" "===e.key&&e.preventDefault(),k&&k(e),e.target===e.currentTarget&&fe()&&"Enter"===e.key&&!y&&(e.preventDefault(),N&&N(e))})),ge=Object(u.a)((function(e){C&&" "===e.key&&X.current&&Q&&!e.defaultPrevented&&(he.current=!1,e.persist(),X.current.stop(e,(function(){X.current.pulsate(e)}))),D&&D(e),N&&e.target===e.currentTarget&&fe()&&" "===e.key&&!e.defaultPrevented&&N(e)})),ve=b;"button"===ve&&q.href&&(ve="a");var be={};"button"===ve?(be.type=W,be.disabled=y):("a"===ve&&q.href||(be.role="button"),be["aria-disabled"]=y);var _e=Object(c.a)(o,t),ye=Object(c.a)(ne,$),Ee=Object(c.a)(_e,ye),Se=i.useState(!1),xe=Se[0],Oe=Se[1];i.useEffect((function(){Oe(!0)}),[]);var Te=xe&&!S&&!y;return i.createElement(ve,Object(r.a)({className:Object(l.default)(m.root,g,Q&&[m.focusVisible,A],y&&m.disabled),onBlur:de,onClick:N,onFocus:pe,onKeyDown:me,onKeyUp:ge,onMouseDown:ae,onMouseLeave:se,onMouseUp:oe,onDragLeave:ie,onTouchEnd:ce,onTouchMove:ue,onTouchStart:le,ref:Ee,tabIndex:y?-1:U},be,q),h,Te?i.createElement(w,Object(r.a)({ref:X,center:f},G)):null)}));t.a=Object(d.a)({root:{display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle","-moz-appearance":"none","-webkit-appearance":"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},"&$disabled":{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}},disabled:{},focusVisible:{}},{name:"MuiButtonBase"})(A)},,function(e,t){var n=e.exports={version:"2.6.11"};"number"==typeof __e&&(__e=n)},function(e,t,n){var r=n(57).Symbol;e.exports=r},function(e,t,n){var r=n(654),a=n(660),i=n(107);e.exports=function(e){return i(e)?r(e):a(e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,a=Array(r);++n3&&void 0!==arguments[3]?arguments[3]:[],a=arguments.length>4?arguments[4]:void 0,o=[t,n].concat(Object(i.a)(r)),s=["TEMPLATE","SCRIPT","STYLE"];[].forEach.call(e.children,(function(e){1===e.nodeType&&-1===o.indexOf(e)&&-1===s.indexOf(e.tagName)&&c(e,a)}))}function p(e,t){var n=-1;return e.some((function(e,r){return!!t(e)&&(n=r,!0)})),n}function f(e,t){var n,r=[],a=[],i=e.container;if(!t.disableScrollLock){if(function(e){var t=Object(s.a)(e);return t.body===e?Object(l.a)(t).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}(i)){var c=Object(o.a)();r.push({value:i.style.paddingRight,key:"padding-right",el:i}),i.style["padding-right"]="".concat(u(i)+c,"px"),n=Object(s.a)(i).querySelectorAll(".mui-fixed"),[].forEach.call(n,(function(e){a.push(e.style.paddingRight),e.style.paddingRight="".concat(u(e)+c,"px")}))}var d=i.parentElement,p="HTML"===d.nodeName&&"scroll"===window.getComputedStyle(d)["overflow-y"]?d:i;r.push({value:p.style.overflow,key:"overflow",el:p}),p.style.overflow="hidden"}return function(){n&&[].forEach.call(n,(function(e,t){a[t]?e.style.paddingRight=a[t]:e.style.removeProperty("padding-right")})),r.forEach((function(e){var t=e.value,n=e.el,r=e.key;t?n.style.setProperty(r,t):n.style.removeProperty(r)}))}}var h=function(){function e(){Object(r.a)(this,e),this.modals=[],this.containers=[]}return Object(a.a)(e,[{key:"add",value:function(e,t){var n=this.modals.indexOf(e);if(-1!==n)return n;n=this.modals.length,this.modals.push(e),e.modalRef&&c(e.modalRef,!1);var r=function(e){var t=[];return[].forEach.call(e.children,(function(e){e.getAttribute&&"true"===e.getAttribute("aria-hidden")&&t.push(e)})),t}(t);d(t,e.mountNode,e.modalRef,r,!0);var a=p(this.containers,(function(e){return e.container===t}));return-1!==a?(this.containers[a].modals.push(e),n):(this.containers.push({modals:[e],container:t,restore:null,hiddenSiblingNodes:r}),n)}},{key:"mount",value:function(e,t){var n=p(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];r.restore||(r.restore=f(r,t))}},{key:"remove",value:function(e){var t=this.modals.indexOf(e);if(-1===t)return t;var n=p(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];if(r.modals.splice(r.modals.indexOf(e),1),this.modals.splice(t,1),0===r.modals.length)r.restore&&r.restore(),e.modalRef&&c(e.modalRef,!0),d(r.container,e.mountNode,e.modalRef,r.hiddenSiblingNodes,!1),this.containers.splice(n,1);else{var a=r.modals[r.modals.length-1];a.modalRef&&c(a.modalRef,!1)}return t}},{key:"isTopModal",value:function(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}}]),e}()},function(e,t,n){"use strict";function r(e){for(var t="https://material-ui.com/production-error/?code="+e,n=1;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?r:n)(e)}},function(e,t,n){var r=n(617),a=n(618),i=n(619),o=n(620),s=n(621);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e1&&void 0!==arguments[1]?arguments[1]:{},i=n.name,l=Object(a.a)(n,["name"]);var p,f=i,h="function"===typeof t?function(e){return{root:function(n){return t(Object(r.a)({theme:e},n))}}}:{root:t},m=Object(u.a)(h,Object(r.a)({Component:e,name:i||e.displayName,classNamePrefix:f},l));t.filterProps&&(p=t.filterProps,delete t.filterProps),t.propTypes&&(t.propTypes,delete t.propTypes);var g=o.a.forwardRef((function(t,n){var i=t.children,l=t.className,c=t.clone,u=t.component,f=Object(a.a)(t,["children","className","clone","component"]),h=m(t),g=Object(s.default)(h.root,l),v=f;if(p&&(v=d(v,p)),c)return o.a.cloneElement(i,Object(r.a)({className:Object(s.default)(i.props.className,g)},v));if("function"===typeof i)return i(Object(r.a)({className:g},v));var b=u||e;return o.a.createElement(b,Object(r.a)({ref:n,className:g},v),i)}));return c()(g,e),g}}(e);return function(e,n){return t(e,Object(r.a)({defaultTheme:p.a},n))}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(3),a=n(75);function i(e){return e&&"object"===Object(a.a)(e)&&e.constructor===Object}function o(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{clone:!0},a=n.clone?Object(r.a)({},e):e;return i(e)&&i(t)&&Object.keys(t).forEach((function(r){"__proto__"!==r&&(i(t[r])&&r in e?a[r]=o(e[r],t[r],n):a[r]=t[r])})),a}},function(e,t,n){"use strict";function r(e){if(Array.isArray(e))return e}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));n(29),n(3);var r=n(75),a=(n(2),n(101),{xs:0,sm:600,md:960,lg:1280,xl:1920}),i={keys:["xs","sm","md","lg","xl"],up:function(e){return"@media (min-width:".concat(a[e],"px)")}};function o(e,t,n){if(Array.isArray(t)){var a=e.theme.breakpoints||i;return t.reduce((function(e,r,i){return e[a.up(a.keys[i])]=n(t[i]),e}),{})}if("object"===Object(r.a)(t)){var o=e.theme.breakpoints||i;return Object.keys(t).reduce((function(e,r){return e[o.up(r)]=n(t[r]),e}),{})}return n(t)}},function(e,t,n){"use strict";function r(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";t.a={mobileStepper:1e3,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500}},function(e,t,n){"use strict";var r=n(0),a=n.n(r).a.createContext(null);t.a=a},function(e,t,n){"use strict";var r="function"===typeof Symbol&&Symbol.for;t.a=r?Symbol.for("mui.nested"):"__THEME_NESTED__"},function(e,t,n){"use strict";var r=n(3),a=n(28),i=n(5),o=n(0),s=(n(2),n(181)),l=n(22),c=n(31),u=n(16);function d(e){return"scale(".concat(e,", ").concat(Math.pow(e,2),")")}var p={entering:{opacity:1,transform:d(1)},entered:{opacity:1,transform:"none"}},f=o.forwardRef((function(e,t){var n=e.children,f=e.disableStrictModeCompat,h=void 0!==f&&f,m=e.in,g=e.onEnter,v=e.onEntered,b=e.onEntering,_=e.onExit,y=e.onExited,E=e.onExiting,S=e.style,x=e.timeout,O=void 0===x?"auto":x,T=e.TransitionComponent,C=void 0===T?s.a:T,w=Object(i.a)(e,["children","disableStrictModeCompat","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"]),A=o.useRef(),R=o.useRef(),N=Object(l.a)(),M=N.unstable_strictMode&&!h,I=o.useRef(null),k=Object(u.a)(n.ref,t),D=Object(u.a)(M?I:void 0,k),L=function(e){return function(t,n){if(e){var r=M?[I.current,t]:[t,n],i=Object(a.a)(r,2),o=i[0],s=i[1];void 0===s?e(o):e(o,s)}}},P=L(b),z=L((function(e,t){Object(c.b)(e);var n,r=Object(c.a)({style:S,timeout:O},{mode:"enter"}),a=r.duration,i=r.delay;"auto"===O?(n=N.transitions.getAutoHeightDuration(e.clientHeight),R.current=n):n=a,e.style.transition=[N.transitions.create("opacity",{duration:n,delay:i}),N.transitions.create("transform",{duration:.666*n,delay:i})].join(","),g&&g(e,t)})),j=L(v),F=L(E),H=L((function(e){var t,n=Object(c.a)({style:S,timeout:O},{mode:"exit"}),r=n.duration,a=n.delay;"auto"===O?(t=N.transitions.getAutoHeightDuration(e.clientHeight),R.current=t):t=r,e.style.transition=[N.transitions.create("opacity",{duration:t,delay:a}),N.transitions.create("transform",{duration:.666*t,delay:a||.333*t})].join(","),e.style.opacity="0",e.style.transform=d(.75),_&&_(e)})),B=L(y);return o.useEffect((function(){return function(){clearTimeout(A.current)}}),[]),o.createElement(C,Object(r.a)({appear:!0,in:m,nodeRef:M?I:void 0,onEnter:z,onEntered:j,onEntering:P,onExit:H,onExited:B,onExiting:F,addEndListener:function(e,t){var n=M?e:t;"auto"===O&&(A.current=setTimeout(n,R.current||0))},timeout:"auto"===O?null:O},w),(function(e,t){return o.cloneElement(n,Object(r.a)({style:Object(r.a)({opacity:0,transform:d(.75),visibility:"exited"!==e||m?void 0:"hidden"},p[e],S,n.props.style),ref:D},t))}))}));f.muiSupportAuto=!0,t.a=f},function(e,t,n){"use strict";function r(){var e=document.createElement("div");e.style.width="99px",e.style.height="99px",e.style.position="absolute",e.style.top="-9999px",e.style.overflow="scroll",document.body.appendChild(e);var t=e.offsetWidth-e.clientWidth;return document.body.removeChild(e),t}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=s(n(693)),a=s(n(697)),i=s(n(441)),o=s(n(438));function s(e){return e&&e.__esModule?e:{default:e}}e.exports={Transition:o.default,TransitionGroup:i.default,ReplaceTransition:a.default,CSSTransition:r.default}},function(e,t,n){var r=n(721),a=n(722),i=n(67),o=n(17),s=n(160);e.exports=function(e,t,n){var l=o(e)?r:a;return n&&s(e,t,n)&&(t=void 0),l(e,i(t,3))}},function(e,t,n){"use strict";var r=n(0),a=r.createContext();t.a=a},function(e,t,n){"use strict";var r=n(3),a=n(5),i=n(0),o=(n(2),n(4)),s=n(532),l=n(6),c=i.forwardRef((function(e,t){var n=e.disableUnderline,l=e.classes,c=e.fullWidth,u=void 0!==c&&c,d=e.inputComponent,p=void 0===d?"input":d,f=e.multiline,h=void 0!==f&&f,m=e.type,g=void 0===m?"text":m,v=Object(a.a)(e,["disableUnderline","classes","fullWidth","inputComponent","multiline","type"]);return i.createElement(s.a,Object(r.a)({classes:Object(r.a)({},l,{root:Object(o.default)(l.root,!n&&l.underline),underline:null}),fullWidth:u,inputComponent:p,multiline:h,ref:t,type:g},v))}));c.muiName="Input",t.a=Object(l.a)((function(e){var t="light"===e.palette.type?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return{root:{position:"relative"},formControl:{"label + &":{marginTop:16}},focused:{},disabled:{},colorSecondary:{"&$underline:after":{borderBottomColor:e.palette.secondary.main}},underline:{"&:after":{borderBottom:"2px solid ".concat(e.palette.primary.main),left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},"&$focused:after":{transform:"scaleX(1)"},"&$error:after":{borderBottomColor:e.palette.error.main,transform:"scaleX(1)"},"&:before":{borderBottom:"1px solid ".concat(t),left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},"&:hover:not($disabled):before":{borderBottom:"2px solid ".concat(e.palette.text.primary),"@media (hover: none)":{borderBottom:"1px solid ".concat(t)}},"&$disabled:before":{borderBottomStyle:"dotted"}},error:{},marginDense:{},multiline:{},fullWidth:{},input:{},inputMarginDense:{},inputMultiline:{},inputTypeSearch:{}}}),{name:"MuiInput"})(c)},function(e,t,n){"use strict";var r=n(0),a=n(24);t.a=Object(a.a)(r.createElement("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown")},function(e,t,n){"use strict";var r=n(3),a=n(5),i=n(0),o=(n(2),n(4)),s=n(8),l=i.forwardRef((function(e,t){var n=e.classes,l=e.className,c=e.disabled,u=e.IconComponent,d=e.inputRef,p=e.variant,f=void 0===p?"standard":p,h=Object(a.a)(e,["classes","className","disabled","IconComponent","inputRef","variant"]);return i.createElement(i.Fragment,null,i.createElement("select",Object(r.a)({className:Object(o.default)(n.root,n.select,n[f],l,c&&n.disabled),disabled:c,ref:d||t},h)),e.multiple?null:i.createElement(u,{className:Object(o.default)(n.icon,n["icon".concat(Object(s.a)(f))],c&&n.disabled)}))}));t.a=l},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(10);function a(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n or
. Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"),n?Object(r.cloneElement)(e,{ref:function(e){i(n,e),i(t,e)}}):Object(r.cloneElement)(e,{ref:t})}function s(e){if("string"!==typeof e.type){var t=e.type.displayName||e.type.name||"the component";throw new Error("Only native element nodes can now be passed to React DnD connectors."+"You can either wrap ".concat(t," into a
, or turn it into a ")+"drag source or a drop target itself.")}}function l(e){var t={};return Object.keys(e).forEach((function(n){var a=e[n];if(n.endsWith("Ref"))t[n]=e[n];else{var i=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!Object(r.isValidElement)(t)){var a=t;return e(a,n),a}var i=t;s(i);var l=n?function(t){return e(t,n)}:e;return o(i,l)}}(a);t[n]=function(){return i}}})),t}},function(e,t,n){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=2)}([function(e,t){e.exports=n(2)},function(e,t){e.exports=n(0)},function(e,t,n){"use strict";n.r(t);var r=n(1),a=n(0),i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&(x.transform=A.join(" "),x.transformOrigin="center",T&&(N=r.createElement("g",{style:x},R,r.createElement("rect",{width:"24",height:"24",fill:"transparent"}))));var M,I=N,k=!0===E||"number"!=typeof E?2:E,D=!T&&(m||v);if(k<0&&(D=!D),E&&(I=r.createElement("g",{style:{animation:"spin"+(D?"-inverse":"")+" linear "+Math.abs(k)+"s infinite",transformOrigin:"center"}},N,!(m||v||0!==_)&&r.createElement("rect",{width:"24",height:"24",fill:"transparent"}))),T)return I;var L,P="icon_labelledby_"+u,z="icon_describedby_"+u;if(i)M=s?P+" "+z:P;else if(L="presentation",s)throw new Error("title attribute required when description is set");return r.createElement("svg",c({ref:t,viewBox:"0 0 24 24",style:x,role:L,"aria-labelledby":M},C),i&&r.createElement("title",{id:P},i),s&&r.createElement("desc",{id:z},s),!T&&E&&(D?r.createElement("style",null,"@keyframes spin-inverse { to { transform: rotate(-360deg) } }"):r.createElement("style",null,"@keyframes spin { to { transform: rotate(360deg) } }")),I)}));d.displayName="Icon",d.propTypes={path:a.string.isRequired,size:a.oneOfType([a.number,a.string]),color:a.string,horizontal:a.bool,vertical:a.bool,rotate:a.number,spin:a.oneOfType([a.bool,a.number]),style:a.object,inStack:a.bool,className:a.string},d.defaultProps={size:null,color:"currentColor",horizontal:!1,vertical:!1,rotate:0,spin:!1},t.default=d}])},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hexToRgb=i,t.rgbToHex=function(e){if(0===e.indexOf("#"))return e;var t=s(e).values;return"#".concat(t.map((function(e){return function(e){var t=e.toString(16);return 1===t.length?"0".concat(t):t}(e)})).join(""))},t.hslToRgb=o,t.decomposeColor=s,t.recomposeColor=l,t.getContrastRatio=function(e,t){var n=c(e),r=c(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)},t.getLuminance=c,t.emphasize=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return c(e)>.5?u(e,t):d(e,t)},t.fade=function(e,t){e=s(e),t=a(t),("rgb"===e.type||"hsl"===e.type)&&(e.type+="a");return e.values[3]=t,l(e)},t.darken=u,t.lighten=d;var r=n(15);function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.min(Math.max(t,e),n)}function i(e){e=e.substr(1);var t=new RegExp(".{1,".concat(e.length>=6?2:1,"}"),"g"),n=e.match(t);return n&&1===n[0].length&&(n=n.map((function(e){return e+e}))),n?"rgb".concat(4===n.length?"a":"","(").concat(n.map((function(e,t){return t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3})).join(", "),")"):""}function o(e){var t=(e=s(e)).values,n=t[0],r=t[1]/100,a=t[2]/100,i=r*Math.min(a,1-a),o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+n/30)%12;return a-i*Math.max(Math.min(t-3,9-t,1),-1)},c="rgb",u=[Math.round(255*o(0)),Math.round(255*o(8)),Math.round(255*o(4))];return"hsla"===e.type&&(c+="a",u.push(t[3])),l({type:c,values:u})}function s(e){if(e.type)return e;if("#"===e.charAt(0))return s(i(e));var t=e.indexOf("("),n=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla"].indexOf(n))throw new Error((0,r.formatMuiErrorMessage)(3,e));var a=e.substring(t+1,e.length-1).split(",");return{type:n,values:a=a.map((function(e){return parseFloat(e)}))}}function l(e){var t=e.type,n=e.values;return-1!==t.indexOf("rgb")?n=n.map((function(e,t){return t<3?parseInt(e,10):e})):-1!==t.indexOf("hsl")&&(n[1]="".concat(n[1],"%"),n[2]="".concat(n[2],"%")),"".concat(t,"(").concat(n.join(", "),")")}function c(e){var t="hsl"===(e=s(e)).type?s(o(e)).values:e.values;return t=t.map((function(e){return(e/=255)<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)})),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function u(e,t){if(e=s(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]*=1-t;return l(e)}function d(e,t){if(e=s(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;return l(e)}},function(e,t,n){var r,a=n(713),i=n(714),o=n(716),s=/(\+|\-|\*|\\|[^a-z]|)(\s*)(\()/g;e.exports=function(e,t){function n(e,i,l){if(r++>100)throw r=0,new Error("Call stack overflow for "+l);if(""===e)throw new Error(i+"(): '"+l+"' must contain a non-whitespace string");var c=function(e){var t=[],n=[],r=/[\.0-9]([%a-z]+)/gi,a=r.exec(e);for(;a;)a&&a[1]&&(-1===n.indexOf(a[1].toLowerCase())&&(t.push(a[1]),n.push(a[1].toLowerCase())),a=r.exec(e));return t}(e=function(e,t){e=e.replace(/((?:\-[a-z]+\-)?calc)/g,"");var r,i="",o=e;for(;r=s.exec(o);){r[0].index>0&&(i+=o.substring(0,r[0].index));var l=a("(",")",o.substring([0].index));if(""===l.body)throw new Error("'"+e+"' must contain a non-whitespace string");var c=n(l.body,"",t);i+=l.pre+c,o=l.post}return i+o}(e,l));if(c.length>1||e.indexOf("var(")>-1)return i+"("+e+")";var u=c[0]||"";"%"===u&&(e=e.replace(/\b[0-9\.]+%/g,(function(e){return.01*parseFloat(e.slice(0,-1))})));var d,p=e.replace(new RegExp(u,"gi"),"");try{d=o.eval(p)}catch(f){return i+"("+e+")"}return"%"===u&&(d*=100),(i.length||"%"===u)&&(d=Math.round(d*t)/t),d+=u}return r=0,t=Math.pow(10,void 0===t?5:t),e=e.replace(/\n+/g," "),i(e,/((?:\-[a-z]+\-)?calc)\(/,n)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return i}));var r="M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z",a="M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z",i="M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.7,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z"},,,,,,,,,,,,,,,,,,,,function(e,t,n){var r=n(187),a=n(400),i=n(268),o=Object.defineProperty;t.f=n(121)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),a)try{return o(e,t,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(120);e.exports=function(e,t){if(!r(e))return e;var n,a;if(t&&"function"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;if("function"==typeof(n=e.valueOf)&&!r(a=n.call(e)))return a;if(!t&&"function"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t){var n=Math.expm1;e.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:n},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(590),a=n(273);e.exports=function(e){return r(a(e))}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(25),a=n(273),i=n(92),o=n(276),s="["+o+"]",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),u=function(e,t,n){var a={},s=i((function(){return!!o[e]()||"\u200b\x85"!="\u200b\x85"[e]()})),l=a[e]=s?t(d):o[e];n&&(a[n]=l),r(r.P+r.F*s,"String",a)},d=u.trim=function(e,t){return e=String(a(e)),1&t&&(e=e.replace(l,"")),2&t&&(e=e.replace(c,"")),e};e.exports=u},function(e,t){e.exports="\t\n\v\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){var r=n(106)(n(57),"Map");e.exports=r},function(e,t,n){var r=n(631),a=n(638),i=n(640),o=n(641),s=n(642);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=9007199254740991}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){var r=n(428),a=n(196);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n-1}},function(e,t){e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},function(e,t,n){var r=n(35),a=n(123),i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=s.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):o.test(e)?NaN:+e}},function(e,t,n){var r=n(435);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(294)("keys"),a=n(199);e.exports=function(e){return r[e]||(r[e]=a(e))}},function(e,t,n){var r=n(68),a=n(95),i=a["__core-js_shared__"]||(a["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(198)?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){var r=n(944);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,a){return e.call(t,n,r,a)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(127);e.exports=function(e,t){if(!r(e))return e;var n,a;if(t&&"function"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;if("function"==typeof(n=e.valueOf)&&!r(a=n.call(e)))return a;if(!t&&"function"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;throw TypeError("Can't convert object to primitive value")}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(126),a=n(951),i=n(300),o=n(293)("IE_PROTO"),s=function(){},l=function(){var e,t=n(460)("iframe"),r=i.length;for(t.style.display="none",n(954).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write(" + + diff --git a/react-material-admin-master/jsconfig.json b/react-material-admin-master/jsconfig.json new file mode 100644 index 0000000..132ff4f --- /dev/null +++ b/react-material-admin-master/jsconfig.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "baseUrl": "src" + }, + "exclude": ["node_modules", "build"] +} diff --git a/react-material-admin-master/package-lock.json b/react-material-admin-master/package-lock.json new file mode 100644 index 0000000..fc65bee --- /dev/null +++ b/react-material-admin-master/package-lock.json @@ -0,0 +1,6542 @@ +{ + "name": "react-material-full", + "version": "3.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "react-material-full", + "version": "3.0.1", + "dependencies": { + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@fullcalendar/core": "^6.1.14", + "@fullcalendar/daygrid": "^6.1.14", + "@fullcalendar/interaction": "^6.1.14", + "@fullcalendar/list": "^6.1.14", + "@fullcalendar/react": "^6.1.14", + "@fullcalendar/timegrid": "^6.1.14", + "@mui/icons-material": "^7.3.8", + "@mui/material": "^7.3.8", + "@mui/x-data-grid": "^8.27.1", + "@mui/x-date-pickers": "^8.27.2", + "apexcharts": "^5.6.0", + "axios": "^1.13.5", + "classnames": "^2.3.2", + "date-fns": "^4.1.0", + "dayjs": "^1.11.19", + "formik": "^2.4.9", + "leaflet": "^1.9.4", + "prop-types": "^15.8.1", + "react": "^19.2.4", + "react-apexcharts": "^2.0.1", + "react-dom": "^19.2.4", + "react-leaflet": "^5.0.0", + "react-router-dom": "^7.13.0", + "react-sortablejs": "^6.1.4", + "react-syntax-highlighter": "^16.1.0", + "recharts": "^3.7.0", + "sortablejs": "^1.15.7", + "tinycolor2": "^1.6.0", + "topojson-client": "^3.1.0", + "tss-react": "^4.9.20", + "uuid": "^13.0.0", + "yup": "^1.7.1" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@vitejs/plugin-react-swc": "^4.2.0", + "cross-env": "^10.1.0", + "eslint": "^10.0.1", + "globals": "^17.3.0", + "jsdom": "^28.1.0", + "sass": "^1.97.3", + "vite": "^7.3.1", + "vitest": "^4.0.18" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@acemir/cssom": { + "version": "0.9.31", + "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.31.tgz", + "integrity": "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@asamuzakjp/css-color": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.1.2.tgz", + "integrity": "sha512-NfBUvBaYgKIuq6E/RBLY1m0IohzNHAYyaJGuTK79Z23uNwmz2jl1mPsC5ZxCCxylinKhT1Amn5oNTlx1wN8cQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^3.0.0", + "@csstools/css-color-parser": "^4.0.1", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0", + "lru-cache": "^11.2.5" + } + }, + "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.8.1.tgz", + "integrity": "sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.1.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.6" + } + }, + "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bramus/specificity": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", + "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0" + }, + "bin": { + "specificity": "bin/cli.js" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", + "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@csstools/css-calc": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.1.1.tgz", + "integrity": "sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.0.2.tgz", + "integrity": "sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^6.0.2", + "@csstools/css-calc": "^3.1.1" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", + "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.28.tgz", + "integrity": "sha512-1NRf1CUBjnr3K7hu8BLxjQrKCxEe8FP/xmPTenAxCRZWVLbmGotkFvG9mfNpjA6k7Bw1bw4BilZq9cu19RA5pg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0" + }, + "node_modules/@csstools/css-tokenizer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", + "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/@emotion/cache": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz", + "integrity": "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" + }, + "node_modules/@emotion/react": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "license": "MIT" + }, + "node_modules/@emotion/styled": { + "version": "11.14.1", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz", + "integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "license": "MIT" + }, + "node_modules/@epic-web/invariant": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@epic-web/invariant/-/invariant-1.0.0.tgz", + "integrity": "sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.2.tgz", + "integrity": "sha512-YF+fE6LV4v5MGWRGj7G404/OZzGNepVF8fxk7jqmqo3lrza7a0uUcDnROGRBG1WFC1omYUS/Wp1f42i0M+3Q3A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^3.0.2", + "debug": "^4.3.1", + "minimatch": "^10.2.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.2.tgz", + "integrity": "sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.1.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.1.0.tgz", + "integrity": "sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/js": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", + "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "eslint": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/object-schema": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.2.tgz", + "integrity": "sha512-HOy56KJt48Bx8KmJ+XGQNSUMT/6dZee/M54XyUyuvTvPXJmsERRvBchsUVx1UMe1WwIH49XLAczNC7V2INsuUw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.6.0.tgz", + "integrity": "sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.1.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@exodus/bytes": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.14.1.tgz", + "integrity": "sha512-OhkBFWI6GcRMUroChZiopRiSp2iAMvEBK47NhJooDqz1RERO4QuZIZnjP63TXX8GAiLABkYmX+fuQsdJ1dd2QQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@noble/hashes": "^1.8.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@noble/hashes": { + "optional": true + } + } + }, + "node_modules/@fullcalendar/core": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.20.tgz", + "integrity": "sha512-1cukXLlePFiJ8YKXn/4tMKsy0etxYLCkXk8nUCFi11nRONF2Ba2CD5b21/ovtOO2tL6afTJfwmc1ed3HG7eB1g==", + "license": "MIT", + "dependencies": { + "preact": "~10.12.1" + } + }, + "node_modules/@fullcalendar/daygrid": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.20.tgz", + "integrity": "sha512-AO9vqhkLP77EesmJzuU+IGXgxNulsA8mgQHynclJ8U70vSwAVnbcLG9qftiTAFSlZjiY/NvhE7sflve6cJelyQ==", + "license": "MIT", + "peerDependencies": { + "@fullcalendar/core": "~6.1.20" + } + }, + "node_modules/@fullcalendar/interaction": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.20.tgz", + "integrity": "sha512-p6txmc5txL0bMiPaJxe2ip6o0T384TyoD2KGdsU6UjZ5yoBlaY+dg7kxfnYKpYMzEJLG58n+URrHr2PgNL2fyA==", + "license": "MIT", + "peerDependencies": { + "@fullcalendar/core": "~6.1.20" + } + }, + "node_modules/@fullcalendar/list": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-6.1.20.tgz", + "integrity": "sha512-7Hzkbb7uuSqrXwTyD0Ld/7SwWNxPD6SlU548vtkIpH55rZ4qquwtwYdMPgorHos5OynHA4OUrZNcH51CjrCf2g==", + "license": "MIT", + "peerDependencies": { + "@fullcalendar/core": "~6.1.20" + } + }, + "node_modules/@fullcalendar/react": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/@fullcalendar/react/-/react-6.1.20.tgz", + "integrity": "sha512-1w0pZtceaUdfAnxMSCGHCQalhi+mR1jOe76sXzyAXpcPz/Lf0zHSdcGK/U2XpZlnQgQtBZW+d+QBnnzVQKCxAA==", + "license": "MIT", + "peerDependencies": { + "@fullcalendar/core": "~6.1.20", + "react": "^16.7.0 || ^17 || ^18 || ^19", + "react-dom": "^16.7.0 || ^17 || ^18 || ^19" + } + }, + "node_modules/@fullcalendar/timegrid": { + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-6.1.20.tgz", + "integrity": "sha512-4H+/MWbz3ntA50lrPif+7TsvMeX3R1GSYjiLULz0+zEJ7/Yfd9pupZmAwUs/PBpA6aAcFmeRr0laWfcz1a9V1A==", + "license": "MIT", + "dependencies": { + "@fullcalendar/daygrid": "~6.1.20" + }, + "peerDependencies": { + "@fullcalendar/core": "~6.1.20" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.3.8.tgz", + "integrity": "sha512-s9UHZo7QJVly7gNArEZkbbsimHqJZhElgBpXIJdehZ4OWXt+CCr0SBDgUCDJnQrqpd1dWK2dLq5rmO4mCBmI3w==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + } + }, + "node_modules/@mui/icons-material": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-7.3.8.tgz", + "integrity": "sha512-88sWg/UJc1X82OMO+ISR4E3P58I3BjFVg0qkmDu7OWlN8VijneZD3ylFA+ImxuPjMHW3SHosfSJYy1fztoz0fw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@mui/material": "^7.3.8", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.3.8.tgz", + "integrity": "sha512-QKd1RhDXE1hf2sQDNayA9ic9jGkEgvZOf0tTkJxlBPG8ns8aS4rS8WwYURw2x5y3739p0HauUXX9WbH7UufFLw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6", + "@mui/core-downloads-tracker": "^7.3.8", + "@mui/system": "^7.3.8", + "@mui/types": "^7.4.11", + "@mui/utils": "^7.3.8", + "@popperjs/core": "^2.11.8", + "@types/react-transition-group": "^4.4.12", + "clsx": "^2.1.1", + "csstype": "^3.2.3", + "prop-types": "^15.8.1", + "react-is": "^19.2.3", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@mui/material-pigment-css": "^7.3.8", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@mui/material-pigment-css": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/private-theming": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.3.8.tgz", + "integrity": "sha512-du5dlPZ9XL3xW2apHoGDXBI+QLtyVJGrXNCfcNYfP/ojkz1RQ0rRV6VG9Rkm1DqEFRG8mjjTL7zmE1Bvn1eR4A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6", + "@mui/utils": "^7.3.8", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.3.8.tgz", + "integrity": "sha512-JHAeXQzS0tJ+Fq3C6J4TVDsW+yKhO4uuxuiLaopNStJeQYBIUCXpKYyUCcgXym4AmhbznQnv9RlHywSH6b0FOg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/sheet": "^1.4.0", + "csstype": "^3.2.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.3.8.tgz", + "integrity": "sha512-hoFRj4Zw2Km8DPWZp/nKG+ao5Jw5LSk2m/e4EGc6M3RRwXKEkMSG4TgtfVJg7dS2homRwtdXSMW+iRO0ZJ4+IA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6", + "@mui/private-theming": "^7.3.8", + "@mui/styled-engine": "^7.3.8", + "@mui/types": "^7.4.11", + "@mui/utils": "^7.3.8", + "clsx": "^2.1.1", + "csstype": "^3.2.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.11.tgz", + "integrity": "sha512-fZ2xO9D08IKOxO2oUBi1nnVKH6oJUD+64cnv4YAaFoC0E5+i1+S5AHbNqqvZlYYsbPEQ6qEVwuBqY3jl5W4G+Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.3.8.tgz", + "integrity": "sha512-kZRcE2620CBGr+XI8YMmwPj6WIPwSF7uMJjvSfqd8zXVvlz0MCJbzRRUGNf8NgflCLthdji2DdS643TeyJ3+nA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6", + "@mui/types": "^7.4.11", + "@types/prop-types": "^15.7.15", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "react-is": "^19.2.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/x-data-grid": { + "version": "8.27.1", + "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-8.27.1.tgz", + "integrity": "sha512-Xje197cUzmch33vLip5KR44SQ0CB49iutBTaoIMSxIVSfNqI8BadEh8PpPCacuTeSty06tJKpBMe66NNYWfHFw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/utils": "^7.3.5", + "@mui/x-internals": "8.26.0", + "@mui/x-virtualizer": "0.3.3", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.9.0", + "@emotion/styled": "^11.8.1", + "@mui/material": "^5.15.14 || ^6.0.0 || ^7.0.0", + "@mui/system": "^5.15.14 || ^6.0.0 || ^7.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/x-date-pickers": { + "version": "8.27.2", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-8.27.2.tgz", + "integrity": "sha512-06LFkHFRXJ2O9DMXtWAA3kY0jpbL7XH8iqa8L5cBlN+8bRx/UVLKlZYlhGv06C88jF9kuZWY1bUgrv/EoY/2Ww==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/utils": "^7.3.5", + "@mui/x-internals": "8.26.0", + "@types/react-transition-group": "^4.4.12", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.9.0", + "@emotion/styled": "^11.8.1", + "@mui/material": "^5.15.14 || ^6.0.0 || ^7.0.0", + "@mui/system": "^5.15.14 || ^6.0.0 || ^7.0.0", + "date-fns": "^2.25.0 || ^3.2.0 || ^4.0.0", + "date-fns-jalali": "^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0", + "dayjs": "^1.10.7", + "luxon": "^3.0.2", + "moment": "^2.29.4", + "moment-hijri": "^2.1.2 || ^3.0.0", + "moment-jalaali": "^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "date-fns": { + "optional": true + }, + "date-fns-jalali": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + }, + "moment-hijri": { + "optional": true + }, + "moment-jalaali": { + "optional": true + } + } + }, + "node_modules/@mui/x-internals": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-8.26.0.tgz", + "integrity": "sha512-B9OZau5IQUvIxwpJZhoFJKqRpmWf5r0yMmSXjQuqb5WuqM755EuzWJOenY48denGoENzMLT8hQpA0hRTeU2IPA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/utils": "^7.3.5", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@mui/x-virtualizer": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@mui/x-virtualizer/-/x-virtualizer-0.3.3.tgz", + "integrity": "sha512-6ugUh7UAhQYdgPgHLu181zqufh3Y8IqEU9Pe6Huzj0xkRi3NwMx/ZzvrHf2WazNOh2uLhQ5ZM2wFqDu3mxBWZA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/utils": "^7.3.5", + "@mui/x-internals": "8.26.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@react-leaflet/core": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-3.0.0.tgz", + "integrity": "sha512-3EWmekh4Nz+pGcr+xjf0KNyYfC3U2JjnkWsh0zcqaexYqmmB5ZhH37kz41JXGmKzpaMZCnPofBBm64i+YrEvGQ==", + "license": "Hippocratic-2.1", + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^19.0.0", + "react-dom": "^19.0.0" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.11.2.tgz", + "integrity": "sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@standard-schema/utils": "^0.3.0", + "immer": "^11.0.0", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@reduxjs/toolkit/node_modules/immer": { + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.4.tgz", + "integrity": "sha512-XREFCPo6ksxVzP4E0ekD5aMdf8WMwmdNaz6vuvxgI40UaEiu6q3p8X52aU6GdyvLY3XXX/8R7JOTXStz/nBbRw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.58.0.tgz", + "integrity": "sha512-mr0tmS/4FoVk1cnaeN244A/wjvGDNItZKR8hRhnmCzygyRXYtKF5jVDSIILR1U97CTzAYmbgIj/Dukg62ggG5w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.58.0.tgz", + "integrity": "sha512-+s++dbp+/RTte62mQD9wLSbiMTV+xr/PeRJEc/sFZFSBRlHPNPVaf5FXlzAL77Mr8FtSfQqCN+I598M8U41ccQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.58.0.tgz", + "integrity": "sha512-MFWBwTcYs0jZbINQBXHfSrpSQJq3IUOakcKPzfeSznONop14Pxuqa0Kg19GD0rNBMPQI2tFtu3UzapZpH0Uc1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.58.0.tgz", + "integrity": "sha512-yiKJY7pj9c9JwzuKYLFaDZw5gma3fI9bkPEIyofvVfsPqjCWPglSHdpdwXpKGvDeYDms3Qal8qGMEHZ1M/4Udg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.58.0.tgz", + "integrity": "sha512-x97kCoBh5MOevpn/CNK9W1x8BEzO238541BGWBc315uOlN0AD/ifZ1msg+ZQB05Ux+VF6EcYqpiagfLJ8U3LvQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.58.0.tgz", + "integrity": "sha512-Aa8jPoZ6IQAG2eIrcXPpjRcMjROMFxCt1UYPZZtCxRV68WkuSigYtQ/7Zwrcr2IvtNJo7T2JfDXyMLxq5L4Jlg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.58.0.tgz", + "integrity": "sha512-Ob8YgT5kD/lSIYW2Rcngs5kNB/44Q2RzBSPz9brf2WEtcGR7/f/E9HeHn1wYaAwKBni+bdXEwgHvUd0x12lQSA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.58.0.tgz", + "integrity": "sha512-K+RI5oP1ceqoadvNt1FecL17Qtw/n9BgRSzxif3rTL2QlIu88ccvY+Y9nnHe/cmT5zbH9+bpiJuG1mGHRVwF4Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.58.0.tgz", + "integrity": "sha512-T+17JAsCKUjmbopcKepJjHWHXSjeW7O5PL7lEFaeQmiVyw4kkc5/lyYKzrv6ElWRX/MrEWfPiJWqbTvfIvjM1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.58.0.tgz", + "integrity": "sha512-cCePktb9+6R9itIJdeCFF9txPU7pQeEHB5AbHu/MKsfH/k70ZtOeq1k4YAtBv9Z7mmKI5/wOLYjQ+B9QdxR6LA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.58.0.tgz", + "integrity": "sha512-iekUaLkfliAsDl4/xSdoCJ1gnnIXvoNz85C8U8+ZxknM5pBStfZjeXgB8lXobDQvvPRCN8FPmmuTtH+z95HTmg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.58.0.tgz", + "integrity": "sha512-68ofRgJNl/jYJbxFjCKE7IwhbfxOl1muPN4KbIqAIe32lm22KmU7E8OPvyy68HTNkI2iV/c8y2kSPSm2mW/Q9Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.58.0.tgz", + "integrity": "sha512-dpz8vT0i+JqUKuSNPCP5SYyIV2Lh0sNL1+FhM7eLC457d5B9/BC3kDPp5BBftMmTNsBarcPcoz5UGSsnCiw4XQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.58.0.tgz", + "integrity": "sha512-4gdkkf9UJ7tafnweBCR/mk4jf3Jfl0cKX9Np80t5i78kjIH0ZdezUv/JDI2VtruE5lunfACqftJ8dIMGN4oHew==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.58.0.tgz", + "integrity": "sha512-YFS4vPnOkDTD/JriUeeZurFYoJhPf9GQQEF/v4lltp3mVcBmnsAdjEWhr2cjUCZzZNzxCG0HZOvJU44UGHSdzw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.58.0.tgz", + "integrity": "sha512-x2xgZlFne+QVNKV8b4wwaCS8pwq3y14zedZ5DqLzjdRITvreBk//4Knbcvm7+lWmms9V9qFp60MtUd0/t/PXPw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.58.0.tgz", + "integrity": "sha512-jIhrujyn4UnWF8S+DHSkAkDEO3hLX0cjzxJZPLF80xFyzyUIYgSMRcYQ3+uqEoyDD2beGq7Dj7edi8OnJcS/hg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.58.0.tgz", + "integrity": "sha512-+410Srdoh78MKSJxTQ+hZ/Mx+ajd6RjjPwBPNd0R3J9FtL6ZA0GqiiyNjCO9In0IzZkCNrpGymSfn+kgyPQocg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.58.0.tgz", + "integrity": "sha512-ZjMyby5SICi227y1MTR3VYBpFTdZs823Rs/hpakufleBoufoOIB6jtm9FEoxn/cgO7l6PM2rCEl5Kre5vX0QrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.58.0.tgz", + "integrity": "sha512-ds4iwfYkSQ0k1nb8LTcyXw//ToHOnNTJtceySpL3fa7tc/AsE+UpUFphW126A6fKBGJD5dhRvg8zw1rvoGFxmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.58.0.tgz", + "integrity": "sha512-fd/zpJniln4ICdPkjWFhZYeY/bpnaN9pGa6ko+5WD38I0tTqk9lXMgXZg09MNdhpARngmxiCg0B0XUamNw/5BQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.58.0.tgz", + "integrity": "sha512-YpG8dUOip7DCz3nr/JUfPbIUo+2d/dy++5bFzgi4ugOGBIox+qMbbqt/JoORwvI/C9Kn2tz6+Bieoqd5+B1CjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.58.0.tgz", + "integrity": "sha512-b9DI8jpFQVh4hIXFr0/+N/TzLdpBIoPzjt0Rt4xJbW3mzguV3mduR9cNgiuFcuL/TeORejJhCWiAXe3E/6PxWA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.58.0.tgz", + "integrity": "sha512-CSrVpmoRJFN06LL9xhkitkwUcTZtIotYAF5p6XOR2zW0Zz5mzb3IPpcoPhB02frzMHFNo1reQ9xSF5fFm3hUsQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.58.0.tgz", + "integrity": "sha512-QFsBgQNTnh5K0t/sBsjJLq24YVqEIVkGpfN2VHsnN90soZyhaiA9UUHufcctVNL4ypJY0wrwad0wslx2KJQ1/w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" + }, + "node_modules/@swc/core": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.11.tgz", + "integrity": "sha512-iLmLTodbYxU39HhMPaMUooPwO/zqJWvsqkrXv1ZI38rMb048p6N7qtAtTp37sw9NzSrvH6oli8EdDygo09IZ/w==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.25" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.15.11", + "@swc/core-darwin-x64": "1.15.11", + "@swc/core-linux-arm-gnueabihf": "1.15.11", + "@swc/core-linux-arm64-gnu": "1.15.11", + "@swc/core-linux-arm64-musl": "1.15.11", + "@swc/core-linux-x64-gnu": "1.15.11", + "@swc/core-linux-x64-musl": "1.15.11", + "@swc/core-win32-arm64-msvc": "1.15.11", + "@swc/core-win32-ia32-msvc": "1.15.11", + "@swc/core-win32-x64-msvc": "1.15.11" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.17" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.11.tgz", + "integrity": "sha512-QoIupRWVH8AF1TgxYyeA5nS18dtqMuxNwchjBIwJo3RdwLEFiJq6onOx9JAxHtuPwUkIVuU2Xbp+jCJ7Vzmgtg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.11.tgz", + "integrity": "sha512-S52Gu1QtPSfBYDiejlcfp9GlN+NjTZBRRNsz8PNwBgSE626/FUf2PcllVUix7jqkoMC+t0rS8t+2/aSWlMuQtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.11.tgz", + "integrity": "sha512-lXJs8oXo6Z4yCpimpQ8vPeCjkgoHu5NoMvmJZ8qxDyU99KVdg6KwU9H79vzrmB+HfH+dCZ7JGMqMF//f8Cfvdg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.11.tgz", + "integrity": "sha512-chRsz1K52/vj8Mfq/QOugVphlKPWlMh10V99qfH41hbGvwAU6xSPd681upO4bKiOr9+mRIZZW+EfJqY42ZzRyA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.11.tgz", + "integrity": "sha512-PYftgsTaGnfDK4m6/dty9ryK1FbLk+LosDJ/RJR2nkXGc8rd+WenXIlvHjWULiBVnS1RsjHHOXmTS4nDhe0v0w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.11.tgz", + "integrity": "sha512-DKtnJKIHiZdARyTKiX7zdRjiDS1KihkQWatQiCHMv+zc2sfwb4Glrodx2VLOX4rsa92NLR0Sw8WLcPEMFY1szQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.11.tgz", + "integrity": "sha512-mUjjntHj4+8WBaiDe5UwRNHuEzLjIWBTSGTw0JT9+C9/Yyuh4KQqlcEQ3ro6GkHmBGXBFpGIj/o5VMyRWfVfWw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.11.tgz", + "integrity": "sha512-ZkNNG5zL49YpaFzfl6fskNOSxtcZ5uOYmWBkY4wVAvgbSAQzLRVBp+xArGWh2oXlY/WgL99zQSGTv7RI5E6nzA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.11.tgz", + "integrity": "sha512-6XnzORkZCQzvTQ6cPrU7iaT9+i145oLwnin8JrfsLG41wl26+5cNQ2XV3zcbrnFEV6esjOceom9YO1w9mGJByw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.11.tgz", + "integrity": "sha512-IQ2n6af7XKLL6P1gIeZACskSxK8jWtoKpJWLZmdXTDj1MGzktUy4i+FvpdtxFmJWNavRWH1VmTr6kAubRDHeKw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@swc/types": { + "version": "0.1.25", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz", + "integrity": "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", + "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", + "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "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-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-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-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-shape": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", + "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", + "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/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "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/hoist-non-react-statics": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz", + "integrity": "sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==", + "license": "MIT", + "dependencies": { + "hoist-non-react-statics": "^3.3.0" + }, + "peerDependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz", + "integrity": "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/prismjs": { + "version": "1.26.6", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.6.tgz", + "integrity": "sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/sortablejs": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/@types/sortablejs/-/sortablejs-1.15.9.tgz", + "integrity": "sha512-7HP+rZGE2p886PKV9c9OJzLBI6BBJu1O7lJGYnPyG3fS4/duUCcngkNCjsLwIMV+WMqANe3tt4irrXHSIe68OQ==", + "license": "MIT", + "peer": true + }, + "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/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-react-swc": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-4.2.3.tgz", + "integrity": "sha512-QIluDil2prhY1gdA3GGwxZzTAmLdi8cQ2CcuMW4PB/Wu4e/1pzqrwhYWVd09LInCRlDUidQjd0B70QWbjWtLxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.2", + "@swc/core": "^1.15.11" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^4 || ^5 || ^6 || ^7" + } + }, + "node_modules/@vitejs/plugin-react-swc/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.2.tgz", + "integrity": "sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitest/expect": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz", + "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.0.18", + "@vitest/utils": "4.0.18", + "chai": "^6.2.1", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz", + "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.0.18", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz", + "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz", + "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.0.18", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz", + "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.0.18", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz", + "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz", + "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.0.18", + "tinyrainbow": "^3.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@yr/monotone-cubic-spline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz", + "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==", + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/apexcharts": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-5.6.0.tgz", + "integrity": "sha512-BZua59yedRsaDfnxkzNrkyLCvluq2c3ZDBIz4joxSKtgr0xDQXQ5dzceMhf/TpTbAjaF+2NYIpLP3BEEIG2s/w==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@yr/monotone-cubic-spline": "^1.0.3" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", + "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/balanced-match": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", + "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "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-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/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", + "license": "MIT" + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cosmiconfig/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/cross-env": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-10.1.0.tgz", + "integrity": "sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@epic-web/invariant": "^1.0.0", + "cross-spawn": "^7.0.6" + }, + "bin": { + "cross-env": "dist/bin/cross-env.js", + "cross-env-shell": "dist/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-6.0.1.tgz", + "integrity": "sha512-IoJs7La+oFp/AB033wBStxNOJt4+9hHMxsXUPANcoXL2b3W4DZKghlJ2cI/eyeRZIQ9ysvYEorVhjrcYctWbog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^4.1.2", + "@csstools/css-syntax-patches-for-csstree": "^1.0.26", + "css-tree": "^3.1.0", + "lru-cache": "^11.2.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cssstyle/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "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-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-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-format": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", + "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-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-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-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/data-urls": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", + "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/date-fns": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", + "license": "MIT" + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-toolkit": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.44.0.tgz", + "integrity": "sha512-6penXeZalaV88MM3cGkFZZfOoLGWshWWfdy0tWw/RlVVyhvMaWSBTOvXNeiW3e5FwdS5ePW0LGEu17zT139ktg==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, + "node_modules/esbuild": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.0.1.tgz", + "integrity": "sha512-20MV9SUdeN6Jd84xESsKhRly+/vxI+hwvpBMA93s+9dAcjdCuCojn4IqUGS3lvVaqjVYGYHSRMCpeFtF2rQYxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.2", + "@eslint/config-helpers": "^0.5.2", + "@eslint/core": "^1.1.0", + "@eslint/plugin-kit": "^0.6.0", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^9.1.1", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.1.1", + "esquery": "^1.7.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "minimatch": "^10.2.1", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.1.tgz", + "integrity": "sha512-GaUN0sWim5qc8KVErfPBWmc31LEsOkrUJbvJZV+xuL3u2phMUK4HIvXlWAakfC8W4nzlK+chPEAkYOYb5ZScIw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.1.1.tgz", + "integrity": "sha512-AVHPqQoZYc+RUM4/3Ly5udlZY/U4LS8pIG05jEjWM2lQMU/oaZ7qshzAl2YP1tfNmXfftH3ohurfwNAug+MnsQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.16.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^5.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "license": "MIT", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/formik": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/formik/-/formik-2.4.9.tgz", + "integrity": "sha512-5nI94BMnlFDdQRBY4Sz39WkhxajZJ57Fzs8wVbtsQlm5ScKIR1QLYqv/ultBnobObtlUyxpxoLodpixrsf36Og==", + "funding": [ + { + "type": "individual", + "url": "https://opencollective.com/formik" + } + ], + "license": "Apache-2.0", + "dependencies": { + "@types/hoist-non-react-statics": "^3.3.1", + "deepmerge": "^2.1.1", + "hoist-non-react-statics": "^3.3.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "react-fast-compare": "^2.0.1", + "tiny-warning": "^1.0.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.3.0.tgz", + "integrity": "sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/highlightjs-vue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/highlightjs-vue/-/highlightjs-vue-1.0.0.tgz", + "integrity": "sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==", + "license": "CC0-1.0" + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/html-encoding-sniffer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.6.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz", + "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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/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-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "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-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "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-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsdom": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-28.1.0.tgz", + "integrity": "sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@acemir/cssom": "^0.9.31", + "@asamuzakjp/dom-selector": "^6.8.1", + "@bramus/specificity": "^2.4.2", + "@exodus/bytes": "^1.11.0", + "cssstyle": "^6.0.1", + "data-urls": "^7.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "is-potential-custom-element-name": "^1.0.1", + "parse5": "^8.0.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.0", + "undici": "^7.21.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.1", + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", + "license": "BSD-2-Clause" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lowlight": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", + "license": "MIT", + "dependencies": { + "fault": "^1.0.0", + "highlight.js": "~10.7.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz", + "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "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", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/preact": { + "version": "10.12.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.12.1.tgz", + "integrity": "sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/property-expr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", + "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==", + "license": "MIT" + }, + "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-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-apexcharts": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/react-apexcharts/-/react-apexcharts-2.0.1.tgz", + "integrity": "sha512-AN9u5C0kDAkQyMyJP6yXORexiuiaTa0GaxR5dOaF075vWLTTbQxxtYF/kXyvUo4jjtBEIe4lLoCZTo/kB3bRoA==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "apexcharts": ">=5.6.0", + "react": ">=16.8.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==", + "license": "MIT" + }, + "node_modules/react-is": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz", + "integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==", + "license": "MIT" + }, + "node_modules/react-leaflet": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-5.0.0.tgz", + "integrity": "sha512-CWbTpr5vcHw5bt9i4zSlPEVQdTVcML390TjeDG0cK59z1ylexpqC6M1PJFjV8jD7CF+ACBFsLIDs6DRMoLEofw==", + "license": "Hippocratic-2.1", + "dependencies": { + "@react-leaflet/core": "^3.0.0" + }, + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^19.0.0", + "react-dom": "^19.0.0" + } + }, + "node_modules/react-redux": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", + "license": "MIT", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.0.tgz", + "integrity": "sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.13.0.tgz", + "integrity": "sha512-5CO/l5Yahi2SKC6rGZ+HDEjpjkGaG/ncEP7eWFTvFxbHP8yeeI0PxTDjimtpXYlR3b3i9/WIL4VJttPrESIf2g==", + "license": "MIT", + "dependencies": { + "react-router": "7.13.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/react-sortablejs": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/react-sortablejs/-/react-sortablejs-6.1.4.tgz", + "integrity": "sha512-fc7cBosfhnbh53Mbm6a45W+F735jwZ1UFIYSrIqcO/gRIFoDyZeMtgKlpV4DdyQfbCzdh5LoALLTDRxhMpTyXQ==", + "license": "MIT", + "dependencies": { + "classnames": "2.3.1", + "tiny-invariant": "1.2.0" + }, + "peerDependencies": { + "@types/sortablejs": "1", + "react": ">=16.9.0", + "react-dom": ">=16.9.0", + "sortablejs": "1" + } + }, + "node_modules/react-sortablejs/node_modules/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==", + "license": "MIT" + }, + "node_modules/react-sortablejs/node_modules/tiny-invariant": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.2.0.tgz", + "integrity": "sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==", + "license": "MIT" + }, + "node_modules/react-syntax-highlighter": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-16.1.0.tgz", + "integrity": "sha512-E40/hBiP5rCNwkeBN1vRP+xow1X0pndinO+z3h7HLsHyjztbyjfzNWNKuAsJj+7DLam9iT4AaaOZnueCU+Nplg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "highlight.js": "^10.4.1", + "highlightjs-vue": "^1.0.0", + "lowlight": "^1.17.0", + "prismjs": "^1.30.0", + "refractor": "^5.0.0" + }, + "engines": { + "node": ">= 16.20.2" + }, + "peerDependencies": { + "react": ">= 0.14.0" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recharts": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.7.0.tgz", + "integrity": "sha512-l2VCsy3XXeraxIID9fx23eCb6iCBsxUQDnE8tWm6DFdszVAO7WVY/ChAD9wVit01y6B2PMupYiMmQwhgPHc9Ew==", + "license": "MIT", + "workspaces": [ + "www" + ], + "dependencies": { + "@reduxjs/toolkit": "1.x.x || 2.x.x", + "clsx": "^2.1.1", + "decimal.js-light": "^2.5.1", + "es-toolkit": "^1.39.3", + "eventemitter3": "^5.0.1", + "immer": "^10.1.1", + "react-redux": "8.x.x || 9.x.x", + "reselect": "5.1.1", + "tiny-invariant": "^1.3.3", + "use-sync-external-store": "^1.2.2", + "victory-vendor": "^37.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/refractor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-5.0.0.tgz", + "integrity": "sha512-QXOrHQF5jOpjjLfiNk5GFnWhRXvxjUVnlFxkeDmewR5sXkr3iM46Zo+CnRR8B+MDVqkULW4EcLVcRBNOPXHosw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/prismjs": "^1.0.0", + "hastscript": "^9.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.58.0.tgz", + "integrity": "sha512-wbT0mBmWbIvvq8NeEYWWvevvxnOyhKChir47S66WCxw1SXqhw7ssIYejnQEVt7XYQpsj2y8F9PM+Cr3SNEa0gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.58.0", + "@rollup/rollup-android-arm64": "4.58.0", + "@rollup/rollup-darwin-arm64": "4.58.0", + "@rollup/rollup-darwin-x64": "4.58.0", + "@rollup/rollup-freebsd-arm64": "4.58.0", + "@rollup/rollup-freebsd-x64": "4.58.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.58.0", + "@rollup/rollup-linux-arm-musleabihf": "4.58.0", + "@rollup/rollup-linux-arm64-gnu": "4.58.0", + "@rollup/rollup-linux-arm64-musl": "4.58.0", + "@rollup/rollup-linux-loong64-gnu": "4.58.0", + "@rollup/rollup-linux-loong64-musl": "4.58.0", + "@rollup/rollup-linux-ppc64-gnu": "4.58.0", + "@rollup/rollup-linux-ppc64-musl": "4.58.0", + "@rollup/rollup-linux-riscv64-gnu": "4.58.0", + "@rollup/rollup-linux-riscv64-musl": "4.58.0", + "@rollup/rollup-linux-s390x-gnu": "4.58.0", + "@rollup/rollup-linux-x64-gnu": "4.58.0", + "@rollup/rollup-linux-x64-musl": "4.58.0", + "@rollup/rollup-openbsd-x64": "4.58.0", + "@rollup/rollup-openharmony-arm64": "4.58.0", + "@rollup/rollup-win32-arm64-msvc": "4.58.0", + "@rollup/rollup-win32-ia32-msvc": "4.58.0", + "@rollup/rollup-win32-x64-gnu": "4.58.0", + "@rollup/rollup-win32-x64-msvc": "4.58.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/sass": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/sortablejs": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.7.tgz", + "integrity": "sha512-Kk8wLQPlS+yi1ZEf48a4+fzHa4yxjC30M/Sr2AnQu+f/MPwvvX9XjZ6OWejiz8crBsLwSq8GHqaxaET7u6ux0A==", + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", + "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "dev": true, + "license": "MIT" + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "license": "MIT" + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/terser": { + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tiny-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", + "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==", + "license": "MIT" + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "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/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tinyrainbow": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", + "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "7.0.23", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.23.tgz", + "integrity": "sha512-ASdhgQIBSay0R/eXggAkQ53G4nTJqTXqC2kbaBbdDwM7SkjyZyO0OaaN1/FH7U/yCeqOHDwFO5j8+Os/IS1dXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.23" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.23", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.23.tgz", + "integrity": "sha512-0g9vrtDQLrNIiCj22HSe9d4mLVG3g5ph5DZ8zCKBr4OtrspmNB6ss7hVyzArAeE88ceZocIEGkyW1Ime7fxPtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "license": "ISC", + "dependencies": { + "commander": "2" + }, + "bin": { + "topo2geo": "bin/topo2geo", + "topomerge": "bin/topomerge", + "topoquantize": "bin/topoquantize" + } + }, + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==", + "license": "MIT" + }, + "node_modules/tough-cookie": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", + "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tss-react": { + "version": "4.9.20", + "resolved": "https://registry.npmjs.org/tss-react/-/tss-react-4.9.20.tgz", + "integrity": "sha512-+tecs5hEKZmPqNDtiq5Gx2GxjrQXbV5JuOeWkV+eOf99qiIUkE3Vcn07zNLHws06iPfH2H4t5VqoVjIdCMS7hw==", + "license": "MIT", + "dependencies": { + "@emotion/cache": "*", + "@emotion/serialize": "*", + "@emotion/utils": "*" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/server": "^11.4.0", + "@mui/material": "^5.0.0 || ^6.0.0 || ^7.0.0", + "@types/react": "^16.8.0 || ^17.0.2 || ^18.0.0 || ^19.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/server": { + "optional": true + }, + "@mui/material": { + "optional": true + } + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/undici": { + "version": "7.22.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.22.0.tgz", + "integrity": "sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/uuid": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, + "node_modules/victory-vendor": { + "version": "37.3.6", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz", + "integrity": "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==", + "license": "MIT AND ISC", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, + "node_modules/vite": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vite/node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/vitest": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz", + "integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.0.18", + "@vitest/mocker": "4.0.18", + "@vitest/pretty-format": "4.0.18", + "@vitest/runner": "4.0.18", + "@vitest/snapshot": "4.0.18", + "@vitest/spy": "4.0.18", + "@vitest/utils": "4.0.18", + "es-module-lexer": "^1.7.0", + "expect-type": "^1.2.2", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^3.10.0", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.0.3", + "vite": "^6.0.0 || ^7.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.0.18", + "@vitest/browser-preview": "4.0.18", + "@vitest/browser-webdriverio": "4.0.18", + "@vitest/ui": "4.0.18", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-mimetype": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-url": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", + "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.11.0", + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yup": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.7.1.tgz", + "integrity": "sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==", + "license": "MIT", + "dependencies": { + "property-expr": "^2.0.5", + "tiny-case": "^1.0.3", + "toposort": "^2.0.2", + "type-fest": "^2.19.0" + } + }, + "node_modules/yup/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/react-material-admin-master/package.json b/react-material-admin-master/package.json new file mode 100644 index 0000000..f2f3e9e --- /dev/null +++ b/react-material-admin-master/package.json @@ -0,0 +1,76 @@ +{ + "name": "react-material-full", + "description": "React Material Admin Full", + "version": "3.0.1", + "private": true, + "homepage": "./", + "scripts": { + "build": "vite build", + "start": "vite", + "dev": "vite", + "preview": "vite preview", + "lint": "cross-env NODE_ENV=development eslint src --ext .js,.jsx", + "lint:fix": "cross-env NODE_ENV=development eslint src --ext .js,.jsx --fix", + "test": "vitest run", + "test:watch": "vitest", + "format": "prettier --write src/" + }, + "dependencies": { + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@fullcalendar/core": "^6.1.14", + "@fullcalendar/daygrid": "^6.1.14", + "@fullcalendar/interaction": "^6.1.14", + "@fullcalendar/list": "^6.1.14", + "@fullcalendar/react": "^6.1.14", + "@fullcalendar/timegrid": "^6.1.14", + "@mui/icons-material": "^7.3.8", + "@mui/material": "^7.3.8", + "@mui/x-data-grid": "^8.27.1", + "@mui/x-date-pickers": "^8.27.2", + "apexcharts": "^5.6.0", + "axios": "^1.13.5", + "classnames": "^2.3.2", + "date-fns": "^4.1.0", + "dayjs": "^1.11.19", + "formik": "^2.4.9", + "leaflet": "^1.9.4", + "prop-types": "^15.8.1", + "react": "^19.2.4", + "react-apexcharts": "^2.0.1", + "react-dom": "^19.2.4", + "react-leaflet": "^5.0.0", + "react-router-dom": "^7.13.0", + "react-sortablejs": "^6.1.4", + "react-syntax-highlighter": "^16.1.0", + "recharts": "^3.7.0", + "sortablejs": "^1.15.7", + "tinycolor2": "^1.6.0", + "topojson-client": "^3.1.0", + "tss-react": "^4.9.20", + "uuid": "^13.0.0", + "yup": "^1.7.1" + }, + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@vitejs/plugin-react-swc": "^4.2.0", + "cross-env": "^10.1.0", + "eslint": "^10.0.1", + "globals": "^17.3.0", + "jsdom": "^28.1.0", + "sass": "^1.97.3", + "vite": "^7.3.1", + "vitest": "^4.0.18" + } +} diff --git a/react-material-admin-master/postcss.config.cjs b/react-material-admin-master/postcss.config.cjs new file mode 100644 index 0000000..9361eff --- /dev/null +++ b/react-material-admin-master/postcss.config.cjs @@ -0,0 +1,3 @@ +module.exports = { + plugins: {}, +}; diff --git a/react-material-admin-master/public/favicon blue.png b/react-material-admin-master/public/favicon blue.png new file mode 100644 index 0000000..67fa6d6 Binary files /dev/null and b/react-material-admin-master/public/favicon blue.png differ diff --git a/react-material-admin-master/public/favicon.ico b/react-material-admin-master/public/favicon.ico new file mode 100644 index 0000000..a11777c Binary files /dev/null and b/react-material-admin-master/public/favicon.ico differ diff --git a/react-material-admin-master/public/favicon.png b/react-material-admin-master/public/favicon.png new file mode 100644 index 0000000..9aecba0 Binary files /dev/null and b/react-material-admin-master/public/favicon.png differ diff --git a/react-material-admin-master/public/favicon.svg b/react-material-admin-master/public/favicon.svg new file mode 100644 index 0000000..032b50a --- /dev/null +++ b/react-material-admin-master/public/favicon.svg @@ -0,0 +1,15 @@ + + + + favicon + Created with Sketch. + + + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/public/logo192.png b/react-material-admin-master/public/logo192.png new file mode 100644 index 0000000..fc44b0a Binary files /dev/null and b/react-material-admin-master/public/logo192.png differ diff --git a/react-material-admin-master/public/logo512.png b/react-material-admin-master/public/logo512.png new file mode 100644 index 0000000..a4e47a6 Binary files /dev/null and b/react-material-admin-master/public/logo512.png differ diff --git a/react-material-admin-master/public/manifest.json b/react-material-admin-master/public/manifest.json new file mode 100644 index 0000000..3589efa --- /dev/null +++ b/react-material-admin-master/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "app.title", + "name": "app.title", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/react-material-admin-master/sketch/material_sketch.sketch b/react-material-admin-master/sketch/material_sketch.sketch new file mode 100644 index 0000000..fe9bc42 Binary files /dev/null and b/react-material-admin-master/sketch/material_sketch.sketch differ diff --git a/react-material-admin-master/src/components/App.js b/react-material-admin-master/src/components/App.js new file mode 100644 index 0000000..2a65e68 --- /dev/null +++ b/react-material-admin-master/src/components/App.js @@ -0,0 +1,111 @@ +import React from 'react'; +import { + BrowserRouter, + Navigate, + Route, + Routes, + useNavigate, +} from 'react-router-dom'; +import { SnackbarProvider } from './Snackbar'; + +// components +import Layout from './Layout'; +import Documentation from './Documentation/Documentation'; + +// pages +import Error from '../pages/error'; +import Login from '../pages/login'; +import Verify from '../pages/verify'; +import Reset from '../pages/reset'; + +// context +import { useUserState } from '../context/UserContext'; +import { setNavigator } from '../router/navigation'; + +export default function App() { + // global + let { isAuthenticated } = useUserState(); + const isAuth = isAuthenticated(); + + return ( + <> + + + + + } /> + } + /> + } /> + } /> + } /> + + + + } + /> + + + + } + /> + + + + } + /> + + + + } + /> + } /> + + + + + ); + + // ####################################################################### + + function PrivateRoute({ children }) { + if (!isAuth) { + return ; + } + + return children; + } + + function PublicRoute({ children }) { + if (isAuth) { + return ; + } + + return children; + } +} + +function RouterNavigatorSync() { + const navigate = useNavigate(); + + React.useEffect(() => { + setNavigator(navigate); + return () => setNavigator(null); + }, [navigate]); + + return null; +} diff --git a/react-material-admin-master/src/components/BreadCrumbs/index.js b/react-material-admin-master/src/components/BreadCrumbs/index.js new file mode 100644 index 0000000..032cfa1 --- /dev/null +++ b/react-material-admin-master/src/components/BreadCrumbs/index.js @@ -0,0 +1,176 @@ +import React from 'react'; +import Widget from '../Widget'; +import { Link } from 'react-router-dom'; +import { Box, Grid, Breadcrumbs, Tabs, Tab } from '@mui/material'; +import { styled } from '@mui/material/styles'; +import { Typography, Button } from '../Wrappers'; +import { + NavigateNext as NavigateNextIcon, + CalendarToday as CalendarIcon, +} from '@mui/icons-material'; +import { useLocation } from 'react-router-dom'; + +// styles +import useStyles from '../Layout/styles'; + +// components +import structure from '../Sidebar/SidebarStructure'; + +// Tab styling +const CustomTab = styled(Tab)(() => ({ + minWidth: 72, + textTransform: 'none', + fontWeight: 400, +})); + +//Sidebar structure +const BreadCrumbs = () => { + const location = useLocation(); + const classes = useStyles(); + const [value, setValue] = React.useState(2); + + const renderBreadCrumbs = () => { + let url = location.pathname; + let route = url + .split('/') + .slice(1) + .map((route) => + route + .split('-') + .map((word) => word[0].toUpperCase() + word.slice(1)) + .join(' '), + ); + const length = route.length; + return route.map((item, index) => { + let middlewareUrl = + '/' + + url + .split('/') + .slice(1, index + 2) + .join('/'); + + return ( + } + aria-label='breadcrumb' + > + + {length === index + 1 ? ( + item + ) : ( + + {item} + + )} + + + ); + }); + }; + + const handleChange = (event, newValue) => { + setValue(newValue); + }; + + const date = () => { + let dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; + const monthNames = ["January", "February", "March", "April", "May", "June", + "July", "August", "September", "October", "November", "December" + ]; + let d = new Date() + let year = d.getFullYear() + let month = d.getMonth() + let date = d.getDate() + let day = d.getDay() + 1 + return `${date} ${monthNames[month]} ${year}, ${dayNames[day - 1]}` + } + + function a11yProps(index) { + return { + id: `simple-tab-${index}`, + 'aria-controls': `simple-tabpanel-${index}`, + }; + } + return ( + + + { + + structure.map((c) => { + if ( + location.pathname.includes(c.link) && + c.link && + c.label === 'Dashboard' + ) { + return ( + + + {c.label} + + {location.pathname.includes('/app/dashboard') && ( + + + + + + + )} + + ); + } + }) + } + {location.pathname.includes('/app/dashboard') ? ( + + + + {/*29 Oct 2019, Tuesday*/} + {date()} + + + + ) : ( + } + aria-label='breadcrumb' + > + {renderBreadCrumbs()} + + )} + + + ); +}; +export default BreadCrumbs; diff --git a/react-material-admin-master/src/components/Chat/Chat.js b/react-material-admin-master/src/components/Chat/Chat.js new file mode 100644 index 0000000..ce81c6f --- /dev/null +++ b/react-material-admin-master/src/components/Chat/Chat.js @@ -0,0 +1,65 @@ +import { + Dialog, + DialogContent, + DialogTitle, + TextField as Input, + Box +} from "@mui/material"; + +// components +import { Button, Typography } from "../Wrappers"; +import Dot from "../Sidebar/components/Dot"; + +export default function Chat({ open, onClose }) { + return ( + + + +
Chat
+ + +  13 + +
+
+ + + Jane Hew + Hey! How it's going? + + + Axel Pittman + I'll definitely buy this template + + + Sophia Fernandez + What's the font-family? + + + + + + +
+ ); +} diff --git a/react-material-admin-master/src/components/Chat/package.json b/react-material-admin-master/src/components/Chat/package.json new file mode 100644 index 0000000..b295510 --- /dev/null +++ b/react-material-admin-master/src/components/Chat/package.json @@ -0,0 +1,6 @@ +{ + "name": "Chat", + "version": "1.0.0", + "main": "Chat.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Chat/styles.js b/react-material-admin-master/src/components/Chat/styles.js new file mode 100644 index 0000000..e69de29 diff --git a/react-material-admin-master/src/components/Code/Code.js b/react-material-admin-master/src/components/Code/Code.js new file mode 100644 index 0000000..9b4c368 --- /dev/null +++ b/react-material-admin-master/src/components/Code/Code.js @@ -0,0 +1,24 @@ + +// styles +import useStyles from './styles'; +import SyntaxHighlighter from 'react-syntax-highlighter'; +import { docco } from 'react-syntax-highlighter/dist/esm/styles/hljs'; + +const Code = ({ children, row, inline }) => { + const props = { row, inline }; + const classes = useStyles(props); + return ( +
+ + {children} + +
+ ); +}; + +export default Code; diff --git a/react-material-admin-master/src/components/Code/package.json b/react-material-admin-master/src/components/Code/package.json new file mode 100644 index 0000000..ef345f3 --- /dev/null +++ b/react-material-admin-master/src/components/Code/package.json @@ -0,0 +1,6 @@ +{ + "name": "Code", + "version": "1.0.0", + "main": "Code.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Code/styles.js b/react-material-admin-master/src/components/Code/styles.js new file mode 100644 index 0000000..e1949aa --- /dev/null +++ b/react-material-admin-master/src/components/Code/styles.js @@ -0,0 +1,11 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles(() => ({ + codeContainer: { + display: (props) => (props.inline ? 'inline-block' : 'flex'), + flexDirection: (props) => (props.row ? 'row' : 'column'), + }, + codeComponent: { + flexGrow: (props) => (props.row ? 0 : 1), + }, +})); diff --git a/react-material-admin-master/src/components/Dialog/index.js b/react-material-admin-master/src/components/Dialog/index.js new file mode 100644 index 0000000..885596a --- /dev/null +++ b/react-material-admin-master/src/components/Dialog/index.js @@ -0,0 +1,35 @@ +import React from 'react'; +import Button from '@mui/material/Button'; +import MaterialDialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import Slide from '@mui/material/Slide'; + +const Transition = React.forwardRef(function Transition(props, ref) { + return ; +}); + +const Dialog = ({ open, title, onClose, contentText, onSubmit }) => ( + + {title} + + + {contentText} + + + + + + + +); + +export default Dialog; diff --git a/react-material-admin-master/src/components/Documentation/Documentation.js b/react-material-admin-master/src/components/Documentation/Documentation.js new file mode 100644 index 0000000..6387acd --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/Documentation.js @@ -0,0 +1,106 @@ +import { + Navigate, + Route, + Routes, + useLocation, +} from 'react-router-dom'; + +//styles +import useStyles from './styles'; + +//pages +import Start from './pages/start'; +import TypographyPage from './pages/typography'; +import WidgetPage from './pages/widget'; +import HeaderPage from './pages/header'; +import SidebarPage from './pages/sidebar'; +import ButtonsPage from './pages/buttons'; + +//components +import Header from './components/Header'; +import Sidebar from '../../components/Sidebar'; +import structure from './components/Sidebar/SidebarStructure'; +import Widget from '../Widget'; + +import { Typography } from '../Wrappers'; +import classnames from 'classnames'; + +//context +import { useLayoutState } from '../../context/LayoutContext'; +import { Box, Breadcrumbs, Grid } from '@mui/material'; + +import { NavigateNext as NavigateNextIcon } from '@mui/icons-material'; + +const Documentation = () => { + // global + let layoutState = useLayoutState(); + const classes = useStyles(); + const location = useLocation(); + return ( +
+
+ +
+
+ + + + { } + {structure.map((c) => { + if (!c.children && location.pathname.includes(c.link) && c.link) { + return ( + + + {c.label} + + + ); + } else if (c.children) { + return c.children.forEach((currentInner) => { + // eslint-disable-array-callback-return + if (location.pathname.includes(currentInner.link)) { + return ( + } + aria-label='breadcrumb' + key={c.id} + > + {c.label} + + {currentInner.label} + + + ); + } + }); + } + })} + + + + } + /> + } /> + } /> + } /> + } /> + } /> + } /> + +
+
+ ); +}; + +export default Documentation; diff --git a/react-material-admin-master/src/components/Documentation/components/Header/Header.js b/react-material-admin-master/src/components/Documentation/components/Header/Header.js new file mode 100644 index 0000000..922834c --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/components/Header/Header.js @@ -0,0 +1,143 @@ +import { useEffect, useState } from 'react'; +import useStyles from './styles'; +import { useNavigate } from 'react-router-dom'; + +// Material-UI core components +import { AppBar, Toolbar, IconButton, Box, Button } from '@mui/material'; +import { useTheme } from '@mui/material'; + +// Material Icons +import { + ArrowBack as ArrowBackIcon, + Menu as MenuIcon, +} from '@mui/icons-material'; + +import GitHubIcon from '@mui/icons-material/GitHub'; +import FacebookIcon from '@mui/icons-material/Facebook'; +import InstagramIcon from '@mui/icons-material/Instagram'; +import LinkedInIcon from '@mui/icons-material/LinkedIn'; +import TwitterIcon from '@mui/icons-material/Twitter'; + +// Components +import { Typography, Link } from '../../../Wrappers'; +import { + toggleSidebar, + useLayoutDispatch, + useLayoutState, +} from '../../../../context/LayoutContext'; +import classNames from 'classnames'; + +const Header = () => { + const theme = useTheme(); + const classes = useStyles(); + const navigate = useNavigate(); + let layoutState = useLayoutState(); + let layoutDispatch = useLayoutDispatch(); + const [isSmall, setSmall] = useState(false); + + useEffect(function () { + window.addEventListener('resize', handleWindowWidthChange); + handleWindowWidthChange(); + return function cleanup() { + window.removeEventListener('resize', handleWindowWidthChange); + }; + }); + + function handleWindowWidthChange() { + let windowWidth = window.innerWidth; + let breakpointWidth = theme.breakpoints.values.md; + let isSmallScreen = windowWidth < breakpointWidth; + setSmall(isSmallScreen); + } + + return ( + + + toggleSidebar(layoutDispatch)} + className={classNames( + classes.headerMenuButton, + classes.headerMenuButtonCollapse, + )} + > + {(!layoutState.isSidebarOpened && isSmall) || + (layoutState.isSidebarOpened && !isSmall) ? ( + + ) : ( + + )} + + + React Material Admin Full{' '} +   Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +}; + +export default Header; diff --git a/react-material-admin-master/src/components/Documentation/components/Header/package.json b/react-material-admin-master/src/components/Documentation/components/Header/package.json new file mode 100644 index 0000000..b30c9b8 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/components/Header/package.json @@ -0,0 +1,6 @@ +{ + "name": "Header", + "version": "1.0.0", + "main": "Header.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/components/Header/styles.js b/react-material-admin-master/src/components/Documentation/components/Header/styles.js new file mode 100644 index 0000000..3a399c3 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/components/Header/styles.js @@ -0,0 +1,50 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + menuIcon: { + marginRight: theme.spacing(2), + }, + icons: { + [theme.breakpoints.down('sm')]: { + display: 'none', + }, + }, + appBar: { + width: '100%', + zIndex: theme.zIndex.drawer + 1, + transition: theme.transitions.create(['margin'], { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.leavingScreen, + }), + }, + toolbar: { + paddingLeft: theme.spacing(2), + paddingRight: theme.spacing(2), + }, + hide: { + display: 'none', + }, + grow: { + flexGrow: 1, + }, + logo: { + flexGrow: 1, + display: 'flex', + alignItems: 'center', + [theme.breakpoints.down('sm')]: { + display: 'none', + }, + marginLeft: 20, + marginRight: 20, + }, + headerButtons: { + [theme.breakpoints.down('sm')]: { + marginLeft: 'auto', + }, + }, + fullWidthXs: { + [theme.breakpoints.down('sm')]: { + width: '100%', + }, + }, +})); diff --git a/react-material-admin-master/src/components/Documentation/components/Sidebar/SidebarStructure.js b/react-material-admin-master/src/components/Documentation/components/Sidebar/SidebarStructure.js new file mode 100644 index 0000000..51bd6f3 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/components/Sidebar/SidebarStructure.js @@ -0,0 +1,42 @@ +const structure = [ + { + id: 0, + label: 'Getting Started', + link: '/documentation/getting-started', + children: [ + { + label: 'Quick start', + link: '/documentation/getting-started/quick-start', + }, + ], + }, + { + id: 2, + label: 'Components', + link: '/documentation/components', + children: [ + { + label: 'Typography', + link: '/documentation/components/typography', + }, + { + label: 'Widget', + link: '/documentation/components/widget', + }, + { + label: 'Header', + link: '/documentation/components/header', + }, + { + label: 'Sidebar', + link: '/documentation/components/sidebar', + }, + { + label: 'Buttons', + link: '/documentation/components/buttons', + }, + ], + }, +]; + +export default structure; diff --git a/react-material-admin-master/src/components/Documentation/package.json b/react-material-admin-master/src/components/Documentation/package.json new file mode 100644 index 0000000..b7df788 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/package.json @@ -0,0 +1,6 @@ +{ + "name": "Documentation", + "version": "1.0.0", + "main": "Documentation.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/pages/buttons/Buttons.js b/react-material-admin-master/src/components/Documentation/pages/buttons/Buttons.js new file mode 100644 index 0000000..94403cc --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/buttons/Buttons.js @@ -0,0 +1,119 @@ +import { Box, Grid } from '@mui/material'; + +//components +import Widget from '../../../Widget'; +import { Typography, Button } from '../../../Wrappers'; +import Code from '../../../Code'; + +const Pages = () => { + return ( + <> + + + + + + Buttons + + + Button's variants: + + + + + + Code: + + + {` + + + + `} + + + Button's colors: + + + + + + + + + + + + + + + + + + + + + + + Code: + + + {` + + + + + + + `} + + + + + ); + +}; + +export default Pages; diff --git a/react-material-admin-master/src/components/Documentation/pages/buttons/package.json b/react-material-admin-master/src/components/Documentation/pages/buttons/package.json new file mode 100644 index 0000000..e4ff9e2 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/buttons/package.json @@ -0,0 +1,6 @@ +{ + "name": "buttons", + "version": "1.0.0", + "main": "Buttons.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/pages/header/Header.js b/react-material-admin-master/src/components/Documentation/pages/header/Header.js new file mode 100644 index 0000000..4529fdd --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/header/Header.js @@ -0,0 +1,100 @@ +import React from 'react'; +import { AppBar, Tabs, Tab, Box, Toolbar, IconButton } from '@mui/material'; + +import { + ArrowRightAlt as ArrowRight, + Menu as MenuIcon, +} from '@mui/icons-material'; + +import useStyles from '../../styles'; + +//components +import Widget from '../../../Widget'; +import { Typography, Link, Button } from '../../../Wrappers'; +import Code from '../../../Code'; + +const WidgetPage = () => { + const classes = useStyles(); + const [value, setValue] = React.useState(0); + + const handleChange = (event, newValue) => { + setValue(newValue); + }; + + const TabPanel = ({ + children, + index, + className = classes.tabPanel, + value, + }) => { + if (index === value) { + return
{children}
; + } + return null; + }; + return ( + + Header element on your page. + {`import { AppBar, Toolbar, IconButton } from '@mui/material'`} + + + + + + + + + + + + + + News + + + + + + + {` + + + + + + + News + + + + + `} + + + + Other props + + + + ); +}; + +export default WidgetPage; diff --git a/react-material-admin-master/src/components/Documentation/pages/header/package.json b/react-material-admin-master/src/components/Documentation/pages/header/package.json new file mode 100644 index 0000000..08f4d2b --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/header/package.json @@ -0,0 +1,6 @@ +{ + "name": "header", + "version": "1.0.0", + "main": "Header.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/pages/libs/Libs.js b/react-material-admin-master/src/components/Documentation/pages/libs/Libs.js new file mode 100644 index 0000000..8b7642f --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/libs/Libs.js @@ -0,0 +1,59 @@ + +//components +import Widget from "../../../Widget"; +import { Typography } from "../../../Wrappers"; +import {List, ListItem, ListItemText} from "@mui/material"; + +const Libs = () => { + return ( + + Icons libs: + + + + + + + + + + + + API libs: + + + + + + Styles libs: + + + + + + + Charts libs: + + + + + + + Datatables libs: + + + + + + Other libs: + + + + + + + + ); +}; + +export default Libs; diff --git a/react-material-admin-master/src/components/Documentation/pages/libs/package.json b/react-material-admin-master/src/components/Documentation/pages/libs/package.json new file mode 100644 index 0000000..dc43a99 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/libs/package.json @@ -0,0 +1,6 @@ +{ + "name": "libs", + "version": "1.0.0", + "main": "Libs.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/pages/licences/Licences.js b/react-material-admin-master/src/components/Documentation/pages/licences/Licences.js new file mode 100644 index 0000000..673823b --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/licences/Licences.js @@ -0,0 +1,122 @@ +import { + Grid, + Table, + TableBody, + TableCell, + TableRow, + TableHead, + Box } from +"@mui/material"; +import { Add as PlusIcon, Remove as MinusIcon } from "@mui/icons-material"; +import useStyles from "./styles"; + +//components +import Widget from "../../../Widget"; +import { Typography } from "../../../Wrappers"; + +// structure +const rows = [ +{ + advantage: "Hundreds unique components", + single: "plus", + extended: "plus" +}, +{ + advantage: "All pages", + single: "plus", + extended: "plus" +}, +{ + advantage: "Free Updates", + single: "3 months", + extended: "6 months" +}, +{ + advantage: "Paying users allowed", + single: "no", + extended: "plus" +}]; + + +const Licences = () => { + const classes = useStyles(); + return ( + <> + + + + + A license grants you a non-exclusive and non-transferable right to + use and incorporate the item in your personal or commercial + projects. If your end product including an item is going to be + free to the end user then a Single License is what you need. An + Extended License is required if the end user must pay to use the + end product. + + + + + + Single + Extended + + + + {rows.map((row) => + + + {row.advantage} + + + {row.extended === "plus" ? + : + + + } + + + {row.extended === "plus" ? + : + + + } + + + )} + +
+ + + + Single Application License + + Your use of the item is restricted to a single application. You + may use the item in work which you are creating for your own + purposes or for your client. You must not incorporate the item + in a work which is created for redistribution or resale by you + or your client. The item may not be redistributed or resold. You + may not charge users for using your application. + + + + + + Extended Application License + + Your use of the item is restricted to a single application. You + may use the item in work which you are creating for your own + purposes or for your clients. You are licensed to use the Item + to create one single End Product for yourself or for one client + (a “single application”), and the End Product may be Sold and + users may be charged for using it (e.g. you are building SAAS + application). + + +
+
+
+ ); + +}; + +export default Licences; \ No newline at end of file diff --git a/react-material-admin-master/src/components/Documentation/pages/licences/package.json b/react-material-admin-master/src/components/Documentation/pages/licences/package.json new file mode 100644 index 0000000..7c0858c --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/licences/package.json @@ -0,0 +1,6 @@ +{ + "name": "Licences", + "version": "1.0.0", + "main": "Licences.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/pages/licences/styles.js b/react-material-admin-master/src/components/Documentation/pages/licences/styles.js new file mode 100644 index 0000000..277f27c --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/licences/styles.js @@ -0,0 +1,10 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + successIcon: { + color: theme.palette.success.main + }, + failIcon: { + color: "red" + } +})); diff --git a/react-material-admin-master/src/components/Documentation/pages/overview/Overview.js b/react-material-admin-master/src/components/Documentation/pages/overview/Overview.js new file mode 100644 index 0000000..553b026 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/overview/Overview.js @@ -0,0 +1,119 @@ +import { Grid, Box, List, ListItem, ListItemIcon, ListItemText } from '@mui/material'; +import { + Done as DoneIcon, + ArrowRightAlt as ArrowRight, +} from '@mui/icons-material'; + +import useStyles from './styles'; + +// components +import Widget from '../../../Widget'; +import { Typography, Link } from '../../../Wrappers'; + +const Overview = () => { + const styles = useStyles(); + + return ( + <> + + + + + React Material Admin is a dashboard starter with modern React and MUI. + It is suitable for SaaS admin panels, internal tools, and data-heavy + business apps. + + + + Features + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Support + + For help and feedback, use the support forum. + + + Support forum + + + + + + + Continue with + + + Quick start + + + + + Explore + + + Components + + + + + + + + ); +}; + +export default Overview; diff --git a/react-material-admin-master/src/components/Documentation/pages/overview/package.json b/react-material-admin-master/src/components/Documentation/pages/overview/package.json new file mode 100644 index 0000000..45aba08 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/overview/package.json @@ -0,0 +1,6 @@ +{ + "name": "overview", + "version": "1.0.0", + "main": "Overview.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/pages/overview/styles.js b/react-material-admin-master/src/components/Documentation/pages/overview/styles.js new file mode 100644 index 0000000..6634eca --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/overview/styles.js @@ -0,0 +1,10 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + link: { + display: 'flex', + alignItems: 'center', + color: theme.palette.primary.main, + fontWeight: 'bold' + } +})) diff --git a/react-material-admin-master/src/components/Documentation/pages/pages/Pages.js b/react-material-admin-master/src/components/Documentation/pages/pages/Pages.js new file mode 100644 index 0000000..84f7cab --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/pages/Pages.js @@ -0,0 +1,100 @@ +import { Grid } from "@mui/material"; +import { useNavigate } from 'react-router-dom'; + +//components +import Widget from "../../../Widget"; +import { Typography, Button } from "../../../Wrappers"; +import Code from "../../../Code"; + +const Pages = () => { + const navigate = useNavigate(); + + return ( + <> + + + + Auth + + User authorization is build via{" "} + + React Hooks and React Router Dom + {" "} + to redirect. We're using {`localStorage`}{" "} + to keep that the user is login. When a user is coming in{" "} + + token + {" "} + value is recorded with the number key. You can see a logic + specified in {`/src/components/App.js`} + + {` + function PrivateRoute({ component, ...rest }) { + return ( + + isAuthenticated ? ( + React.createElement(component, props) + ) : ( + + ) + } + /> + ); + } + + function PublicRoute({ component, ...rest }) { + return ( + + isAuthenticated ? ( + + ) : ( + React.createElement(component, props) + ) + } + /> + ); + } + `} + Dashboard + + We have build a dynamic dashboard that visualized via{" "} + + Recharts and Apexcharts + + . You can see a couple of tables that can help you to collect + user's info, such as Support Requests, Payments, New + registrations.{" "} + + + You can switch between timesteps to view the info all the time. + + + + + + ); + +}; + +export default Pages; diff --git a/react-material-admin-master/src/components/Documentation/pages/pages/package.json b/react-material-admin-master/src/components/Documentation/pages/pages/package.json new file mode 100644 index 0000000..bad2b3e --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/pages/package.json @@ -0,0 +1,6 @@ +{ + "name": "pages", + "version": "1.0.0", + "main": "Pages.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/pages/sidebar/Sidebar.js b/react-material-admin-master/src/components/Documentation/pages/sidebar/Sidebar.js new file mode 100644 index 0000000..a3213a3 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/sidebar/Sidebar.js @@ -0,0 +1,189 @@ +import React from 'react'; +import { + AppBar, + Box, + Collapse, + Grid, + List, + ListItemButton, + ListItemIcon, + ListItemText, + Tab, + Tabs, +} from '@mui/material'; +import { + DashboardRounded as DashboardIcon, + ExpandLess, + ExpandMore, + PeopleAltRounded as PeopleIcon, + ShoppingCartRounded as ShoppingCartIcon, +} from '@mui/icons-material'; + +// components +import Widget from '../../../Widget'; +import { Typography } from '../../../Wrappers'; +import Code from '../../../Code'; +import useStyles from '../../styles'; + +const sidebarStructureExample = [ + { id: 'dashboard', label: 'Dashboard', link: '/app/dashboard' }, + { id: 'ecommerce', label: 'E-Commerce', link: '/app/ecommerce' }, + { + id: 'users', + label: 'Users', + children: [ + { id: 'users-list', label: 'Users List', link: '/app/users' }, + { id: 'users-create', label: 'Create User', link: '/app/user/new' }, + ], + }, +]; + +const SidebarPage = () => { + const classes = useStyles(); + const [tab, setTab] = React.useState(0); + const [activeLink, setActiveLink] = React.useState('/app/users'); + const [usersOpen, setUsersOpen] = React.useState(true); + + const handleTabChange = (event, value) => { + setTab(value); + }; + + const TabPanel = ({ children, index, value, className = classes.tabPanel }) => { + if (index !== value) { + return null; + } + + return
{children}
; + }; + + return ( + <> + + + + + Sidebar navigation is built from a structure{' '} + array. Use it to describe top-level links and nested sections. + + + + + + + + + + + + + Sidebar Preview + + + + setActiveLink('/app/dashboard')} + > + + + + + + + setActiveLink('/app/ecommerce')} + > + + + + + + + setUsersOpen((prev) => !prev)}> + + + + + {usersOpen ? : } + + + + + setActiveLink('/app/users')} + > + + + setActiveLink('/app/user/new')} + > + + + + + + + + + + {` +const sidebarStructure = [ + { id: 'dashboard', label: 'Dashboard', link: '/app/dashboard' }, + { id: 'ecommerce', label: 'E-Commerce', link: '/app/ecommerce' }, + { + id: 'users', + label: 'Users', + children: [ + { id: 'users-list', label: 'Users List', link: '/app/users' }, + { id: 'users-create', label: 'Create User', link: '/app/user/new' }, + ], + }, +]; + + + `} + + In this project, navigation structure is defined in{' '} + src/components/Sidebar/SidebarStructure.js. + + + + + Total items in this example structure:{' '} + {String(sidebarStructureExample.length)} + + + + + + ); +}; + +export default SidebarPage; diff --git a/react-material-admin-master/src/components/Documentation/pages/sidebar/package.json b/react-material-admin-master/src/components/Documentation/pages/sidebar/package.json new file mode 100644 index 0000000..7ceee3b --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/sidebar/package.json @@ -0,0 +1,6 @@ +{ + "name": "sidebar", + "version": "1.0.0", + "main": "Sidebar.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/pages/start/Start.js b/react-material-admin-master/src/components/Documentation/pages/start/Start.js new file mode 100644 index 0000000..01276ad --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/start/Start.js @@ -0,0 +1,86 @@ +import { Grid, List, ListItem, ListItemText } from '@mui/material'; + +//components +import Widget from '../../../Widget'; +import { Typography } from '../../../Wrappers'; +import Code from '../../../Code'; + +const Start = () => { + return ( + <> + + + + + Requirements: + + + + + + + + + + + + + + + + + Quick Start: + + + + 1. Install dependencies: npm install or yarn install} + /> + + + 2. Start frontend-only mode (default): npm run dev or yarn dev} + /> + + + 3. Enable backend mode by setting VITE_BACKEND=true in .env.local, then run npm run dev} + /> + + + 4. Build production bundle: npm run build or yarn build} + /> + + + + Other scripts: + + + + npm run start: starts development server (alias to dev)} + /> + + + npm run preview: preview production build locally} + /> + + + npm run format: format source files with Prettier} + /> + + + + If users pages show Network Error, run frontend-only mode or start backend API on port 8080. + + + + + + ); +}; + +export default Start; diff --git a/react-material-admin-master/src/components/Documentation/pages/start/package.json b/react-material-admin-master/src/components/Documentation/pages/start/package.json new file mode 100644 index 0000000..b0eca5f --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/start/package.json @@ -0,0 +1,6 @@ +{ + "name": "start", + "version": "1.0.0", + "main": "Start.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/pages/typography/Typography.js b/react-material-admin-master/src/components/Documentation/pages/typography/Typography.js new file mode 100644 index 0000000..3a03d37 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/typography/Typography.js @@ -0,0 +1,182 @@ +import React from 'react'; +import { AppBar, Tabs, Tab, Box } from '@mui/material'; + +import { ArrowRightAlt as ArrowRight } from '@mui/icons-material'; + +import useStyles from '../../styles'; + +//components +import Widget from '../../../Widget'; +import { Typography, Link } from '../../../Wrappers'; +import Code from '../../../Code'; + +const TypographyPage = () => { + const classes = useStyles(); + const [value, setValue] = React.useState(0); + const [weightValue, setWeightValue] = React.useState(0); + const [colorValue, setColorValue] = React.useState(0); + const handleChange = (event, newValue) => { + setValue(newValue); + }; + const handleChangeWeight = (event, newValue) => { + setWeightValue(newValue); + }; + const handleChangeColor = (event, newValue) => { + setColorValue(newValue); + }; + const TabPanel = ({ + children, + index, + className = classes.tabPanel, + value, + }) => { + if (index === value) { + return
{children}
; + } + return null; + }; + return ( + + + Provide typography on your page. + + {`import { Typography } from './components/Wrappers';`} + + + + + + + + Default typography + + SM typography + + + MD typography + + + XL typography + + + XXL typography + + + + {` + Default typography + SM typography + MD typography + XL typography + XXL typography + `} + + + + + + + + + Default weight + + Light weight + + + Medium typography + + + Bold typography + + + + {` + Default weight + Light weight + Medium typography + Bold typography + `} + + + + + + + + + Default + + Primary + + + Secondary + + + Warning + + + Success + + + Success + + + + {` + Default + + Primary + + + Secondary + + + Warning + + + Success + + + Success + + `} + + + + Other props + + + + ); +}; + +export default TypographyPage; diff --git a/react-material-admin-master/src/components/Documentation/pages/typography/package.json b/react-material-admin-master/src/components/Documentation/pages/typography/package.json new file mode 100644 index 0000000..d4e751e --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/typography/package.json @@ -0,0 +1,6 @@ +{ + "name": "typography", + "version": "1.0.0", + "main": "Typography.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/pages/widget/Widget.js b/react-material-admin-master/src/components/Documentation/pages/widget/Widget.js new file mode 100644 index 0000000..db98622 --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/widget/Widget.js @@ -0,0 +1,210 @@ +import React from 'react' +import { AppBar, Tabs, Tab, Box } from '@mui/material' + +import { ArrowRightAlt as ArrowRight } from '@mui/icons-material' + +import useStyles from '../../styles' +import useStyles2 from '../overview/styles' + +//components +import Widget from '../../../Widget' +import { Typography, Link } from '../../../Wrappers' +import Code from '../../../Code' + +const WidgetPage = () => { + const classes = useStyles() + const classes2 = useStyles2() + const [value, setValue] = React.useState(0) + const [weightValue, setWeightValue] = React.useState(0) + const [colorValue, setColorValue] = React.useState(0) + const [value4, setValue4] = React.useState(0) + const [value5, setValue5] = React.useState(0) + const handleChange = (event, newValue) => { + setValue(newValue) + } + const handleChangeWeight = (event, newValue) => { + setWeightValue(newValue) + } + const handleChangeColor = (event, newValue) => { + setColorValue(newValue) + } + const handleChangeValue4 = (event, newValue) => { + setValue4(newValue) + } + const handleChangeValue5 = (event, newValue) => { + setValue5(newValue) + } + const TabPanel = ({ + children, + index, + className = classes.tabPanel, + value, + }) => { + if (index === value) { + return
{children}
+ } + return null + } + return ( + + + Provide widget on your page. + + {`import Widget from './components/Widget';`} + + + + + + + + + Widget with the title + + + + {` + + Widget with the title + + `} + + + + + + + + + + Widget with the title and the subtitle + + + + {` + + Widget with the title and the subtitle + + `} + + + + + + + + + + No body padding + + + + {` + + No body padding + + `} + + + + + + + + + + No widget menu + + + + {` + + No widget menu + + `} + + + + + + + + + +

Widget header

+ + )}> + Custom header +
+
+ + {` + +

Widget header

+ + )}> + Custom header +
+ `}
+
+ + + Other props + + +
+ ); +}; + +export default WidgetPage; diff --git a/react-material-admin-master/src/components/Documentation/pages/widget/package.json b/react-material-admin-master/src/components/Documentation/pages/widget/package.json new file mode 100644 index 0000000..ce54e0e --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/pages/widget/package.json @@ -0,0 +1,6 @@ +{ + "name": "widget", + "version": "1.0.0", + "main": "Widget.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Documentation/styles.js b/react-material-admin-master/src/components/Documentation/styles.js new file mode 100644 index 0000000..ea2bcef --- /dev/null +++ b/react-material-admin-master/src/components/Documentation/styles.js @@ -0,0 +1,62 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + root: { + display: 'flex', + maxWidth: '100vw', + overflowX: 'hidden', + }, + content: { + flexGrow: 1, + padding: theme.spacing(3), + width: `calc(100vw - 240px)`, + minHeight: '100vh', + }, + contentShift: { + width: `calc(100vw - ${240 + theme.spacing(6)}px)`, + transition: theme.transitions.create(['width', 'margin'], { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.enteringScreen, + }), + }, + fakeToolbar: { + ...theme.mixins.toolbar, + }, + margin: { + marginBottom: 24, + }, + tabPanel: { + backgroundColor: '#f5f5f5', + padding: theme.spacing(2), + }, + tabsAppBar: { + backgroundColor: theme.palette.primary.main, + color: theme.palette.primary.contrastText, + boxShadow: 'none', + borderRadius: theme.shape.borderRadius, + }, + tabs: { + minHeight: 44, + '& .MuiTabs-indicator': { + backgroundColor: theme.palette.primary.contrastText, + height: 3, + }, + }, + tab: { + minHeight: 44, + textTransform: 'none', + fontWeight: 600, + color: `${theme.palette.primary.contrastText} !important`, + opacity: 0.78, + '&.Mui-selected': { + color: `${theme.palette.primary.contrastText} !important`, + opacity: 1, + }, + }, + link: { + display: 'flex', + alignItems: 'center', + color: theme.palette.primary.main, + fontWeight: 'bold', + }, +})); diff --git a/react-material-admin-master/src/components/Dot/Dot.js b/react-material-admin-master/src/components/Dot/Dot.js new file mode 100644 index 0000000..ef52a04 --- /dev/null +++ b/react-material-admin-master/src/components/Dot/Dot.js @@ -0,0 +1,42 @@ +import { useTheme } from '@mui/material'; +import { makeStyles } from 'styles/mui'; +import classnames from 'classnames'; + +let useStyles = makeStyles((theme) => ({ + dotBase: { + width: 6, + height: 6, + backgroundColor: theme.palette.text.hint, + borderRadius: '50%', + transition: theme.transitions.create('background-color'), + }, + dotMedium: { + width: 8, + height: 8, + }, + dotLarge: { + width: 14, + height: 14, + }, +})); + +export default function Dot({ size = 'small', color, style }) { + let classes = useStyles(); + let theme = useTheme(); + + return ( +
+ ); +} diff --git a/react-material-admin-master/src/components/Dot/package.json b/react-material-admin-master/src/components/Dot/package.json new file mode 100644 index 0000000..59848e8 --- /dev/null +++ b/react-material-admin-master/src/components/Dot/package.json @@ -0,0 +1,6 @@ +{ + "name": "Dot", + "version": "1.0.0", + "main": "Dot.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Footer/Footer.js b/react-material-admin-master/src/components/Footer/Footer.js new file mode 100644 index 0000000..6155b89 --- /dev/null +++ b/react-material-admin-master/src/components/Footer/Footer.js @@ -0,0 +1,20 @@ +import { Box } from '@mui/material'; + +const Footer = ({ children }) => { + return ( + + {children} + + ); +}; + +export default Footer; diff --git a/react-material-admin-master/src/components/Footer/package.json b/react-material-admin-master/src/components/Footer/package.json new file mode 100644 index 0000000..883e3b2 --- /dev/null +++ b/react-material-admin-master/src/components/Footer/package.json @@ -0,0 +1,6 @@ +{ + "name": "Footer", + "version": "1.0.0", + "main": "Footer.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/FormItems/error/errors.js b/react-material-admin-master/src/components/FormItems/error/errors.js new file mode 100644 index 0000000..332a5be --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/error/errors.js @@ -0,0 +1,59 @@ +import { showSnackbar } from '../../Snackbar'; +import { navigateTo } from '../../../router/navigation'; + +const DEFAULT_ERROR_MESSAGE = 'Error'; + +function selectErrorMessage(error) { + if (error && error.response && error.response.data) { + const data = error.response.data; + + if (data.error && data.error.message) { + return data.error.message; + } + + return String(data); + } + + return error.message || DEFAULT_ERROR_MESSAGE; +} + +function selectErrorCode(error) { + if (error && error.response && error.response.status) { + return error.response.status; + } + + return 500; +} + +export default class Errors { + static handle(error) { + if (import.meta.env.MODE !== 'test') { + console.error(selectErrorMessage(error)); + console.error(error); + } + + if (selectErrorCode(error) === 403) { + navigateTo('/403'); + return; + } + + if (selectErrorCode(error) === 400) { + showSnackbar({ type: 'error', message: selectErrorMessage(error) }); + return; + } + + navigateTo('/500'); + } + + static errorCode(error) { + return selectErrorCode(error); + } + + static selectMessage(error) { + return selectErrorMessage(error); + } + + static showMessage(error) { + showSnackbar({ type: 'error', message: selectErrorMessage(error) }); + } +} diff --git a/react-material-admin-master/src/components/FormItems/formErrors.js b/react-material-admin-master/src/components/FormItems/formErrors.js new file mode 100644 index 0000000..538fe27 --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/formErrors.js @@ -0,0 +1,31 @@ +export default class FormErrors { + static displayableError(form, fieldName, externalErrorMessage = null) { + if (externalErrorMessage) { + return externalErrorMessage; + } + + if (!form.touched[fieldName]) { + return null; + } + + const errors = form.errors[fieldName]; + + if (!errors) { + return null; + } + + if (Array.isArray(errors)) { + return errors[0]; + } + + return errors; + } + + static validateStatus(form, fieldName, externalErrorMessage) { + if (this.displayableError(form, fieldName, externalErrorMessage)) { + return 'is-invalid'; + } + + return ''; + } +} diff --git a/react-material-admin-master/src/components/FormItems/formValidations.js b/react-material-admin-master/src/components/FormItems/formValidations.js new file mode 100644 index 0000000..3de0d0c --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/formValidations.js @@ -0,0 +1,82 @@ +import dayjs from 'utils/dayjs'; +import * as yup from 'yup'; + +const formValidations = (fields) => { + const yupArray = {}; + Object.keys(fields).forEach((field) => { + const type = fields[field].type; + const label = fields[field].label; + const required = fields[field].required; + let yupConds; + switch (type) { + case 'boolean': + yupConds = yup.bool().default(false); + break; + + case 'date': + yupConds = yup + .mixed() + .nullable(true) + .test('is-date', '', (value) => { + if (!value) { + return true; + } + return dayjs(value, 'YYYY-MM-DD').isValid(); + }); + break; + + case 'datetime': + yupConds = yup.mixed().nullable(true); + break; + + case 'decimal': + yupConds = yup.number().nullable(true); + break; + + case 'enum': + yupConds = yup.string().nullable(true); + break; + + case 'files': + yupConds = yup.array().compact().ensure().nullable(true); + break; + + case 'images': + yupConds = yup.array().nullable(true); + break; + + case 'int': + yupConds = yup.number().integer().nullable(true); + break; + + case 'user_many': + case 'relation_many': + yupConds = yup.array().nullable(true); + break; + + case 'user_one': + case 'relation_one': + yupConds = yup.mixed().nullable(true); + break; + + case 'stringArray': + yupConds = yup.array().compact().ensure().of(yup.string().trim()); + break; + + case 'string': + yupConds = yup.string().nullable(true).trim(); + break; + + default: + yupConds = yup.string(); + } + yupConds = yupConds.label(label); + if (required) { + yupConds = yupConds.required(); + } + yupArray[field] = yupConds; + }); + return yup.object().shape(yupArray); +}; + +export default formValidations; diff --git a/react-material-admin-master/src/components/FormItems/iniValues.js b/react-material-admin-master/src/components/FormItems/iniValues.js new file mode 100644 index 0000000..a0736f2 --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/iniValues.js @@ -0,0 +1,112 @@ +import dayjs from 'utils/dayjs'; + +const IniValues = (fields, record = {}) => { + const iniArray = {}; + Object.keys(fields).forEach((field) => { + const type = fields[field].type; + const value = record[field]; + let showValue; + switch (type) { + case 'boolean': + showValue = value; + break; + + case 'date': + showValue = value ? dayjs(value, 'YYYY-MM-DD').toDate() : null; + break; + + case 'dateRange': + if (!value || !value.length) { + showValue = []; + } else { + showValue = value.map((item) => + item ? dayjs(item, 'YYYY-MM-DD').toDate() : null, + ); + } + break; + + case 'datetime': + showValue = value ? dayjs(value).toDate() : null; + break; + + case 'datetimeRange': + if (!value || !value.length) { + showValue = []; + } else { + showValue = value.map((item) => + item ? dayjs(item).toDate() : null, + ); + } + break; + + case 'decimal': + showValue = value; + break; + + case 'decimalRange': + showValue = value || []; + break; + + case 'enum': + if (!value || typeof value === 'string' || value instanceof String) { + showValue = value; + } else { + showValue = value.id; + } + break; + + case 'files': + showValue = value; + break; + + case 'images': + showValue = value; + break; + + case 'int': + showValue = value; + break; + + case 'intRange': + showValue = value; + break; + + case 'relation_many': + showValue = value; + break; + + case 'relation_one': + showValue = value; + break; + + case 'user_many': + showValue = value; + break; + + case 'user_one': + showValue = value; + break; + + case 'stringArray': + if (!value) { + showValue = []; + } else if (Array.isArray(value)) { + showValue = value; + } else { + showValue = [value]; + } + break; + + case 'string': + showValue = value; + break; + + default: + showValue = value; + } + iniArray[field] = showValue; + }); + return iniArray; +}; + +export default IniValues; diff --git a/react-material-admin-master/src/components/FormItems/items/AutocompleteFormItem.js b/react-material-admin-master/src/components/FormItems/items/AutocompleteFormItem.js new file mode 100644 index 0000000..e566df4 --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/items/AutocompleteFormItem.js @@ -0,0 +1,66 @@ +import { useMemo } from 'react'; +import FormControl from '@mui/material/FormControl'; +import FormErrors from 'components/FormItems/formErrors'; +import Autocomplete from '@mui/material/Autocomplete'; +import TextField from '@mui/material/TextField'; + +export default function MultipleSelectChip({ + form, + name, + mapper, + schema, + hint, + errorMessage, + multiple, + items, +}) { + const { label } = schema[name]; + + const selected = useMemo(() => { + if (form.values[name]) { + return multiple + ? form.values[name].map((value) => mapper.intoSelect(value)) + : mapper.intoSelect(form.values[name]); + } + return multiple ? [] : ''; + }, [form.values, mapper, multiple, name]); + + const handleChange = (event, value) => { + if (!value) { + form.setFieldValue(name, multiple ? [] : null); + return; + } + form.setFieldValue(name, value); + }; + + return ( + + { + if (option) { + return option.id === value.id; + } + }} + renderInput={(params) => ( + + )} + ListboxProps={{ + style: { + maxHeight: '250px', + }, + }} + /> +
+ {FormErrors.displayableError(form, name, errorMessage)} +
+ {!!hint && {hint}} +
+ ); +} diff --git a/react-material-admin-master/src/components/FormItems/items/DatePickerFormItem.js b/react-material-admin-master/src/components/FormItems/items/DatePickerFormItem.js new file mode 100644 index 0000000..cc09d8a --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/items/DatePickerFormItem.js @@ -0,0 +1,58 @@ +import PropTypes from 'prop-types'; +import { FastField } from 'formik'; +import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns'; +import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'; +import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker'; +import TextField from '@mui/material/TextField'; +import FormErrors from 'components/FormItems/formErrors'; + +const DatePickerFormItem = (props) => { + const { + name, + schema, + hint, + errorMessage, + } = props; + + const { label } = schema[name]; + return ( + + {({ form }) => { + return ( +
+ + } + label={label} + value={form.values[name]} + showToolbar + onChange={(value) => { + form.setFieldValue(name, value); + form.setFieldTouched(name); + }} + /> + +
+ {FormErrors.displayableError(form, name, errorMessage)} +
+ {!!hint && {hint}} +
+ ); + }} +
+ ); +}; + +DatePickerFormItem.propTypes = { + name: PropTypes.string.isRequired, + required: PropTypes.bool, + hint: PropTypes.string, + autoFocus: PropTypes.bool, + size: PropTypes.string, + prefix: PropTypes.string, + placeholder: PropTypes.string, + errorMessage: PropTypes.string, + inputProps: PropTypes.object, +}; + +export default DatePickerFormItem; diff --git a/react-material-admin-master/src/components/FormItems/items/FilesFormItem.js b/react-material-admin-master/src/components/FormItems/items/FilesFormItem.js new file mode 100644 index 0000000..a31f199 --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/items/FilesFormItem.js @@ -0,0 +1,54 @@ +import FilesUploader from 'components/FormItems/uploaders/FilesUploader'; +import FormErrors from 'components/FormItems/formErrors'; +import { FastField } from 'formik'; + +const FilesFormItem = (props) => { + const { + name, + schema, + hint, + path, + fileProps, + max = undefined, + inputProps, + required = false, + } = props; + + const { label } = schema[name]; + + return ( + + {({ form }) => ( +
+ {!!label && ( + + )} +
+ { + form.setFieldValue(name, value); + form.setFieldTouched(name); + }} + max={max} + {...inputProps} + /> + +
+ {FormErrors.displayableError(form, name)} +
+ {!!hint && {hint}} +
+ )} +
+ ); +}; + +export default FilesFormItem; diff --git a/react-material-admin-master/src/components/FormItems/items/ImagesFormItem.js b/react-material-admin-master/src/components/FormItems/items/ImagesFormItem.js new file mode 100644 index 0000000..649a819 --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/items/ImagesFormItem.js @@ -0,0 +1,57 @@ +import PropTypes from 'prop-types'; +import ImagesUploader from 'components/FormItems/uploaders/ImagesUploader'; +import FormErrors from 'components/FormItems/formErrors'; +import Typography from '@mui/material/Typography'; +import { FastField } from 'formik'; + +const ImagesFormItem = (props) => { + const { + name, + schema, + hint, + path, + fileProps, + max = undefined, + inputProps + } = props; + + const { label } = schema[name]; + + return ( + + {({ form }) => ( + <> + {label} + { + form.setFieldValue(name, value); + form.setFieldTouched(name); + }} + max={max} + {...inputProps} + /> + +
+ {FormErrors.displayableError(form, name)} +
+ {!!hint && {hint}} + + )} +
+ ); +}; + +ImagesFormItem.propTypes = { + path: PropTypes.string.isRequired, + required: PropTypes.bool, + // form: PropTypes.object.isRequired, + name: PropTypes.string.isRequired, + hint: PropTypes.string, + formItemProps: PropTypes.object, + inputProps: PropTypes.object, +}; + +export default ImagesFormItem; diff --git a/react-material-admin-master/src/components/FormItems/items/InputFormItem.js b/react-material-admin-master/src/components/FormItems/items/InputFormItem.js new file mode 100644 index 0000000..09bd23b --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/items/InputFormItem.js @@ -0,0 +1,66 @@ +import PropTypes from 'prop-types'; +import FormErrors from 'components/FormItems/formErrors'; +import { FastField } from 'formik'; +import TextField from '@mui/material/TextField'; + +const InputFormItem = (props) => { + const { + name, + schema, + hint, + placeholder, + autoFocus, + autoComplete, + inputProps, + errorMessage, + multiline + } = props; + + const { label } = schema[name]; + + return ( + + {({ form }) => ( + <> + { + form.setFieldValue(name, event.target.value); + form.setFieldTouched(name); + }} + value={form.values[name] || ''} + placeholder={placeholder || undefined} + autoFocus={autoFocus || undefined} + autoComplete={autoComplete || undefined} + // error={FormErrors.validateStatus(form, name, errorMessage)} + {...inputProps} + /> +
+ {FormErrors.displayableError(form, name, errorMessage)} +
+ {!!hint && {hint}} + + )} +
+ ); +}; + +InputFormItem.propTypes = { + name: PropTypes.string.isRequired, + required: PropTypes.bool, + type: PropTypes.string, + hint: PropTypes.string, + autoFocus: PropTypes.bool, + size: PropTypes.string, + prefix: PropTypes.string, + placeholder: PropTypes.string, + errorMessage: PropTypes.string, + inputProps: PropTypes.object, +}; + +export default InputFormItem; diff --git a/react-material-admin-master/src/components/FormItems/items/RadioFormItem.js b/react-material-admin-master/src/components/FormItems/items/RadioFormItem.js new file mode 100644 index 0000000..75939b3 --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/items/RadioFormItem.js @@ -0,0 +1,64 @@ +import PropTypes from 'prop-types'; +import FormErrors from 'components/FormItems/formErrors'; +import Radio from '@mui/material/Radio'; +import RadioGroup from '@mui/material/RadioGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import FormLabel from '@mui/material/FormLabel'; +import { FastField } from 'formik'; + +const RadioFormItem = (props) => { + const { name, schema, hint, errorMessage } = props; + + const { label, options } = schema[name]; + + return ( + + {({ form }) => ( + <> + + + {label} + + { + form.setFieldValue(name, e.target.value); + form.setFieldTouched(name); + }} + value={form.values[name] || ''} + > + {options.map((option) => ( + } + label={option.label} + /> + ))} + + + +
+ {FormErrors.displayableError(form, name, errorMessage)} +
+ + {!!hint && {hint}} + + )} +
+ ); +}; + +RadioFormItem.propTypes = { + name: PropTypes.string.isRequired, + schema: PropTypes.object.isRequired, + label: PropTypes.string, + hint: PropTypes.string, + required: PropTypes.bool, + errorMessage: PropTypes.string, +}; + +export default RadioFormItem; diff --git a/react-material-admin-master/src/components/FormItems/items/SelectFormItem.js b/react-material-admin-master/src/components/FormItems/items/SelectFormItem.js new file mode 100644 index 0000000..668352d --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/items/SelectFormItem.js @@ -0,0 +1,66 @@ +import PropTypes from 'prop-types'; +import FormErrors from 'components/FormItems/formErrors'; +import { FastField } from 'formik'; +import InputLabel from '@mui/material/InputLabel'; +import MenuItem from '@mui/material/MenuItem'; +import FormControl from '@mui/material/FormControl'; +import Select from '@mui/material/Select'; + +const SelectFormItem = (props) => { + const { schema, form, name, hint, errorMessage } = props; + + const { label, options } = schema[name]; + + const handleChange = (event) => { + const value = event.target.value; + if (!value) { + form.setFieldValue(name, null); + return; + } + form.setFieldValue(name, value); + }; + + return ( + + {({ form }) => ( + <> + + {label} + + +
+ {FormErrors.displayableError(form, name, errorMessage)} +
+ + {!!hint && {hint}} +
+ + )} +
+ ); +}; + +SelectFormItem.propTypes = { + form: PropTypes.object.isRequired, + name: PropTypes.string.isRequired, + schema: PropTypes.object.isRequired, + label: PropTypes.string, + hint: PropTypes.string, + required: PropTypes.bool, + errorMessage: PropTypes.string, + mode: PropTypes.string, + isClearable: PropTypes.bool, +}; + +export default SelectFormItem; diff --git a/react-material-admin-master/src/components/FormItems/items/SwitchFormItem.js b/react-material-admin-master/src/components/FormItems/items/SwitchFormItem.js new file mode 100644 index 0000000..bdfa34c --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/items/SwitchFormItem.js @@ -0,0 +1,55 @@ +import PropTypes from 'prop-types'; +import FormErrors from 'components/FormItems/formErrors'; +import { FastField } from 'formik'; +import FormGroup from '@mui/material/FormGroup'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import Checkbox from '@mui/material/Checkbox'; +import FormLabel from '@mui/material/FormLabel'; + +const SwitchFormItem = (props) => { + const { name, schema, hint, errorMessage } = + props; + + const { label } = schema[name]; + + return ( + + {({ form }) => ( + <> + + {label} + { + form.setFieldValue(name, event.target.checked); + form.setFieldTouched(name); + }} + checked={!!form.values[name]} + inputProps={{ 'aria-label': 'controlled' }} + /> + } + /> + + +
+ {FormErrors.displayableError(form, name, errorMessage)} +
+ {!!hint && {hint}} + + )} +
+ ); +}; + +SwitchFormItem.propTypes = { + name: PropTypes.string.isRequired, + required: PropTypes.bool, + hint: PropTypes.string, + size: PropTypes.string, + errorMessage: PropTypes.string, + inputProps: PropTypes.object, +}; + +export default SwitchFormItem; diff --git a/react-material-admin-master/src/components/FormItems/preparedValues.js b/react-material-admin-master/src/components/FormItems/preparedValues.js new file mode 100644 index 0000000..9b0b092 --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/preparedValues.js @@ -0,0 +1,36 @@ +import dayjs from 'utils/dayjs'; + +const PreparedValues = (fields, record = {}) => { + const preparedArray = {}; + Object.keys(fields).forEach((field) => { + const type = fields[field].type; + const value = record[field]; + let preparedValue; + switch (type) { + case 'date': + preparedValue = value ? dayjs(value, 'YYYY-MM-DD').toDate() : null; + break; + + case 'user_many': + case 'relation_many': + if (!value || !value.length) { + preparedValue = []; + } else { + preparedValue = value.map((item) => item.id); + } + break; + + case 'user_one': + case 'relation_one': + preparedValue = value ? value.id : null; + break; + + default: + preparedValue = value; + } + preparedArray[field] = preparedValue; + }); + return preparedArray; +}; + +export default PreparedValues; diff --git a/react-material-admin-master/src/components/FormItems/uploaders/FilesUploader.js b/react-material-admin-master/src/components/FormItems/uploaders/FilesUploader.js new file mode 100644 index 0000000..65e334a --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/uploaders/FilesUploader.js @@ -0,0 +1,139 @@ +import { useState, useRef } from 'react'; +import PropTypes from 'prop-types'; +import InsertLinkIcon from '@mui/icons-material/InsertLink'; +import CloseIcon from '@mui/icons-material/Close'; +import FileUploader from 'components/FormItems/uploaders/UploadService'; +import Errors from '../../../components/FormItems/error/errors'; + +const FilesUploader = (props) => { + const { value, onChange, schema, path, max, readonly } = props; + + const [loading, setLoading] = useState(false); + const inputElement = useRef(null); + + const valuesArr = () => { + if (!value) { + return []; + } + return Array.isArray(value) ? value : [value]; + }; + + const fileList = () => { + return valuesArr().map((item) => ({ + uid: item.id || undefined, + name: item.name, + status: 'done', + url: item.publicUrl, + })); + }; + + const handleRemove = (id) => { + onChange(valuesArr().filter((item) => item.id !== id)); + }; + + const handleChange = async (event) => { + try { + const files = event.target.files; + + if (!files || !files.length) { + return; + } + + let file = files[0]; + + FileUploader.validate(file, schema); + + setLoading(true); + + file = await FileUploader.upload(path, file, schema); + + inputElement.current.value = ''; + setLoading(false); + onChange([...valuesArr(), file]); + } catch (error) { + inputElement.current.value = ''; + console.log('error', error); + setLoading(false); + Errors.showMessage(error); + } + }; + + const formats = () => { + if (schema && schema.formats) { + return schema.formats.map((format) => `.${format}`).join(','); + } + return undefined; + }; + + const uploadButton = ( + + ); + + return ( +
+ {readonly || (max && fileList().length >= max) ? null : uploadButton} + + {valuesArr() && valuesArr().length ? ( +
+ {valuesArr().map((item) => { + return ( +
+ + + {item.name} + + + {!readonly && ( + + )} +
+ ); + })} +
+ ) : null} +
+ ); +}; + +FilesUploader.propTypes = { + readonly: PropTypes.bool, + path: PropTypes.string, + max: PropTypes.number, + schema: PropTypes.shape({ + image: PropTypes.bool, + size: PropTypes.number, + formats: PropTypes.arrayOf(PropTypes.string), + }), + value: PropTypes.any, + onChange: PropTypes.func, +}; + +export default FilesUploader; diff --git a/react-material-admin-master/src/components/FormItems/uploaders/ImagesUploader.js b/react-material-admin-master/src/components/FormItems/uploaders/ImagesUploader.js new file mode 100644 index 0000000..7ccb641 --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/uploaders/ImagesUploader.js @@ -0,0 +1,226 @@ +import { useState, useRef } from 'react'; +import PropTypes from 'prop-types'; +import Button from '@mui/material/Button'; +import CloseIcon from '@mui/icons-material/Close'; +import SearchIcon from '@mui/icons-material/Search'; +import Grid from '@mui/material/Grid'; +import Box from '@mui/material/Box'; +import Dialog from '@mui/material/Dialog'; +import FileUploader from 'components/FormItems/uploaders/UploadService'; +import Errors from '../../../components/FormItems/error/errors'; +import { makeStyles } from 'styles/mui'; + +const useStyles = makeStyles({ + actionButtonsWrapper: { + position: 'relative' + }, + previewContent: { + padding: '0px !important' + }, + imageItem: { + '&.MuiGrid-root': { + margin: 10, + boxShadow: '2px 2px 8px 0 rgb(0 0 0 / 40%)', + borderRadius: 10 + }, + height: '100px' + }, + actionButtons: { + position: 'absolute', + bottom: 5, + right: 4 + }, + previewContainer: { + '& button': { + position: 'absolute', + top: 10, + right: 10, + '& svg': { + height: 50, + width: 50, + fill: '#FFF', + stroke: '#909090', + strokeWidth: 0.5 + } + } + }, + button: { + padding: '0px !important', + minWidth: '45px !important', + '& svg': { + height: 36, + width: 36, + fill: '#FFF', + stroke: '#909090', + strokeWidth: 0.5 + } + } +}); + +const ImagesUploader = (props) => { + const classes = useStyles(); + const { value, onChange, schema, path, max, readonly } = props; + + const [loading, setLoading] = useState(false); + const [showPreview, setShowPreview] = useState(false); + const [imageMeta, setImageMeta] = useState({ + imageSrc: null, + imageAlt: null + }); + const inputElement = useRef(null); + + const valuesArr = () => { + if (!value) { + return []; + } + return Array.isArray(value) ? value : [value]; + }; + + const fileList = () => { + return valuesArr().map((item) => ({ + uid: item.id || undefined, + name: item.name, + status: 'done', + url: item.publicUrl + })); + }; + + const handleRemove = (id) => { + onChange(valuesArr().filter((item) => item.id !== id)); + }; + + const handleChange = async (event) => { + try { + const files = event.target.files; + + if (!files || !files.length) { + return; + } + + let file = files[0]; + + FileUploader.validate(file, schema); + + setLoading(true); + + file = await FileUploader.upload(path, file, schema); + + inputElement.current.value = ''; + setLoading(false); + onChange([...valuesArr(), file]); + } catch (error) { + inputElement.current.value = ''; + console.log('error', error); + setLoading(false); + Errors.showMessage(error); + } + }; + + const doPreviewImage = (image) => { + setImageMeta({ + imageSrc: image.publicUrl, + imageAlt: image.name + }); + setShowPreview(true); + }; + + const doCloseImageModal = () => { + setImageMeta({ + imageSrc: null, + imageAlt: null + }); + setShowPreview(false); + }; + + const uploadButton = + + + ; + + + return ( + + {readonly || (max && fileList().length >= max) ? null : uploadButton} + + {valuesArr() && valuesArr().length ? + + {valuesArr().map((item) => { + return ( + + {item.name} + + +
+
+ + {!readonly && + + } +
+
+
); + + })} +
: + null} + + + + {imageMeta.imageAlt} + +
); + +}; + +ImagesUploader.propTypes = { + readonly: PropTypes.bool, + path: PropTypes.string, + max: PropTypes.number, + schema: PropTypes.shape({ + image: PropTypes.bool, + size: PropTypes.number, + formats: PropTypes.arrayOf(PropTypes.string) + }), + value: PropTypes.any, + onChange: PropTypes.func +}; + +export default ImagesUploader; diff --git a/react-material-admin-master/src/components/FormItems/uploaders/UploadService.js b/react-material-admin-master/src/components/FormItems/uploaders/UploadService.js new file mode 100644 index 0000000..a003746 --- /dev/null +++ b/react-material-admin-master/src/components/FormItems/uploaders/UploadService.js @@ -0,0 +1,76 @@ +import { v4 as uuid } from 'uuid'; +import Axios from 'axios'; +import config from '@/config'; + +function extractExtensionFrom(filename) { + if (!filename) { + return null; + } + + const regex = /(?:\.([^.]+))?$/; + return regex.exec(filename)[1]; +} + +export default class FileUploader { + static validate(file, schema) { + if (!schema) { + return; + } + + if (schema.image) { + if (!file.type.startsWith('image')) { + throw new Error('You must upload an image'); + } + } + + if (schema.size && file.size > schema.size) { + throw new Error('File is too big.'); + } + + const extension = extractExtensionFrom(file.name); + + if (schema.formats && !schema.formats.includes(extension)) { + throw new Error('Invalid format'); + } + } + + static async upload(path, file, schema) { + try { + this.validate(file, schema); + } catch (error) { + return Promise.reject(error); + } + + const extension = extractExtensionFrom(file.name); + const id = uuid(); + const filename = `${id}.${extension}`; + const privateUrl = `${path}/${filename}`; + + const publicUrl = await this.uploadToServer(file, path, filename); + + return { + id: id, + name: file.name, + sizeInBytes: file.size, + privateUrl, + publicUrl, + new: true, + }; + } + + static async uploadToServer(file, path, filename) { + const formData = new FormData(); + formData.append('file', file); + formData.append('filename', filename); + const uri = `/file/upload/${path}`; + await Axios.post(uri, formData, { + headers: { + 'Content-Type': 'multipart/form-data', + }, + }); + + const privateUrl = `${path}/${filename}`; + + return `${config.baseURLApi}/file/download?privateUrl=${privateUrl}`; + } +} diff --git a/react-material-admin-master/src/components/Header/Header.js b/react-material-admin-master/src/components/Header/Header.js new file mode 100644 index 0000000..82e4823 --- /dev/null +++ b/react-material-admin-master/src/components/Header/Header.js @@ -0,0 +1,189 @@ +import { useState, useEffect } from 'react'; +import { Link, useNavigate } from 'react-router-dom'; +import { AppBar, Toolbar, IconButton, Menu, MenuItem } from '@mui/material'; +import { useTheme } from '@mui/material'; +import { + Menu as MenuIcon, + Person as AccountIcon, + ArrowBack as ArrowBackIcon, +} from '@mui/icons-material'; +import classNames from 'classnames'; + +//images +import profile from '../../images/main-profile.png'; +import config from '../../config'; + +// styles +import useStyles from './styles'; + +// components +import { Typography, Avatar } from '../Wrappers/Wrappers'; + +// context +import { + useLayoutState, + useLayoutDispatch, + toggleSidebar, +} from '../../context/LayoutContext'; +import { + useManagementDispatch, + useManagementState, +} from '../../context/ManagementContext'; + +import { actions } from '../../context/ManagementContext'; +import { useUserDispatch, signOut } from '../../context/UserContext'; + +export default function Header() { + let classes = useStyles(); + let theme = useTheme(); + const navigate = useNavigate(); + + // global + let layoutState = useLayoutState(); + let layoutDispatch = useLayoutDispatch(); + let userDispatch = useUserDispatch(); + const managementDispatch = useManagementDispatch(); + + // local + const [profileMenu, setProfileMenu] = useState(null); + const [currentUser, setCurrentUser] = useState(); + const [isSmall, setSmall] = useState(false); + + const managementValue = useManagementState(); + + useEffect(() => { + actions.doFind(sessionStorage.getItem('user_id'))(managementDispatch); + }, []); + + useEffect(() => { + if (config.isBackend) { + setCurrentUser(managementValue.currentUser); + } + }, [managementValue]); + + useEffect(function () { + window.addEventListener('resize', handleWindowWidthChange); + handleWindowWidthChange(); + return function cleanup() { + window.removeEventListener('resize', handleWindowWidthChange); + }; + }); + + function handleWindowWidthChange() { + let windowWidth = window.innerWidth; + let breakpointWidth = theme.breakpoints.values.md; + let isSmallScreen = windowWidth < breakpointWidth; + setSmall(isSmallScreen); + } + + return ( + + + toggleSidebar(layoutDispatch)} + className={classNames( + classes.headerMenuButton, + classes.headerMenuButtonCollapse, + )} + > + {(!layoutState.isSidebarOpened && isSmall) || + (layoutState.isSidebarOpened && !isSmall) ? ( + + ) : ( + + )} + + + React Material Admin Full + +
+ setProfileMenu(e.currentTarget)} + > + = 1 && + currentUser?.avatar[currentUser.avatar.length - 1].publicUrl) || profile + } + classes={{ root: classes.headerIcon }} + > + {currentUser?.firstName?.[0]} + + + +
Hi, 
+ + {currentUser?.firstName} + +
+ setProfileMenu(null)} + className={classes.headerMenu} + classes={{ paper: classes.profileMenu }} + disableAutoFocusItem + > +
+ + {currentUser?.firstName} + + + Flatlogic.com + +
+ + + + Profile + + +
+ signOut(userDispatch, navigate)} + > + Sign Out + +
+
+ + + ); +} diff --git a/react-material-admin-master/src/components/Header/HeaderView.js b/react-material-admin-master/src/components/Header/HeaderView.js new file mode 100644 index 0000000..bc47f00 --- /dev/null +++ b/react-material-admin-master/src/components/Header/HeaderView.js @@ -0,0 +1,462 @@ +import { + AppBar, + Toolbar, + IconButton, + InputBase, + Menu, + MenuItem, + Fab +} from "@mui/material"; +import { + Menu as MenuIcon, + MailOutline as MailIcon, + NotificationsNone as NotificationsIcon, + Person as AccountIcon, + Search as SearchIcon, + Send as SendIcon, + ArrowBack as ArrowBackIcon +} from "@mui/icons-material"; +import { alpha } from "@mui/material/styles"; +import { makeStyles } from "styles/mui"; +import classNames from "classnames"; + +import { Badge, Typography } from "../Wrappers"; +import Notification from "../Notification"; +import UserAvatar from "../UserAvatar"; + +const messages = [ + { + id: 0, + variant: "warning", + name: "Jane Hew", + message: "Hey! How is it going?", + time: "9:32" + }, + { + id: 1, + variant: "success", + name: "Lloyd Brown", + message: "Check out my new Dashboard", + time: "9:18" + }, + { + id: 2, + variant: "primary", + name: "Mark Winstein", + message: "I want rearrange the appointment", + time: "9:15" + }, + { + id: 3, + variant: "secondary", + name: "Liana Dutti", + message: "Good news from sale department", + time: "9:09" + } +]; + +const notifications = [ + { id: 0, color: "warning", message: "Check out this awesome ticket" }, + { + id: 1, + color: "success", + type: "info", + message: "What is the best way to get ..." + }, + { + id: 2, + color: "secondary", + type: "notification", + message: "This is just a simple notification" + }, + { + id: 3, + color: "primary", + type: "e-commerce", + message: "12 new orders has arrived today" + } +]; + +const Header = ({ isSidebarOpened, toggleSidebar, ...props }) => { + const classes = useStyles(); + + return ( + + + + {isSidebarOpened ? ( + + ) : ( + + )} + + + React Material Admin + +
+
+
+ +
+ +
+ + + + + + + + + + + + + + +
+ + New Messages + + + {messages.length} New Messages + +
+ {messages.map(message => ( + +
+ + + {message.time} + +
+
+ + {message.name} + + {message.message} +
+
+ ))} + + Send New Message + + +
+ + {notifications.map(notification => ( + + + + ))} + + +
+ + John Smith + + + Flalogic.com + +
+ + Profile + + + Tasks + + + Messages + +
+ + Sign Out + +
+
+ + + ); +}; + +const styles = theme => ({ + logotype: { + color: "white", + marginLeft: theme.spacing(2.5), + marginRight: theme.spacing(2.5), + fontWeight: 500, + fontSize: 18, + whiteSpace: "nowrap", + [theme.breakpoints.down("xs")]: { + display: "none" + } + }, + appBar: { + width: "100vw", + zIndex: theme.zIndex.drawer + 1, + transition: theme.transitions.create(["margin"], { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.leavingScreen + }) + }, + toolbar: { + paddingLeft: theme.spacing(2), + paddingRight: theme.spacing(2) + }, + hide: { + display: "none" + }, + grow: { + flexGrow: 1 + }, + search: { + position: "relative", + borderRadius: 25, + paddingLeft: theme.spacing(2.5), + width: 36, + backgroundColor: alpha(theme.palette.common.black, 0), + transition: theme.transitions.create(["background-color", "width"]), + "&:hover": { + cursor: "pointer", + backgroundColor: alpha(theme.palette.common.black, 0.08) + } + }, + searchFocused: { + backgroundColor: alpha(theme.palette.common.black, 0.08), + width: "100%", + [theme.breakpoints.up("md")]: { + width: 250 + } + }, + searchIcon: { + width: 36, + right: 0, + height: "100%", + position: "absolute", + display: "flex", + alignItems: "center", + justifyContent: "center", + transition: theme.transitions.create("right"), + "&:hover": { + cursor: "pointer" + } + }, + searchIconOpened: { + right: theme.spacing(1.25) + }, + inputRoot: { + color: "inherit", + width: "100%" + }, + inputInput: { + height: 36, + padding: 0, + paddingRight: 36 + theme.spacing(1.25), + width: "100%" + }, + messageContent: { + display: "flex", + flexDirection: "column" + }, + headerMenu: { + marginTop: theme.spacing(7) + }, + headerMenuList: { + display: "flex", + flexDirection: "column" + }, + headerMenuItem: { + "&:hover, &:focus": { + backgroundColor: theme.palette.primary.main, + color: "white" + } + }, + headerMenuButton: { + marginLeft: theme.spacing(2), + padding: theme.spacing(1) / 2 + }, + headerMenuButtonCollapse: { + marginRight: theme.spacing(2) + }, + headerIcon: { + fontSize: 28, + color: "rgba(255, 255, 255, 0.35)" + }, + headerIconCollapse: { + color: "white" + }, + profileMenu: { + minWidth: 265 + }, + profileMenuUser: { + display: "flex", + flexDirection: "column", + padding: theme.spacing(2) + }, + profileMenuItem: { + color: theme.palette.text.hint + }, + profileMenuIcon: { + marginRight: theme.spacing(2), + color: theme.palette.text.hint + }, + profileMenuLink: { + fontSize: 16, + textDecoration: "none", + "&:hover": { + cursor: "pointer" + } + }, + messageNotification: { + height: "auto", + display: "flex", + alignItems: "center", + "&:hover, &:focus": { + backgroundColor: theme.palette.background.light + } + }, + messageNotificationSide: { + display: "flex", + flexDirection: "column", + alignItems: "center", + marginRight: theme.spacing(2) + }, + messageNotificationBodySide: { + alignItems: "flex-start", + marginRight: 0 + }, + sendMessageButton: { + margin: theme.spacing(4), + marginTop: theme.spacing(2), + marginBottom: theme.spacing(2), + textTransform: "none" + }, + sendButtonIcon: { + marginLeft: theme.spacing(2) + } +}); + +const useStyles = makeStyles(styles); + +export default Header; diff --git a/react-material-admin-master/src/components/Header/package.json b/react-material-admin-master/src/components/Header/package.json new file mode 100644 index 0000000..be07fee --- /dev/null +++ b/react-material-admin-master/src/components/Header/package.json @@ -0,0 +1,6 @@ +{ + "name": "Header", + "version": "0.0.0", + "private": true, + "main": "Header.js" +} diff --git a/react-material-admin-master/src/components/Header/styles.js b/react-material-admin-master/src/components/Header/styles.js new file mode 100644 index 0000000..84988cc --- /dev/null +++ b/react-material-admin-master/src/components/Header/styles.js @@ -0,0 +1,180 @@ +import { makeStyles } from 'styles/mui'; +import { alpha } from '@mui/material/styles'; + +export default makeStyles((theme) => ({ + logotype: { + color: 'white', + marginLeft: theme.spacing(2.5), + marginRight: theme.spacing(2.5), + fontWeight: 500, + fontSize: 18, + whiteSpace: 'nowrap', + [theme.breakpoints.down('xs')]: { + display: 'none', + }, + }, + appBar: { + width: '100%', + zIndex: theme.zIndex.drawer + 1, + transition: theme.transitions.create(['margin'], { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.leavingScreen, + }), + }, + toolbar: { + paddingLeft: theme.spacing(2), + paddingRight: theme.spacing(2), + }, + hide: { + display: 'none', + }, + grow: { + flexGrow: 1, + }, + search: { + position: 'relative', + borderRadius: 25, + paddingLeft: theme.spacing(2.5), + width: 36, + backgroundColor: alpha(theme.palette.common.black, 0), + transition: theme.transitions.create(['background-color', 'width']), + '&:hover': { + cursor: 'pointer', + backgroundColor: alpha(theme.palette.common.black, 0.08), + }, + }, + searchFocused: { + backgroundColor: alpha(theme.palette.common.black, 0.08), + width: '100%', + [theme.breakpoints.up('md')]: { + width: 250, + }, + }, + searchIcon: { + width: 36, + right: 0, + height: '100%', + position: 'absolute', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + transition: theme.transitions.create('right'), + '&:hover': { + cursor: 'pointer', + }, + }, + searchIconOpened: { + right: theme.spacing(1.25), + }, + inputRoot: { + color: 'inherit', + width: '100%', + }, + inputInput: { + height: 36, + padding: 0, + paddingRight: 36 + theme.spacing(1.25), + width: '100%', + }, + messageContent: { + display: 'flex', + flexDirection: 'column', + }, + headerMenu: { + marginTop: theme.spacing(2), + }, + headerMenuList: { + display: 'flex', + flexDirection: 'column', + }, + headerMenuItem: { + '&:hover, &:focus': { + backgroundColor: theme.palette.background.light, + // color: "white", + }, + }, + headerMenuButton: { + marginLeft: theme.spacing(2), + padding: theme.spacing(0.5), + }, + headerMenuButtonSandwich: { + marginLeft: 9, + [theme.breakpoints.down('sm')]: { + marginLeft: 0, + }, + padding: theme.spacing(0.5), + }, + headerMenuButtonCollapse: { + marginRight: theme.spacing(2), + }, + headerIcon: { + fontSize: 28, + color: 'rgba(255, 255, 255, 0.35)', + }, + headerIconCollapse: { + color: 'white', + }, + profileMenu: { + minWidth: 265, + }, + profileMenuUser: { + display: 'flex', + flexDirection: 'column', + padding: theme.spacing(2), + }, + profileMenuItem: { + color: theme.palette.text.hint, + }, + profileMenuIcon: { + marginRight: theme.spacing(2), + color: theme.palette.text.hint, + '&:hover': { + color: theme.palette.primary.main, + }, + }, + profileMenuLink: { + fontSize: 16, + textDecoration: 'none', + '&:hover': { + cursor: 'pointer', + }, + }, + messageNotification: { + height: 'auto', + display: 'flex', + alignItems: 'center', + '&:hover, &:focus': { + backgroundColor: theme.palette.background.light, + }, + }, + messageNotificationSide: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + marginRight: theme.spacing(2), + }, + messageNotificationBodySide: { + alignItems: 'flex-start', + marginRight: 0, + }, + sendMessageButton: { + margin: theme.spacing(4), + marginTop: theme.spacing(2), + marginBottom: theme.spacing(2), + textTransform: 'none', + }, + sendButtonIcon: { + marginLeft: theme.spacing(2), + }, + purchaseBtn: { + [theme.breakpoints.down('sm')]: { + display: 'none', + }, + marginRight: theme.spacing(3), + }, + profileLabel: { + [theme.breakpoints.down('xs')]: { + display: 'none', + }, + }, +})); diff --git a/react-material-admin-master/src/components/Layout/Layout.js b/react-material-admin-master/src/components/Layout/Layout.js new file mode 100644 index 0000000..1727f38 --- /dev/null +++ b/react-material-admin-master/src/components/Layout/Layout.js @@ -0,0 +1,269 @@ +import React from 'react'; +import { Navigate, Route, Routes } from 'react-router-dom'; +import classnames from 'classnames'; + +import SettingsIcon from '@mui/icons-material/Settings'; +import GithubIcon from '@mui/icons-material/GitHub'; +import FacebookIcon from '@mui/icons-material/Facebook'; +import TwitterIcon from '@mui/icons-material/Twitter'; + +import { Fab, IconButton } from '@mui/material'; +// styles +import useStyles from './styles'; + +// components +import Header from '../Header'; +import Sidebar from '../Sidebar'; +import Footer from '../Footer'; +import { Link } from '../Wrappers'; +import ColorChangeThemePopper from './components/ColorChangeThemePopper'; + +import EditUser from '../../pages/user/EditUser'; + +// pages +import Dashboard from '../../pages/dashboard'; +import Profile from '../../pages/profile' +import TypographyPage from '../../pages/typography' +import ColorsPage from '../../pages/colors' +import GridPage from '../../pages/grid' + +import StaticTablesPage from '../../pages/tables' +import DynamicTablesPage from '../../pages/tables/dynamic' + +import IconsPage from '../../pages/icons' +import BadgesPage from '../../pages/badge' +import CarouselsPage from '../../pages/carousel' +import CardsPage from '../../pages/cards' +import ModalsPage from '../../pages/modal' +import NotificationsPage from '../../pages/notifications' +import NavbarsPage from '../../pages/nav' +import TooltipsPage from '../../pages/tooltips' +import TabsPage from '../../pages/tabs' +import ProgressPage from '../../pages/progress' +import WidgetsPage from '../../pages/widget' + +import Ecommerce from '../../pages/ecommerce' +import Product from '../../pages/ecommerce/Products' +import ProductsGrid from '../../pages/ecommerce/ProductsGrid' +import CreateProduct from '../../pages/ecommerce/CreateProduct' + +import FormsElements from '../../pages/forms/elements' +import FormValidation from '../../pages/forms/validation' + +import Charts from '../../pages/charts' +import LineCharts from '../../pages/charts/LineCharts' +import BarCharts from '../../pages/charts/BarCharts' +import PieCharts from '../../pages/charts/PieCharts' + +import DraggableGrid from '../../pages/draggablegrid' + +import MapsGoogle from '../../pages/maps' +import VectorMaps from '../../pages/maps/VectorMap' + +import Timeline from '../../pages/timeline' +import Search from '../../pages/search' +import Gallery from '../../pages/gallery' +import Invoice from '../../pages/invoice' +import Calendar from '../../pages/calendar' + +import BreadCrumbs from '../../components/BreadCrumbs'; + +// context +import { useLayoutState } from '../../context/LayoutContext'; +import { ProductsProvider } from '../../context/ProductContext' + +import UsersFormPage from 'pages/CRUD/Users/form/UsersFormPage'; +import UsersTablePage from 'pages/CRUD/Users/table/UsersTablePage'; + +//Sidebar structure +import structure from '../Sidebar/SidebarStructure' + +function Layout() { + const classes = useStyles(); + const [anchorEl, setAnchorEl] = React.useState(null); + + const open = Boolean(anchorEl); + const id = open ? 'add-section-popover' : undefined; + const handleClick = (event) => { + setAnchorEl(open ? null : event.currentTarget); + }; + + // global + let layoutState = useLayoutState(); + + return ( +
+
+ +
+
+ + + } /> + } /> + } /> + + } + /> + } /> + } /> + } /> + + } + /> + } /> + } /> + + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + + } + /> + } /> + } /> + + } + /> + } /> + } /> + } /> + } /> + + } /> + + } + /> + } /> + } /> + + } + /> + } /> + } /> + } /> + } /> + } /> + + + + + } + /> + + + + } + /> + + + + } + /> + } /> + } /> + } /> + + } /> + } /> + } /> + } /> + + handleClick(e)} + className={classes.changeThemeFab} + style={{ zIndex: 2000 }} + > + + + +
+
+ + Flatlogic + + + About Us + + + Blog + +
+
+ + + + + + + + + + + + + + + +
+
+
+
+ ); +} + +export default Layout; diff --git a/react-material-admin-master/src/components/Layout/components/ColorChangeThemePopper.js b/react-material-admin-master/src/components/Layout/components/ColorChangeThemePopper.js new file mode 100644 index 0000000..6cb0439 --- /dev/null +++ b/react-material-admin-master/src/components/Layout/components/ColorChangeThemePopper.js @@ -0,0 +1,88 @@ +import React from 'react'; + +import { + Popper, + Divider, + RadioGroup, + Box, + Radio, + Switch as SwitchMode, +} from '@mui/material'; + +import useStyles from '../styles'; + +// components +import Widget from '../../Widget'; +import { Typography } from '../../Wrappers'; +import Themes from '../../../themes'; +import { useThemeDispatch } from '../../../context/ThemeContext'; + +function ColorChangeThemePopper({ open, id, anchorEl }) { + const classes = useStyles(); + let themeDispatch = useThemeDispatch(); + const handleChangeTheme = (e) => { + localStorage.setItem('theme', e.target.value); + themeDispatch(Themes[e.target.value]); + }; + + const toggleDarkTheme = () => { + if (localStorage.getItem('theme') === 'dark') { + localStorage.setItem('theme', 'default'); + themeDispatch(Themes.default); + } else { + localStorage.setItem('theme', 'dark'); + themeDispatch(Themes.dark); + } + }; + + return ( + + + + <> + + color theme + + handleChangeTheme(e)} + > + + + + + + + + + <> + + dark mode + + toggleDarkTheme()} + /> + + + + + ); +} + +export default React.memo(ColorChangeThemePopper, (prevProps, nextProps) => { + return prevProps.anchorEl === nextProps.anchorEl; +}); diff --git a/react-material-admin-master/src/components/Layout/package.json b/react-material-admin-master/src/components/Layout/package.json new file mode 100644 index 0000000..dc67afa --- /dev/null +++ b/react-material-admin-master/src/components/Layout/package.json @@ -0,0 +1,6 @@ +{ + "name": "Layout", + "version": "1.0.0", + "private": true, + "main": "Layout.js" +} diff --git a/react-material-admin-master/src/components/Layout/styles.js b/react-material-admin-master/src/components/Layout/styles.js new file mode 100644 index 0000000..b4584f8 --- /dev/null +++ b/react-material-admin-master/src/components/Layout/styles.js @@ -0,0 +1,96 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + root: { + display: 'flex', + maxWidth: '100vw', + overflowX: 'hidden', + }, + content: { + position: 'relative', + flexGrow: 1, + margin: '0px 35px 0px 35px', + width: `calc(100vw - 240px)`, + minHeight: '100vh', + paddingBottom: 70, + }, + contentShift: { + width: `calc(100vw - (240px + ${theme.spacing(8)}))`, + transition: theme.transitions.create(['width', 'margin'], { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.enteringScreen, + }), + }, + fakeToolbar: { + ...theme.mixins.toolbar, + marginTop: 25, + }, + link: { + marginRight: `16px !important`, + textDecoration: 'none', + }, + defaultRadio: { + color: '#536DFE', + '&.MuiRadio-colorSecondary.Mui-checked': { + color: '#536DFE', + }, + }, + successRadio: { + color: '#23a075', + '&.MuiRadio-colorSecondary.Mui-checked': { + color: '#23a075', + }, + }, + secondaryRadio: { + color: '#FF5C93', + '&.MuiRadio-colorSecondary.Mui-checked': { + color: '#FF5C93', + }, + }, + warningRadio: { + color: '#FFC260', + '&.MuiRadio-colorSecondary.Mui-checked': { + color: '#FFC260', + }, + }, + infoRadio: { + color: '#9013FE', + '&.MuiRadio-colorSecondary.Mui-checked': { + color: '#9013FE', + }, + }, + button: { + boxShadow: theme.customShadows.widget, + textTransform: 'none', + '&:active': { + boxShadow: theme.customShadows.widgetWide, + }, + }, + ecommerceIcon: { + color: '#6E6E6E', + }, + calendarIcon: { + color: theme.palette.primary.main, + marginRight: 14, + }, + margin: { + marginBottom: 24, + }, + changeThemeFab: { + position: 'fixed', + top: theme.spacing(15), + right: 0, + zIndex: 1, + borderRadius: 0, + borderTopLeftRadius: '50%', + borderBottomLeftRadius: '50%', + }, + navPadding: { + paddingTop: `${theme.spacing(1)}px !important`, + paddingBottom: `6px !important`, + }, + date: { + marginRight: 38, + color: theme.palette.mode === 'dark' ? '#D6D6D6' : '#4A494A', + }, +})); diff --git a/react-material-admin-master/src/components/Loader/index.js b/react-material-admin-master/src/components/Loader/index.js new file mode 100644 index 0000000..3c0ba4a --- /dev/null +++ b/react-material-admin-master/src/components/Loader/index.js @@ -0,0 +1,20 @@ +import PropTypes from 'prop-types'; +import CircularProgress from '@mui/material/CircularProgress'; + +function Loader({ size }) { + return ( +
+ +
+ ); +} + +Loader.propTypes = { + size: PropTypes.number.isRequired, +}; + +Loader.defaultProps = { + size: 21, +}; + +export default Loader; diff --git a/react-material-admin-master/src/components/Notification/Notification.js b/react-material-admin-master/src/components/Notification/Notification.js new file mode 100644 index 0000000..fc67f03 --- /dev/null +++ b/react-material-admin-master/src/components/Notification/Notification.js @@ -0,0 +1,117 @@ +import React from 'react'; +import { Button } from '@mui/material'; +import { + NotificationsNone as NotificationsIcon, + ThumbUp as ThumbUpIcon, + ShoppingCart as ShoppingCartIcon, + LocalOffer as TicketIcon, + BusinessCenter as DeliveredIcon, + SmsFailed as FeedbackIcon, + DiscFull as DiscIcon, + Email as MessageIcon, + Report as ReportIcon, + Error as DefenceIcon, + AccountBox as CustomerIcon, + Done as ShippedIcon, + Publish as UploadIcon, +} from '@mui/icons-material'; +import { useTheme } from '@mui/material'; +import classnames from 'classnames'; +import tinycolor from 'tinycolor2'; + +// styles +import useStyles from './styles'; + +// components +import { Typography } from '../Wrappers'; + +const typesIcons = { + 'e-commerce': , + notification: , + offer: , + info: , + message: , + feedback: , + customer: , + shipped: , + delivered: , + defence: , + report: , + upload: , + disc: , +}; + +export default function Notification({ variant, ...props }) { + let classes = useStyles(); + let theme = useTheme(); + + const icon = getIconByType(props.type); + const iconWithStyles = React.cloneElement(icon, { + classes: { + root: classes.notificationIcon, + }, + style: { + color: + variant !== 'contained' && + theme.palette[props.color] && + theme.palette[props.color].main, + }, + }); + + return ( +
+
+ {iconWithStyles} +
+
+ + {props.message} + + {props.extraButton && props.extraButtonClick && ( + + )} +
+
+ ); +} + +// #################################################################### +function getIconByType(type = 'offer') { + return typesIcons[type]; +} diff --git a/react-material-admin-master/src/components/Notification/package.json b/react-material-admin-master/src/components/Notification/package.json new file mode 100644 index 0000000..d016252 --- /dev/null +++ b/react-material-admin-master/src/components/Notification/package.json @@ -0,0 +1,6 @@ +{ + "name": "Notification", + "version": "0.0.0", + "private": true, + "main": "Notification.js" +} diff --git a/react-material-admin-master/src/components/Notification/styles.js b/react-material-admin-master/src/components/Notification/styles.js new file mode 100644 index 0000000..1ab52ee --- /dev/null +++ b/react-material-admin-master/src/components/Notification/styles.js @@ -0,0 +1,47 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + notificationContainer: { + display: 'flex', + alignItems: 'center', + }, + notificationContained: { + borderRadius: 45, + height: 45, + boxShadow: theme.customShadows.widgetDark, + }, + notificationContainedShadowless: { + boxShadow: 'none', + }, + notificationIconContainer: { + minWidth: 45, + height: 45, + borderRadius: 45, + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + fontSize: 24, + }, + notificationIconContainerContained: { + fontSize: 18, + color: '#FFFFFF80', + }, + notificationIconContainerRounded: { + marginRight: theme.spacing(2), + }, + containedTypography: { + color: 'white', + }, + messageContainer: { + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + flexGrow: 1, + }, + extraButton: { + color: 'white', + '&:hover, &:focus': { + background: 'transparent', + }, + }, +})); diff --git a/react-material-admin-master/src/components/PageTitle/PageTitle.js b/react-material-admin-master/src/components/PageTitle/PageTitle.js new file mode 100644 index 0000000..cd88335 --- /dev/null +++ b/react-material-admin-master/src/components/PageTitle/PageTitle.js @@ -0,0 +1,29 @@ +import { Button } from '@mui/material'; + +// styles +import useStyles from './styles'; + +// components +import { Typography } from '../Wrappers'; + +export default function PageTitle(props) { + let classes = useStyles(); + + return ( +
+ + {props.title} + + {props.button && ( + + )} +
+ ); +} diff --git a/react-material-admin-master/src/components/PageTitle/package.json b/react-material-admin-master/src/components/PageTitle/package.json new file mode 100644 index 0000000..2bbe12c --- /dev/null +++ b/react-material-admin-master/src/components/PageTitle/package.json @@ -0,0 +1,6 @@ +{ + "name": "PageTitle", + "version": "0.0.0", + "private": true, + "main": "PageTitle.js" +} diff --git a/react-material-admin-master/src/components/PageTitle/styles.js b/react-material-admin-master/src/components/PageTitle/styles.js new file mode 100644 index 0000000..3b362b8 --- /dev/null +++ b/react-material-admin-master/src/components/PageTitle/styles.js @@ -0,0 +1,20 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + pageTitleContainer: { + display: 'flex', + justifyContent: 'space-between', + marginBottom: theme.spacing(4), + marginTop: theme.spacing(5), + }, + typo: { + color: theme.palette.text.hint, + }, + button: { + boxShadow: theme.customShadows.widget, + textTransform: 'none', + '&:active': { + boxShadow: theme.customShadows.widgetWide, + }, + }, +})); diff --git a/react-material-admin-master/src/components/Search/index.js b/react-material-admin-master/src/components/Search/index.js new file mode 100644 index 0000000..4aac396 --- /dev/null +++ b/react-material-admin-master/src/components/Search/index.js @@ -0,0 +1,97 @@ +import { useState } from 'react'; +import classNames from 'classnames'; +import { Search as SearchIcon } from '@mui/icons-material'; +import { InputBase } from '@mui/material'; +import { alpha } from '@mui/material/styles'; +import { makeStyles } from 'styles/mui'; + +const styles = (theme) => ({ + root: { + display: 'flex', + justifyContent: 'flex-end', + }, + search: { + position: 'relative', + borderRadius: 25, + paddingLeft: theme.spacing(2.5), + width: 36, + backgroundColor: alpha(theme.palette.common.black, 0), + transition: theme.transitions.create(['background-color', 'width']), + '&:hover': { + cursor: 'pointer', + backgroundColor: alpha(theme.palette.common.black, 0.08), + }, + }, + searchFocused: { + backgroundColor: alpha(theme.palette.common.black, 0.08), + width: '100%', + [theme.breakpoints.up('md')]: { + width: 250, + }, + }, + searchIcon: { + width: 36, + right: 0, + height: '100%', + position: 'absolute', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + transition: theme.transitions.create('right'), + '&:hover': { + cursor: 'pointer', + }, + }, + searchIconOpened: { + right: theme.spacing(1.25), + }, + headerIcon: { + fontSize: 28, + color: 'rgba(255, 255, 255, 0.35)', + }, + inputRoot: { + color: 'inherit', + width: '100%', + }, + inputInput: { + height: 36, + padding: 0, + paddingRight: 36 + theme.spacing(1.25), + width: '100%', + }, +}); + +const useStyles = makeStyles(styles); + +const Search = () => { + const classes = useStyles(); + const [isSearchOpen, setSearchOpen] = useState(false); + + return ( +
+
+
setSearchOpen(!isSearchOpen)} + > + +
+ +
+
+ ); +}; + +export default Search; diff --git a/react-material-admin-master/src/components/Sidebar/Sidebar.js b/react-material-admin-master/src/components/Sidebar/Sidebar.js new file mode 100644 index 0000000..bbe16cb --- /dev/null +++ b/react-material-admin-master/src/components/Sidebar/Sidebar.js @@ -0,0 +1,114 @@ +import { useState, useEffect, useMemo } from 'react'; +import { ArrowBack as ArrowBackIcon } from '@mui/icons-material'; +import { Drawer, IconButton, List } from '@mui/material'; +import { useTheme } from '@mui/material'; +import classNames from 'classnames'; +import { useLocation } from 'react-router-dom'; + +// styles +import useStyles from './styles'; + +// components +import SidebarLink from './components/SidebarLink/SidebarLink'; + +// context +import { + useLayoutState, + useLayoutDispatch, + toggleSidebar, +} from '../../context/LayoutContext'; + +function Sidebar({ structure }) { + let classes = useStyles(); + let theme = useTheme(); + const location = useLocation(); + + const toggleDrawer = (value) => (event) => { + if ( + event.type === 'keydown' && + (event.key === 'Tab' || event.key === 'Shift') + ) { + return; + } + + if (value && !isPermanent) toggleSidebar(layoutDispatch); + }; + + // global + let { isSidebarOpened } = useLayoutState(); + let layoutDispatch = useLayoutDispatch(); + + // local + let [isPermanent, setPermanent] = useState(true); + + const isSidebarOpenedWrapper = useMemo( + () => (!isPermanent ? !isSidebarOpened : isSidebarOpened), + [isPermanent, isSidebarOpened], + ); + + useEffect(function () { + window.addEventListener('resize', handleWindowWidthChange); + handleWindowWidthChange(); + return function cleanup() { + window.removeEventListener('resize', handleWindowWidthChange); + }; + }); + + return ( + +
+
+ toggleSidebar(layoutDispatch)}> + + +
+ + {structure.map(link => ( + + ))} + + + ); + + // ################################################################## + function handleWindowWidthChange() { + let windowWidth = window.innerWidth; + let breakpointWidth = theme.breakpoints.values.md; + let isSmallScreen = windowWidth < breakpointWidth; + + if (isSmallScreen && isPermanent) { + setPermanent(false); + } else if (!isSmallScreen && !isPermanent) { + setPermanent(true); + } + } +} + +export default Sidebar; diff --git a/react-material-admin-master/src/components/Sidebar/SidebarStructure.js b/react-material-admin-master/src/components/Sidebar/SidebarStructure.js new file mode 100644 index 0000000..6943efc --- /dev/null +++ b/react-material-admin-master/src/components/Sidebar/SidebarStructure.js @@ -0,0 +1,285 @@ +import { + Home as HomeIcon, + FilterNone as UIElementsIcon, + BorderAll as TableIcon, + QuestionAnswer as SupportIcon, + LibraryBooks as LibraryIcon, + HelpOutline as FAQIcon, + BarChart as ChartIcon, + Map as MapIcon, + Apps as CoreIcon, + Description as DescriptionIcon, + ShoppingCart as ShoppingCartIcon, + StarBorder as ExtraIcon, + AddCircle as AddSectionIcon, + FolderOpen as FolderIcon, + Description as DocumentationIcon, + Person as PersonIcon, + AccountCircle as ProfileIcon +} from '@mui/icons-material'; +import ChatIcon from '@mui/icons-material/Chat'; +import ViewCompactRoundedIcon from '@mui/icons-material/ViewCompactRounded'; + +// components +import Dot from './components/Dot'; + +const structure = [ + { id: 100, label: 'Profile', link: '/app/profile', icon: }, + { id: 0, label: 'Dashboard', link: '/app/dashboard', icon: }, + { + id: 1, + label: 'E-commerce', + badge: 'NodeJS', + badgeColor: 'success', + link: '/app/ecommerce', + icon: , + children: [ + { + label: 'Product Manage', + link: '/app/ecommerce/management', + }, + { + label: 'Products Grid', + link: '/app/ecommerce/gridproducts', + }, + { + label: 'Product Page', + link: '/app/ecommerce/product', + }, + ], + }, + { + id: 2, + label: 'User', + link: '/app/user', + badge: 'New', + badgeColor: 'secondary', + icon: , + children: [ + { + label: 'User List', + link: '/app/users', + }, + { + label: 'User Add', + link: '/app/user/new', + }, + { + label: 'User Edit', + link: '/app/user/edit', + }, + ], + }, + { + id: 3, + label: 'Documentation', + link: '/documentation', + icon: , + }, + { id: 4, type: 'divider' }, + { id: 5, type: 'title', label: 'TEMPLATE' }, + { + id: 6, + label: 'Core', + link: '/app/core', + icon: , + children: [ + { + label: 'Typography', + link: '/app/core/typography', + }, + { + label: 'Colors', + link: '/app/core/colors', + }, + { + label: 'Grid', + link: '/app/core/grid', + }, + ], + }, + { + id: 7, + label: 'Tables', + link: '/app/tables', + icon: , + children: [ + { label: 'Tables Basic', + link: '/app/tables/static' + }, + { + label: 'Tables Dynamic', + link: '/app/tables/dynamic', + }, + ], + }, + { + id: 8, + label: 'UI Elements', + link: '/app/ui', + icon: , + children: [ + { label: 'Icons', link: '/app/ui/icons' }, + { label: 'Badge', link: '/app/ui/badge' }, + { label: 'Carousel', link: '/app/ui/carousel' }, + { label: 'Cards', link: '/app/ui/cards' }, + { label: 'Modal', link: '/app/ui/modal' }, + { + label: 'Notifications', + link: '/app/ui/notifications', + }, + { label: 'Navbar', link: '/app/ui/navbar' }, + { label: 'Tooltips', link: '/app/ui/tooltips' }, + { label: 'Tabs', link: '/app/ui/tabs' }, + { label: 'Pagination', link: '/app/tables/dynamic' }, + { label: 'Progress', link: '/app/ui/progress' }, + { label: 'Widget', link: '/app/ui/widget' }, + ], + }, + { + id: 9, + label: 'Forms', + link: '/app/forms', + icon: , + children: [ + { label: 'Form Elements', link: '/app/forms/elements' }, + { label: 'Form Validation', link: '/app/forms/validation' }, + ], + }, + { + id: 10, + label: 'Charts', + link: '/app/charts', + icon: , + children: [ + { label: 'Charts Overview', link: '/app/charts/overview' }, + { label: 'Line Charts', link: '/app/charts/line' }, + { label: 'Bar Charts', link: '/app/charts/bar' }, + { label: 'Pie Charts', link: '/app/charts/pie' }, + ], + }, + { + id: 200, + label: 'Grid', + link: '/app/grid', + icon: , + }, + { + id: 11, + label: 'Maps', + link: '/app/maps', + icon: , + children: [ + { label: 'Google Maps', link: '/app/maps/google' }, + { label: 'Vector Map', link: '/app/maps/vector' }, + ], + }, + { + id: 12, + label: 'Extra', + link: '/app/extra', + icon: , + children: [ + { label: 'Calendar', link: '/app/extra/calendar' }, + { label: 'Invoice', link: '/app/extra/invoice' }, + { + label: 'Login Page', + click: function(...rest) { + const name = 'onLogin' + rest.forEach(c => { + if (c.clickName === name) { + return c() + } + return false + }) + }, + }, + { label: 'Error Page', link: '/404' }, + { label: 'Gallery', link: '/app/extra/gallery' }, + { label: 'Search Result', link: '/app/extra/search' }, + { label: 'Time Line', link: '/app/extra/timeline' }, + ], + }, + { + id: 13, + label: 'Menu Levels', + icon: , + children: [ + { label: 'Level 1.1' }, + { + label: 'Level 1.2', + type: 'nested', + children: [ + { label: 'Level 2.1' }, + { + label: 'Level 2.2', + children: [ + { + label: 'Level 3.1', + }, + ], + }, + ], + }, + ], + }, + { id: 14, type: 'divider' }, + { id: 15, type: 'title', label: 'HELP' }, + { id: 16, label: 'Library', link: 'https://flatlogic.com/templates/', icon: , ext: true }, + { id: 17, label: 'Support', link: 'https://flatlogic.com/forum/', icon: , ext: true }, + { id: 18, label: 'FAQ', link: 'https://flatlogic.com/forum/', icon: , ext: true }, + { id: 19, type: 'divider' }, + { id: 20, type: 'title', label: 'PROJECTS' }, + { + id: 21, + label: 'My recent', + link: '', + icon: , + }, + { + id: 22, + label: 'Starred', + link: '', + icon: , + }, + { + id: 23, + label: 'Background', + link: '', + icon: , + }, + { id: 24, type: 'divider' }, + { + id: 25, + label: 'Add section', + icon: , + click: function(event, ...rest) { + const name = 'addSectionClick' + rest.forEach(c => { + if (c.clickName === name) { + return c(event) + } + return false + }) + }, + }, + { id: 26, type: 'divider' }, + { id: 27, type: 'margin' }, + { id: 28, type: 'divider' }, + { + id: 29, + label: 'Chat', + icon: , + click: function(event, ...rest) { + const name = 'chatSetOpen' + rest.forEach(c => { + if (c.clickName === name) { + return c(event) + } + return false + }) + }, + }, +]; + +export default structure; diff --git a/react-material-admin-master/src/components/Sidebar/components/Dot.js b/react-material-admin-master/src/components/Sidebar/components/Dot.js new file mode 100644 index 0000000..e7c63aa --- /dev/null +++ b/react-material-admin-master/src/components/Sidebar/components/Dot.js @@ -0,0 +1,42 @@ +import { useTheme } from '@mui/material'; +import { makeStyles } from 'styles/mui'; +import classnames from 'classnames'; + +// styles +let useStyles = makeStyles((theme) => ({ + dotBase: { + width: 5, + height: 5, + backgroundColor: theme.palette.text.hint, + borderRadius: '50%', + transition: theme.transitions.create('background-color'), + }, + dotMedium: { + width: 8, + height: 8, + }, + dotLarge: { + width: 18, + height: 18, + }, +})); + +export default function Dot({ size = 'small', color, style }) { + let classes = useStyles(); + let theme = useTheme(); + + return ( +
+ ); +} diff --git a/react-material-admin-master/src/components/Sidebar/components/SidebarLink/SidebarLink.js b/react-material-admin-master/src/components/Sidebar/components/SidebarLink/SidebarLink.js new file mode 100644 index 0000000..2ba6fc2 --- /dev/null +++ b/react-material-admin-master/src/components/Sidebar/components/SidebarLink/SidebarLink.js @@ -0,0 +1,327 @@ +import React, { useState } from 'react'; +import { + Box, + Collapse, + Divider, + List, + ListItem, + ListItemButton, + ListItemIcon, + ListItemText, + Popover, + TextField as Input, + Typography, +} from '@mui/material'; +import { + Inbox as InboxIcon, + ExpandMore as ExpandIcon, +} from '@mui/icons-material'; +import { Link } from 'react-router-dom'; +import classnames from 'classnames'; + +// styles +import useStyles from './styles'; +import useStyles2 from '../../styles'; + +// components +import Dot from '../Dot'; +import {Button, Badge, Link as LinkMaterial} from '../../../Wrappers'; + +export default function SidebarLink({ + link, + ext, + icon, + label, + children, + location, + isSidebarOpened, + nested, + type, + toggleDrawer, + click, + ...props +}) { + // local + let [isOpen, setIsOpen] = useState(false); + // Add Section Popover state + const [anchorEl, setAnchorEl] = React.useState(null); + + // Login page onClick + function onLogin() { + localStorage.removeItem('token'); + window.location.reload(); + } + + onLogin.clickName = 'onLogin'; + + let classes = useStyles(isOpen); + const classes2 = useStyles2(); + let isLinkActive = + link && (location.pathname === link || location.pathname.includes(link)); + + if (type === 'title') + return ( + + {label} + + ); + + if (type === 'divider') return ; + + if (type === 'margin') return
; + + // Add Section Popover + + const open = Boolean(anchorEl); + const id = open ? 'add-section-popover' : undefined; + + function addSectionClick(event) { + setAnchorEl(event.currentTarget); + } + + addSectionClick.clickName = 'addSectionClick'; + + const addSectionClose = () => { + setAnchorEl(null); + }; + + if (!children && ext) + return ( + <> + { + if (click) { + return click(e, addSectionClick, onLogin); + } + return toggleDrawer(e); + }} + onKeyPress={toggleDrawer} + component={link ? LinkMaterial : null} + href={link} + className={classes.link} + classes={{ + root: classnames(classes.link, { + [classes.linkActive]: isLinkActive && !nested, + [classes.linkNested]: nested, + }), + }} + > + + {nested ? : icon} + + + + + ); + if (!children) + return ( + <> + { + if (click) { + return click(e, addSectionClick, onLogin); + } + return toggleDrawer(e); + }} + onKeyPress={toggleDrawer} + component={link ? Link : null} + to={link} + className={classes.link} + classes={{ + root: classnames(classes.link, { + [classes.linkActive]: isLinkActive && !nested, + [classes.linkNested]: nested, + }), + }} + > + + {nested ? : icon} + + + + + + Add section + + + + + + + + + ); + + return ( + <> + {props.badge ? ( + + + {icon ? icon : } + + + + + + + ) : ( + + + {icon ? icon : } + + + + + )} + {children && ( + + + {children.map((childrenLink) => ( + + ))} + + + )} + + ); + + // ########################################################### + + function toggleCollapse(e) { + if (isSidebarOpened) { + e.preventDefault(); + setIsOpen(!isOpen); + } + } +} diff --git a/react-material-admin-master/src/components/Sidebar/components/SidebarLink/styles.js b/react-material-admin-master/src/components/Sidebar/components/SidebarLink/styles.js new file mode 100644 index 0000000..0fd12a7 --- /dev/null +++ b/react-material-admin-master/src/components/Sidebar/components/SidebarLink/styles.js @@ -0,0 +1,92 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + link: { + textDecoration: 'none', + '&:hover, &:focus': { + backgroundColor: theme.palette.background.default, + '& > .MuiSvgIcon-root': { + display: 'inline-block', + }, + }, + '&.Mui-focusVisible': { + backgroundColor: 'transparent', + }, + }, + externalLink: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + textDecoration: 'none' + }, + linkActive: { + backgroundColor: theme.palette.background.default, + }, + linkNested: { + paddingLeft: 25, + '&:hover, &:focus': { + backgroundColor: + theme.palette.mode === 'dark' + ? theme.palette.background.light + : '#FFFFFF', + }, + }, + linkIcon: { + marginRight: theme.spacing(1), + color: + theme.palette.mode === 'dark' + ? '#616168 !important' + : theme.palette.text.secondary + '99', + transition: theme.transitions.create('color'), + display: 'flex', + justifyContent: 'center', + }, + linkIconActive: { + color: `${theme.palette.primary.main} !important`, + }, + linkText: { + padding: 0, + color: + theme.palette.mode === 'dark' + ? '#D6D6D6 !important' + : theme.palette.text.secondary + 'CC', + transition: theme.transitions.create(['opacity', 'color']), + fontSize: 14, + }, + linkTextActive: { + color: theme.palette.text.primary, + }, + linkTextHidden: { + opacity: 0, + }, + nestedList: { + paddingLeft: 0, + }, + sectionTitle: { + marginLeft: theme.spacing(4.5), + marginTop: theme.spacing(4), + marginBottom: theme.spacing(2), + }, + divider: { + marginTop: theme.spacing(2), + marginBottom: theme.spacing(2), + height: 1, + backgroundColor: + theme.palette.mode === 'dark' ? 'rgba(151,151,151, .15)' : '#D8D8D880', + }, + expand: { + transform: 'rotate(180deg)', + }, + expandWrapper: { + color: theme.palette.text.secondary + '99', + transition: theme.transitions.create('transform'), + display: (props) => (props ? 'inline-flex' : 'none'), + marginLeft: 'auto', + }, + nestedMenu: { + paddingLeft: 0, + }, + nestedMenuItem: { + paddingLeft: 0, + }, +})); diff --git a/react-material-admin-master/src/components/Sidebar/package.json b/react-material-admin-master/src/components/Sidebar/package.json new file mode 100644 index 0000000..5899c94 --- /dev/null +++ b/react-material-admin-master/src/components/Sidebar/package.json @@ -0,0 +1,6 @@ +{ + "name": "Sidebar", + "version": "0.0.0", + "private": true, + "main": "Sidebar.js" +} diff --git a/react-material-admin-master/src/components/Sidebar/styles.js b/react-material-admin-master/src/components/Sidebar/styles.js new file mode 100644 index 0000000..409c251 --- /dev/null +++ b/react-material-admin-master/src/components/Sidebar/styles.js @@ -0,0 +1,89 @@ +import { makeStyles } from 'styles/mui'; + +const drawerWidth = 240; + +export default makeStyles((theme) => ({ + menuButton: { + marginLeft: 12, + marginRight: 36, + }, + hide: { + display: 'none', + }, + drawer: { + width: drawerWidth, + flexShrink: 0, + whiteSpace: 'nowrap', + }, + drawerOpen: { + width: drawerWidth, + transition: theme.transitions.create('width', { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.enteringScreen, + }), + }, + drawerClose: { + transition: theme.transitions.create('width', { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.leavingScreen, + }), + overflowX: 'hidden', + width: 85, + [theme.breakpoints.down('sm')]: { + width: drawerWidth, + }, + }, + toolbar: { + ...theme.mixins.toolbar, + [theme.breakpoints.down('sm')]: { + display: 'none', + }, + }, + content: { + flexGrow: 1, + padding: theme.spacing(3), + }, + sidebarList: { + marginTop: theme.spacing(1), + }, + mobileBackButton: { + marginTop: theme.spacing(0.5), + marginLeft: theme.spacing(3), + [theme.breakpoints.only('sm')]: { + marginTop: theme.spacing(0.625), + }, + [theme.breakpoints.up('md')]: { + display: 'none', + }, + }, + popover: { + backgroundColor: theme.palette.primary.main, + color: '#fff', + }, + fab: { + width: 36, + height: 34, + }, + noBoxShadow: { + boxShadow: 'none !important', + marginRight: theme.spacing(1), + }, + buttonLabel: { + color: '#fff', + }, + input: { + '& .MuiInputBase-input': { + color: '#fff', + }, + '& .MuiInput-underline:before': { + borderBottom: '1px solid rgba(255, 255, 255, .45)', + }, + }, + chat: { + width: 45, + height: 45, + }, + padding: { + paddingBottom: theme.spacing(2), + }, +})); diff --git a/react-material-admin-master/src/components/Snackbar/index.js b/react-material-admin-master/src/components/Snackbar/index.js new file mode 100644 index 0000000..0b0a1ca --- /dev/null +++ b/react-material-admin-master/src/components/Snackbar/index.js @@ -0,0 +1,83 @@ +import React, { createContext, useContext } from 'react'; +import Snackbar from '@mui/material/Snackbar'; +import Alert from '@mui/material/Alert'; +import Slide from '@mui/material/Slide'; + +export const INITIAL_STATE = { + open: false, + message: '', + anchorOrigin: { + horizontal: 'center', + vertical: 'top', + }, + autoHideDuration: 4000, + type: 'success', +}; + +const ACTIONS = { + open: 'open', + close: 'close', +}; + +function reducer(state, action) { + switch (action.type) { + case ACTIONS.open: + return { + ...state, + open: true, + ...action.options, + }; + case ACTIONS.close: + return INITIAL_STATE; + default: + return state; + } +} + +const getSnackbar = () => { + const SnackbarContext = createContext({}); + let dispatchAction; + + const SnackbarProvider = ({ initialValue = INITIAL_STATE, children }) => { + const [state, dispatch] = React.useReducer(reducer, initialValue); + dispatchAction = dispatch; + + const handleClose = () => { + dispatchAction({ type: ACTIONS.close }); + }; + + return ( + + + + {state.message} + + + {children} + + ); + }; + + const showSnackbar = (options) => { + dispatchAction && dispatchAction({ type: ACTIONS.open, options }); + }; + + return [SnackbarProvider, () => useContext(SnackbarContext), showSnackbar]; +}; + +const [SnackbarProvider, useSnackbar, showSnackbar] = getSnackbar(); + +export { SnackbarProvider, useSnackbar, showSnackbar }; diff --git a/react-material-admin-master/src/components/Table/Actions.js b/react-material-admin-master/src/components/Table/Actions.js new file mode 100644 index 0000000..6b7fa0d --- /dev/null +++ b/react-material-admin-master/src/components/Table/Actions.js @@ -0,0 +1,65 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; + +import IconButton from '@mui/material/IconButton'; +import MoreVertIcon from '@mui/icons-material/MoreVert'; +import Menu from '@mui/material/Menu'; +import MenuItem from '@mui/material/MenuItem'; +import DeleteIcon from '@mui/icons-material/Delete'; +import EditIcon from '@mui/icons-material/Edit'; + +const Actions = ({ classes, id, openModal, entity }) => { + const navigate = useNavigate(); + const [anchorEl, setAnchorEl] = React.useState(null); + const open = Boolean(anchorEl); + + const handleClick = (event) => { + event.stopPropagation(); + setAnchorEl(event.currentTarget); + }; + const handleClose = () => { + setAnchorEl(null); + }; + + return ( +
+ + + + + { + const editPath = + entity === 'users' + ? `/app/users/${id}/edit` + : `/admin/${entity}/${id}/edit`; + navigate(editPath); + handleClose(); + }} + > + + Edit + + { + openModal(event, id); + handleClose(); + }} + > + + Delete + + +
+ ); +}; + +export default Actions; diff --git a/react-material-admin-master/src/components/Timeline/Timeline.js b/react-material-admin-master/src/components/Timeline/Timeline.js new file mode 100644 index 0000000..26562ab --- /dev/null +++ b/react-material-admin-master/src/components/Timeline/Timeline.js @@ -0,0 +1,43 @@ +import { Box } from '@mui/material'; +import useStyles from './styles'; + +//components +import { Typography, Avatar } from '../Wrappers'; + +const Timestep = (props) => { + return ( + + + + ); +}; + +const Circle = ({ children, ...props }) => { + const classes = useStyles(); + return ( + + + {children ? children : null} + + + ); +}; + +const Annotation = (props) => { + return ( + <> + + {props.children} + + + ); +}; + +export { Annotation, Circle, Timestep }; diff --git a/react-material-admin-master/src/components/Timeline/package.json b/react-material-admin-master/src/components/Timeline/package.json new file mode 100644 index 0000000..c0e9051 --- /dev/null +++ b/react-material-admin-master/src/components/Timeline/package.json @@ -0,0 +1,6 @@ +{ + "name": "Timeline", + "version": "1.0.0", + "main": "Timeline.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/components/Timeline/styles.js b/react-material-admin-master/src/components/Timeline/styles.js new file mode 100644 index 0000000..b384291 --- /dev/null +++ b/react-material-admin-master/src/components/Timeline/styles.js @@ -0,0 +1,18 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles(() => ({ + border: { + position: 'relative', + '&:before': { + content: "''", + position: 'absolute', + border: '1px solid #bdbdbd', + left: '50%', + height: 'calc(100% + 40px)', + width: 1, + }, + }, + circle: { + border: 'rgba(255,255,255,.2) 5px solid', + }, +})); diff --git a/react-material-admin-master/src/components/UserAvatar/UserAvatar.js b/react-material-admin-master/src/components/UserAvatar/UserAvatar.js new file mode 100644 index 0000000..63342ef --- /dev/null +++ b/react-material-admin-master/src/components/UserAvatar/UserAvatar.js @@ -0,0 +1,26 @@ +import { useTheme } from '@mui/material'; + +// styles +import useStyles from './styles'; + +// components +import { Typography } from '../Wrappers'; + +export default function UserAvatar({ color = 'primary', ...props }) { + let classes = useStyles(); + let theme = useTheme(); + + let letters = props.name + .split(' ') + .map((word) => word[0]) + .join(''); + + return ( +
+ {letters} +
+ ); +} diff --git a/react-material-admin-master/src/components/UserAvatar/package.json b/react-material-admin-master/src/components/UserAvatar/package.json new file mode 100644 index 0000000..ed1f9d1 --- /dev/null +++ b/react-material-admin-master/src/components/UserAvatar/package.json @@ -0,0 +1,6 @@ +{ + "name": "UserAvatar", + "version": "0.0.0", + "private": true, + "main": "UserAvatar.js" +} diff --git a/react-material-admin-master/src/components/UserAvatar/styles.js b/react-material-admin-master/src/components/UserAvatar/styles.js new file mode 100644 index 0000000..c15013a --- /dev/null +++ b/react-material-admin-master/src/components/UserAvatar/styles.js @@ -0,0 +1,15 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles(() => ({ + avatar: { + width: 30, + height: 30, + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + borderRadius: '50%', + }, + text: { + color: 'white', + }, +})); diff --git a/react-material-admin-master/src/components/Widget/Widget.js b/react-material-admin-master/src/components/Widget/Widget.js new file mode 100644 index 0000000..5f3deca --- /dev/null +++ b/react-material-admin-master/src/components/Widget/Widget.js @@ -0,0 +1,95 @@ +import { Paper, Box } from '@mui/material'; +import classnames from 'classnames'; + +//components +import { Typography } from '../Wrappers'; + +// styles +import useStyles from './styles'; + +export default function Widget({ + children, + title, + subtitle, + noBodyPadding, + bodyClass, + header, + inheritHeight, + className, + style, + widgetWithDropdown, + ...props +}) { + let classes = useStyles(props); + + return ( +
+ + {!title ? ( + <> + {header ? ( +
{header}
+ ) : null} + + ) : ( + <> + {!widgetWithDropdown && ( +
+ + + + {title} + + + + {subtitle} + + + + +
+ )} + + )} + +
+ {children} +
+
+
+ ); +} diff --git a/react-material-admin-master/src/components/Widget/package.json b/react-material-admin-master/src/components/Widget/package.json new file mode 100644 index 0000000..9f222d7 --- /dev/null +++ b/react-material-admin-master/src/components/Widget/package.json @@ -0,0 +1,6 @@ +{ + "name": "Widget", + "version": "0.0.0", + "private": true, + "main": "Widget.js" +} diff --git a/react-material-admin-master/src/components/Widget/styles.js b/react-material-admin-master/src/components/Widget/styles.js new file mode 100644 index 0000000..e469eb2 --- /dev/null +++ b/react-material-admin-master/src/components/Widget/styles.js @@ -0,0 +1,73 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + widgetWrapper: { + display: 'flex', + }, + inheritHeight: { + minHeight: 'auto', + }, + widgetHeader: { + padding: theme.spacing(3), + paddingBottom: theme.spacing(0), + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + }, + widgetRoot: { + boxShadow: theme.customShadows.widget, + }, + widgetBody: { + height: (props) => (props.fullHeight ? '100%' : 'inherit'), + padding: theme.spacing(3), + paddingTop: theme.spacing(1), + }, + noPadding: { + padding: 0, + }, + paper: { + display: 'flex', + flexDirection: 'column', + flexGrow: 1, + width: '100%', + }, + moreButton: { + margin: -theme.spacing(1), + padding: 0, + width: 40, + height: 40, + color: theme.palette.text.hint, + '&:hover': { + backgroundColor: theme.palette.primary.main, + color: 'rgba(255, 255, 255, 0.35)', + }, + }, + searchIcon: { + color: 'rgba(0, 0, 0, 0.23)', + }, + topPart: { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + paddingRight: 24, + paddingLeft: 24, + paddingTop: 24, + }, + formControl: { + margin: 0, + minWidth: 65, + '& > div > svg': { + right: '2px', + }, + }, + inputPosition: { + transform: 'translate(7px, 10px) scale(1)', + fontSize: 15, + }, + selectPadding: { + padding: 7, + '& > svg': { + right: 0, + }, + }, +})); diff --git a/react-material-admin-master/src/components/Wrappers/Wrappers.js b/react-material-admin-master/src/components/Wrappers/Wrappers.js new file mode 100644 index 0000000..67ea6ee --- /dev/null +++ b/react-material-admin-master/src/components/Wrappers/Wrappers.js @@ -0,0 +1,436 @@ +import { + Badge as BadgeBase, + Typography as TypographyBase, + Button as ButtonBase, + Chip as ChipBase, + Tooltip as TooltipBase, + Avatar as AvatarBase, + Paper as PaperBase, + AppBar as AppBarBase, + Link as LinkBase, + CircularProgress as CircularProgressBase, + LinearProgress as LinearProgressBase, + Radio as RadioBase, +} from '@mui/material'; +import { useTheme } from '@mui/material'; +import { makeStyles } from 'styles/mui'; +import classnames from 'classnames'; + +// styles +const useStyles = makeStyles(() => ({ + badge: { + fontWeight: 600, + height: (props) => { + if (!props.variant) return 16; + }, + minWidth: (props) => { + if (!props.variant) return 16; + }, + }, +})); + +function Badge({ children, colorBrightness, color, type, ...props }) { + const classes = useStyles(props); + const theme = useTheme(); + const Styled = createStyled({ + badge: { + backgroundColor: + type === 'tag' + ? `${getColor(color, theme, colorBrightness)}44` + : getColor(color, theme, colorBrightness), + color: type === 'tag' ? getColor(color, theme, colorBrightness) : 'white', + borderRadius: type === 'tag' && 4, + padding: type === 'tag' && '6px 6px', + height: type === 'tag' && 'auto', + position: type === 'tag' && 'static', + transform: type === 'tag' && 'none', + marginRight: type === 'tag' && 10, + marginBottom: type === 'tag' && 10, + alignContent: 'center', + }, + }); + + return ( + + {(styledProps) => ( + + {children} + + )} + + ); +} + +function Chip({ colorBrightness, color, ...props }) { + const theme = useTheme(); + const Styled = createStyled({ + root: { + backgroundColor: getColor(color, theme, colorBrightness), + color: 'white', + }, + }); + + return ( + + {(styledProps) => ( + + )} + + ); +} + +function Typography({ + children, + weight, + size, + colorBrightness, + color, + block, + uppercase, + style, + ...props +}) { + const theme = useTheme(); + + return ( + + {children} + + ); +} + +function Button({ children, color, className, style, ...props }) { + const useStyles = makeStyles((theme) => ({ + root: { + color: getColor(color, theme), + }, + contained: { + backgroundColor: getColor(color, theme), + boxShadow: theme.customShadows.widget, + color: + theme.palette.mode === 'dark' && !color + ? '#000' + : `${color ? 'white' : theme.palette.text.primary} !important`, + '&:hover': { + backgroundColor: getColor(color, theme, 'light'), + boxShadow: theme.customShadows.widgetWide, + }, + '&:active': { + boxShadow: theme.customShadows.widgetWide, + }, + }, + outlined: { + color: getColor(color, theme), + borderColor: getColor(color, theme), + }, + select: { + backgroundColor: theme.palette.primary.main, + color: '#fff', + }, + })); + const classes = useStyles(); + + return ( + + {children} + + ); +} + +function Avatar({ children, color, colorBrightness, ...props }) { + const theme = useTheme(); + + const Styled = createStyled({ + colorDefault: { + backgroundColor: getColor(color, theme, colorBrightness), + }, + }); + + return ( + + {({ classes }) => ( + + {children} + + )} + + ); +} + +function Tooltip({ children, color, ...props }) { + const theme = useTheme(); + + const Styled = createStyled({ + tooltip: { + backgroundColor: getColor(color, theme), + color: 'white', + }, + }); + + return ( + + {({ classes }) => ( + + {children} + + )} + + ); +} + +function Paper({ children, color, ...props }) { + const theme = useTheme(); + + const Styled = createStyled({ + root: { + backgroundColor: getColor(color, theme), + }, + }); + + return ( + + {({ classes }) => ( + + {children} + + )} + + ); +} + +function AppBar({ children, color, ...props }) { + const useStyles = makeStyles((theme) => ({ + root: { + backgroundColor: getColor(color, theme), + }, + })); + + const classes = useStyles(); + + return ( + + {children} + + ); +} + +function Link({ children, color, ...props }) { + const useStyles = makeStyles((theme) => ({ + root: { + color: color + ? `${getColor(color, theme)} !important` + : theme.palette.text.primary, + textDecoration: 'none', + }, + })); + + const classes = useStyles(); + + return ( + + {children} + + ); +} + +function CircularProgress({ children, color, ...props }) { + const useStyles = makeStyles((theme) => ({ + root: { + color: color + ? `${getColor(color, theme)} !important` + : theme.palette.primary.main, + }, + })); + + const classes = useStyles(); + + return ( + + {children} + + ); +} + +function LinearProgress({ children, color, ...props }) { + const theme = useTheme(); + + const Styled = createStyled({ + root: { + backgroundColor: getCustomBackgroundColor(color), + }, + bar: { + backgroundColor: color + ? `${getColor(color, theme)} !important` + : theme.palette.primary.main, + }, + }); + + return ( + + {({ classes }) => ( + + {children} + + )} + + ); +} + +function Radio({ ...props }) { + const Styled = createStyled({ + root: { + color: 'green', + '&$checked': { + color: 'green', + }, + }, + checked: {}, + }); + + return ( + + {({ classes }) => ( + + )} + + ); +} + +export { + Badge, + Typography, + Button, + Chip, + Tooltip, + Avatar, + Paper, + AppBar, + Link, + CircularProgress, + LinearProgress, + Radio, +}; + +// ######################################################################## + +function getColor(color, theme, brightness = 'main') { + if (color && theme.palette[color] && theme.palette[color][brightness]) { + return theme.palette[color][brightness]; + } +} + +function getCustomBackgroundColor(color) { + switch (color) { + case 'primary': + return 'rgba(83, 109, 254, .3)'; + case 'secondary': + return 'rgba(255, 198, 208, 0.3)'; + case 'warning': + return 'rgba(255, 219, 198, 0.3)'; + case 'success': + return 'rgba(147, 212, 185, 0.3)'; + case 'info': + return 'rgba(214, 172, 254, 0.3)'; + default: + return '#C4D4FE'; + } +} + +function getFontWeight(style) { + switch (style) { + case 'light': + return 300; + case 'medium': + return 500; + case 'bold': + return 600; + default: + return 400; + } +} + +function getFontSize(size, variant = '', theme) { + let multiplier; + + switch (size) { + case 'sm': + multiplier = 0.8; + break; + case 'md': + multiplier = 1.5; + break; + case 'xl': + multiplier = 2; + break; + case 'xxl': + multiplier = 3; + break; + default: + multiplier = 1; + break; + } + + const defaultSize = + variant && theme.typography[variant] + ? theme.typography[variant].fontSize + : theme.typography.fontStyle + 'px'; + + return `calc(${defaultSize} * ${multiplier})`; +} + +function createStyled(styles) { + const useStyledClasses = makeStyles(styles); + + return function Styled(props) { + const { children, ...other } = props; + const classes = useStyledClasses(other); + + return children({ + ...other, + classes, + }); + }; +} diff --git a/react-material-admin-master/src/components/Wrappers/package.json b/react-material-admin-master/src/components/Wrappers/package.json new file mode 100644 index 0000000..d4fef7d --- /dev/null +++ b/react-material-admin-master/src/components/Wrappers/package.json @@ -0,0 +1,6 @@ +{ + "name": "Wrappers", + "version": "0.0.0", + "private": true, + "main": "Wrappers.js" +} diff --git a/react-material-admin-master/src/components/styles.js b/react-material-admin-master/src/components/styles.js new file mode 100644 index 0000000..311fc69 --- /dev/null +++ b/react-material-admin-master/src/components/styles.js @@ -0,0 +1,84 @@ +import { makeStyles } from 'styles/mui'; +import tinycolor from 'tinycolor2'; + +export default makeStyles((theme) => ({ + layoutContainer: { + height: 200, + display: 'flex', + flexDirection: 'column', + justifyContent: 'space-between', + alignItems: 'center', + marginTop: theme.spacing(2), + border: '1px dashed', + borderColor: theme.palette.primary.main, + position: 'relative', + }, + layoutText: { + color: tinycolor(theme.palette.background.light).darken().toHexString(), + }, + layoutButtonsRow: { + width: '100%', + display: 'flex', + justifyContent: 'space-between', + }, + layoutButton: { + backgroundColor: theme.palette.background.light, + width: 125, + height: 50, + outline: 'none', + border: 'none', + }, + layoutButtonActive: { + backgroundColor: tinycolor(theme.palette.background.light) + .darken() + .toHexString(), + }, + buttonsContainer: { + display: 'flex', + flexDirection: 'column', + alignItems: 'flex-start', + marginTop: theme.spacing(2), + }, + notificationCallButton: { + color: 'white', + marginBottom: theme.spacing(1), + textTransform: 'none', + }, + codeContainer: { + display: 'flex', + flexDirection: 'column', + marginTop: theme.spacing(2), + }, + codeComponent: { + flexGrow: 1, + }, + notificationItem: { + marginTop: theme.spacing(2), + }, + toastsContainer: { + width: 'auto', + marginTop: theme.spacing(6), + right: 0, + background: 'transparent', + boxShadow: 'none', + '& div': { + display: 'flex', + alignItems: 'center', + boxShadow: 'none', + overflow: 'visible', + }, + '& p': { + paddingRight: 32, + }, + }, + progress: { + visibility: 'hidden', + }, + notification: { + display: 'flex', + alignItems: 'center', + background: 'transparent', + boxShadow: 'none', + overflow: 'visible', + }, +})); diff --git a/react-material-admin-master/src/config.js b/react-material-admin-master/src/config.js new file mode 100644 index 0000000..229ca50 --- /dev/null +++ b/react-material-admin-master/src/config.js @@ -0,0 +1,40 @@ +const isDevelopment = import.meta.env.DEV; +const hostApi = isDevelopment + ? "http://localhost" + : "https://sing-generator-node.herokuapp.com"; +const portApi = isDevelopment ? 8080 : ""; +const baseURLApi = `${hostApi}${portApi ? `:${portApi}` : ``}/api`; +const redirectUrl = isDevelopment + ? "http://localhost:3000" + : typeof window !== "undefined" + ? window.location.origin + : "https://flatlogic.github.io/react-material-admin-full"; +const isBackend = String(import.meta.env.VITE_BACKEND).toLowerCase() === "true"; + +const appConfig = { + hostApi, + portApi, + baseURLApi, + redirectUrl, + remote: "https://sing-generator-node.herokuapp.com", + isBackend, + auth: { + email: 'admin@flatlogic.com', + password: 'password', + }, + app: { + colors: { + dark: '#002B49', + light: '#FFFFFF', + sea: '#004472', + sky: '#E9EBEF', + wave: '#D1E7F6', + rain: '#CCDDE9', + middle: '#D7DFE6', + black: '#13191D', + salat: '#21AE8C', + }, + }, +}; + +export default appConfig; diff --git a/react-material-admin-master/src/context/LayoutContext.js b/react-material-admin-master/src/context/LayoutContext.js new file mode 100644 index 0000000..ac1d1f6 --- /dev/null +++ b/react-material-admin-master/src/context/LayoutContext.js @@ -0,0 +1,57 @@ +import React from 'react'; + +let LayoutStateContext = React.createContext(); +let LayoutDispatchContext = React.createContext(); + +function layoutReducer(state, action) { + switch (action.type) { + case 'TOGGLE_SIDEBAR': + return { ...state, isSidebarOpened: !state.isSidebarOpened }; + default: { + throw new Error(`Unhandled action type: ${action.type}`); + } + } +} + +function LayoutProvider({ children }) { + let [state, dispatch] = React.useReducer(layoutReducer, { + isSidebarOpened: true, + }); + return ( + + + {children} + + + ); +} + +function useLayoutState() { + let context = React.useContext(LayoutStateContext); + if (context === undefined) { + throw new Error('useLayoutState must be used within a LayoutProvider'); + } + return context; +} + +function useLayoutDispatch() { + let context = React.useContext(LayoutDispatchContext); + if (context === undefined) { + throw new Error('useLayoutDispatch must be used within a LayoutProvider'); + } + return context; +} + +const toggleSidebar = (dispatch) => { + dispatch({ + type: 'TOGGLE_SIDEBAR', + }); +}; + +export { + LayoutProvider, + useLayoutState, + useLayoutDispatch, + toggleSidebar, + LayoutStateContext, +}; diff --git a/react-material-admin-master/src/context/ManagementContext.js b/react-material-admin-master/src/context/ManagementContext.js new file mode 100644 index 0000000..3664556 --- /dev/null +++ b/react-material-admin-master/src/context/ManagementContext.js @@ -0,0 +1,512 @@ +import React from 'react'; +import axios from 'axios'; +import config from '../../src/config'; +import { showSnackbar } from '../components/Snackbar'; +import { + createMockUser, + deleteMockUser, + findMockUser, + listMockUsers, + updateMockUser, +} from '../repositories/usersMockRepository'; + +async function list(filter = {}) { + if (!config.isBackend) { + return listMockUsers(filter, filter.request); + } + + const queryParams = new URLSearchParams(); + queryParams.set('users', filter.users || ''); + + if (filter.page !== undefined && filter.page !== null) { + queryParams.set('page', String(filter.page)); + } + + if (filter.limit !== undefined && filter.limit !== null) { + queryParams.set('limit', String(filter.limit)); + } + + if (filter.orderBy && typeof filter.orderBy === 'object') { + Object.entries(filter.orderBy).forEach(([key, value]) => { + if (value !== undefined && value !== null) { + queryParams.set(key, String(value)); + } + }); + } + + const query = queryParams.toString(); + const request = (filter.request || '').replace(/^(\?|&)+/, ''); + const url = request ? `/users?${query}&${request}` : `/users?${query}`; + const response = await axios.get(url); + + return response.data; +} + +function syncUserInLocalStorage(updatedUser) { + const rawUser = localStorage.getItem('user'); + + if (!rawUser || !updatedUser?.id) { + return; + } + + try { + const parsedUser = JSON.parse(rawUser); + const currentUserId = parsedUser?.user?.id; + + if (!currentUserId || String(currentUserId) !== String(updatedUser.id)) { + return; + } + + localStorage.setItem( + 'user', + JSON.stringify({ + ...parsedUser, + user: { + ...parsedUser.user, + ...updatedUser, + }, + }), + ); + } catch { + return; + } +} + +let ManagementStateContext = React.createContext(); +let ManagementDispatchContext = React.createContext(); +const initialData = { + findLoading: false, + saveLoading: false, + currentUser: null, + rows: [], + count: null, + loading: false, + idToDelete: null, + modalOpen: false, +}; + +function managementReducer(state = initialData, { type, payload }) { + if (type === 'USERS_FORM_RESET') { + return { + ...state, + findLoading: false, + saveLoading: false, + currentUser: null, + }; + } + + if (type === 'USERS_FORM_FIND_STARTED') { + return { + ...state, + currentUser: null, + findLoading: true, + }; + } + + if (type === 'USERS_FORM_FIND_SUCCESS') { + return { + ...state, + currentUser: payload, + findLoading: false, + }; + } + + if (type === 'USERS_FORM_FIND_ERROR') { + return { + ...state, + currentUser: null, + findLoading: false, + }; + } + + if (type === 'USERS_FORM_CREATE_STARTED') { + return { + ...state, + saveLoading: true, + }; + } + + if (type === 'USERS_FORM_CREATE_SUCCESS') { + return { + ...state, + saveLoading: false, + }; + } + + if (type === 'USERS_FORM_CREATE_ERROR') { + return { + ...state, + saveLoading: false, + }; + } + + if (type === 'USERS_FORM_UPDATE_STARTED') { + return { + ...state, + saveLoading: true, + }; + } + + if (type === 'USERS_FORM_UPDATE_SUCCESS') { + return { + ...state, + currentUser: payload, + saveLoading: false, + }; + } + + if (type === 'USERS_FORM_UPDATE_ERROR') { + return { + ...state, + saveLoading: false, + }; + } + + if (type === 'USERS_LIST_FETCH_STARTED') { + return { + ...state, + loading: true, + }; + } + + if (type === 'USERS_LIST_FETCH_SUCCESS') { + return { + ...state, + loading: false, + count: payload.count, + rows: payload.rows, + }; + } + + if (type === 'USERS_LIST_FETCH_ERROR') { + return { + ...state, + loading: false, + rows: [], + }; + } + + if (type === 'USERS_LIST_DELETE_STARTED') { + return { + ...state, + loading: true, + }; + } + + if (type === 'USERS_LIST_DELETE_SUCCESS') { + return { + ...state, + loading: false, + modalOpen: false, + }; + } + + if (type === 'USERS_LIST_DELETE_ERROR') { + return { + ...state, + loading: false, + modalOpen: false, + }; + } + + if (type === 'USERS_LIST_OPEN_CONFIRM') { + return { + ...state, + loading: false, + modalOpen: true, + idToDelete: payload.id, + }; + } + + if (type === 'USERS_LIST_CLOSE_CONFIRM') { + return { + ...state, + loading: false, + modalOpen: false, + }; + } + + return state; +} + +function ManagementProvider({ children }) { + let [state, dispatch] = React.useReducer(managementReducer, initialData); + + return ( + + + {children} + + + ); +} + +function useManagementState() { + let context = React.useContext(ManagementStateContext); + if (context === undefined) { + throw new Error( + 'useManagementState must be used within a ManagementProvider', + ); + } + return context; +} + +function useManagementDispatch() { + let context = React.useContext(ManagementDispatchContext); + if (context === undefined) { + throw new Error( + 'useManagementDispatch must be used within a ManagementProvider', + ); + } + return context; +} + +// ########################################################### + +const actions = { + doNew: () => { + return { + type: 'USERS_FORM_RESET', + }; + }, + + doFind: (id, options = {}) => async (dispatch) => { + const { navigate, redirectPath = null } = options; + + dispatch({ + type: 'USERS_FORM_FIND_STARTED', + }); + + if (!id) { + dispatch({ + type: 'USERS_FORM_FIND_ERROR', + }); + if (navigate && redirectPath) { + navigate(redirectPath); + } + return; + } + + if (!config.isBackend) { + const record = findMockUser(id); + + if (!record) { + showSnackbar({ type: 'error', message: 'User not found' }); + dispatch({ + type: 'USERS_FORM_FIND_ERROR', + }); + if (navigate && redirectPath) { + navigate(redirectPath); + } + return; + } + + dispatch({ + type: 'USERS_FORM_FIND_SUCCESS', + payload: record, + }); + } else { + try { + const res = await axios.get(`/users/${id}`); + const currentUser = res.data; + dispatch({ + type: 'USERS_FORM_FIND_SUCCESS', + payload: currentUser, + }); + } catch (error) { + showSnackbar({ type: 'error', message: 'Error' }); + console.log(error); + dispatch({ + type: 'USERS_FORM_FIND_ERROR', + }); + if (navigate && redirectPath) { + navigate(redirectPath); + } + } + } + }, + + doCreate: (values, navigate, redirectPath = '/app/users') => async (dispatch) => { + try { + dispatch({ + type: 'USERS_FORM_CREATE_STARTED', + }); + + if (config.isBackend) { + await axios.post('/users', { data: values }); + } else { + createMockUser(values); + } + + dispatch({ + type: 'USERS_FORM_CREATE_SUCCESS', + }); + showSnackbar({ type: 'success', message: 'Users created' }); + + if (navigate && redirectPath) { + navigate(redirectPath); + } + } catch (error) { + showSnackbar({ type: 'error', message: 'Error' }); + console.log(error); + dispatch({ + type: 'USERS_FORM_CREATE_ERROR', + }); + } + }, + + doUpdate: (id, values, navigate, options = {}) => async (dispatch) => { + const { redirectPath = '/app/dashboard', isProfile = false } = options; + + try { + dispatch({ + type: 'USERS_FORM_UPDATE_STARTED', + }); + + let updatedUser = values; + if (config.isBackend) { + await axios.put(`/users/${id}`, { id, data: values }); + updatedUser = { id, ...values }; + } else { + updatedUser = updateMockUser(id, values); + if (!updatedUser) { + showSnackbar({ type: 'error', message: 'User not found' }); + dispatch({ + type: 'USERS_FORM_UPDATE_ERROR', + }); + return; + } + } + + syncUserInLocalStorage(updatedUser); + + dispatch({ + type: 'USERS_FORM_UPDATE_SUCCESS', + payload: updatedUser, + }); + + showSnackbar({ + type: 'success', + message: isProfile ? 'Profile updated' : 'Users updated', + }); + + if (navigate && redirectPath) { + navigate(redirectPath); + } + } catch (error) { + showSnackbar({ type: 'error', message: 'Error' }); + console.log(error); + + dispatch({ + type: 'USERS_FORM_UPDATE_ERROR', + }); + } + }, + + doChangePassword: + ({ newPassword, currentPassword }) => + async (dispatch) => { + try { + dispatch({ + type: 'USERS_FORM_CREATE_STARTED', + }); + await axios.put('/auth/password-update', { + newPassword, + currentPassword, + }); + dispatch({ + type: 'USERS_PASSWORD_UPDATE_SUCCESS', + }); + + showSnackbar({ type: 'success', message: 'Password updated' }); + } catch (error) { + showSnackbar({ type: 'error', message: 'Error' }); + console.log(error); + + dispatch({ + type: 'USERS_FORM_CREATE_ERROR', + }); + } + }, + + doFetch: + (filter, keepPagination = false) => + async (dispatch) => { + try { + dispatch({ + type: 'USERS_LIST_FETCH_STARTED', + payload: { filter, keepPagination }, + }); + + const response = await list(filter); + + dispatch({ + type: 'USERS_LIST_FETCH_SUCCESS', + payload: { + rows: response.rows, + count: response.count, + }, + }); + } catch (error) { + showSnackbar({ type: 'error', message: 'Error' }); + console.log(error); + + dispatch({ + type: 'USERS_LIST_FETCH_ERROR', + }); + } + }, + + doDelete: (filter, id) => async (dispatch) => { + try { + dispatch({ + type: 'USERS_LIST_DELETE_STARTED', + }); + + if (config.isBackend) { + await axios.delete(`/users/${id}`); + } else { + deleteMockUser(id); + } + + dispatch({ + type: 'USERS_LIST_DELETE_SUCCESS', + }); + + const response = await list(filter); + dispatch({ + type: 'USERS_LIST_FETCH_SUCCESS', + payload: { + rows: response.rows, + count: response.count, + }, + }); + } catch (error) { + showSnackbar({ type: 'error', message: 'Error' }); + console.log(error); + dispatch({ + type: 'USERS_LIST_DELETE_ERROR', + }); + } + }, + doOpenConfirm: (id) => async (dispatch) => { + dispatch({ + type: 'USERS_LIST_OPEN_CONFIRM', + payload: { + id: id, + }, + }); + }, + doCloseConfirm: () => async (dispatch) => { + dispatch({ + type: 'USERS_LIST_CLOSE_CONFIRM', + }); + }, +}; + +export { + ManagementProvider, + useManagementState, + useManagementDispatch, + actions, +}; diff --git a/react-material-admin-master/src/context/ProductContext.js b/react-material-admin-master/src/context/ProductContext.js new file mode 100644 index 0000000..056d1e8 --- /dev/null +++ b/react-material-admin-master/src/context/ProductContext.js @@ -0,0 +1,152 @@ +import React from 'react'; +import axios from 'axios'; + +import config from '../config'; +import { rows as mockProducts } from '../pages/ecommerce/mock'; + +const ProductsContext = React.createContext(); + +const rootReducer = (state, action) => { + switch (action.type) { + case 'UPDATE_PRODUCTS': + return { + isLoaded: true, + products: action.payload, + images: state.images ? state.images : [], + }; + case 'EDIT_PRODUCT': { + const index = action.payload.id; + return { + ...state, + isLoaded: true, + products: state.products.map((c) => { + if (c.id === index) { + return { ...c, ...action.payload }; + } + return c; + }), + }; + } + + case 'GET_IMAGES': + return { + ...state, + images: action.payload, + }; + + case 'CREATE_PRODUCT': + state.products.push(action.payload); + return { + ...state, + isLoaded: true, + products: state.products, + }; + + default: + return { + ...state, + }; + } +}; + +const ProductsProvider = ({ children }) => { + const [products, setProducts] = React.useReducer(rootReducer, { + isLoaded: !config.isBackend, + products: config.isBackend ? [] : mockProducts, + images: config.isBackend ? [] : mockProducts.map((product) => product.img), + }); + return ( + + {children} + + ); +}; + +const useProductsState = () => { + const context = React.useContext(ProductsContext); + return context; +}; + +export function getProductsRequest(dispatch) { + // We check if app runs with backend mode + if (config.isBackend) { + return axios.get('/products').then((res) => { + dispatch({ type: 'UPDATE_PRODUCTS', payload: res.data }); + }); + } + + dispatch({ type: 'UPDATE_PRODUCTS', payload: mockProducts }); +} + +export function deleteProductRequest({ id, navigate, pathname, dispatch }) { + // We check if app runs with backend mode + if (!config.isBackend) return; + + if (Array.isArray(id)) { + for (let key in id) { + axios.delete('/products/' + id[key]).then(() => {}); + } + } else { + axios.delete('/products/' + id).then(() => { + getProductsRequest(dispatch); + if (pathname !== '/app/ecommerce/management') { + navigate('/app/ecommerce/management'); + } + return; + }); + } + getProductsRequest(dispatch); +} + +export function getProductInfo(dispatch) { + // We check if app runs with backend mode + if (config.isBackend) { + axios.get('/products').then((res) => { + dispatch({ type: 'UPDATE_PRODUCTS', payload: res.data }); + }); + } +} + +export function updateProduct(product, dispatch) { + // We check if app runs with backend mode + if (!config.isBackend) return; + + axios.put('/products/' + product.id, product).then((res) => { + dispatch({ type: 'EDIT_PRODUCT', payload: res.data }); + }); +} + +export function createProduct(product, dispatch) { + // We check if app runs with backend mode + if (!config.isBackend) return; + + axios.post('/products', product).then((res) => { + dispatch({ type: 'CREATE_PRODUCT', payload: res.data }); + }); +} + +export function getProductsImages(dispatch) { + // We check if app runs with backend mode + if (!config.isBackend) { + dispatch({ + type: 'GET_IMAGES', + payload: mockProducts.map((product) => product.img), + }); + return; + } + + const replacer = (data) => { + return data.map((c) => { + return c.replace( + /http:\/\/.+\//, + 'https://flatlogic-node-backend.herokuapp.com/assets/products/', + ); + }); + }; + + axios.get('/products/images-list').then((res) => { + dispatch({ type: 'GET_IMAGES', payload: replacer(res.data) }); + }); +} + +export { ProductsProvider, ProductsContext, useProductsState }; diff --git a/react-material-admin-master/src/context/ThemeContext.js b/react-material-admin-master/src/context/ThemeContext.js new file mode 100644 index 0000000..9f7a8e1 --- /dev/null +++ b/react-material-admin-master/src/context/ThemeContext.js @@ -0,0 +1,36 @@ +import React from 'react'; +import Themes from '../themes'; + +const ThemeStateContext = React.createContext(); +const ThemeDispatchContext = React.createContext(); + +function ThemeProvider({ children }) { + let [theme, setTheme] = React.useState( + Themes[localStorage.getItem('theme')] || Themes.default, + ); + return ( + + + {children} + + + ); +} + +function useThemeState() { + let context = React.useContext(ThemeStateContext); + if (context === undefined) { + throw new Error('useThemeState must be used within a ThemeProvider'); + } + return context; +} + +function useThemeDispatch() { + let context = React.useContext(ThemeDispatchContext); + if (context === undefined) { + throw new Error('useThemeDispatch must be used within a ThemeProvider'); + } + return context; +} + +export { ThemeProvider, useThemeState, useThemeDispatch, ThemeStateContext }; diff --git a/react-material-admin-master/src/context/UserContext.js b/react-material-admin-master/src/context/UserContext.js new file mode 100644 index 0000000..a93fcd7 --- /dev/null +++ b/react-material-admin-master/src/context/UserContext.js @@ -0,0 +1,349 @@ +import React from 'react'; +import axios from 'axios'; +import { decodeJwtPayload } from '../utils/jwt'; + +import { mockUser } from './mock'; + +//config +import config from '../../src/config'; +import { showSnackbar } from '../components/Snackbar'; + +let UserStateContext = React.createContext(); +let UserDispatchContext = React.createContext(); + +function userReducer(state, action) { + switch (action.type) { + case 'LOGIN_SUCCESS': + return { + ...state, + ...action.payload, + }; + case 'REGISTER_REQUEST': + case 'RESET_REQUEST': + case 'PASSWORD_RESET_EMAIL_REQUEST': + return { + ...state, + isFetching: true, + errorMessage: '', + }; + case 'SIGN_OUT_SUCCESS': + return { ...state }; + case 'AUTH_INIT_ERROR': + return Object.assign({}, state, { + currentUser: null, + loadingInit: false, + }); + case 'REGISTER_SUCCESS': + case 'RESET_SUCCESS': + case 'PASSWORD_RESET_EMAIL_SUCCESS': + return Object.assign({}, state, { + isFetching: false, + errorMessage: '', + }); + case 'AUTH_FAILURE': + return Object.assign({}, state, { + isFetching: false, + errorMessage: action.payload, + }); + default: { + throw new Error(`Unhandled action type: ${action.type}`); + } + } +} + +function UserProvider({ children }) { + let [state, dispatch] = React.useReducer(userReducer, { + isAuthenticated: () => { + const token = localStorage.getItem('token'); + if (config.isBackend && token) { + const date = new Date().getTime() / 1000; + const data = decodeJwtPayload(token); + if (!data) return false; + return date < data.exp; + } else if (token) { + return true; + } + return false; + }, + isFetching: false, + errorMessage: '', + currentUser: null, + loadingInit: true, + }); + + return ( + + + {children} + + + ); +} + +function useUserState() { + let context = React.useContext(UserStateContext); + if (context === undefined) { + throw new Error('useUserState must be used within a UserProvider'); + } + return context; +} + +function useUserDispatch() { + let context = React.useContext(UserDispatchContext); + if (context === undefined) { + throw new Error('useUserDispatch must be used within a UserProvider'); + } + return context; +} + +export { UserProvider, useUserState, useUserDispatch, loginUser, signOut }; + +// ########################################################### + +function loginUser( + dispatch, + login, + password, + setIsLoading, + setError, + social = '', +) { + setError(false); + setIsLoading(true); + // We check if app runs with backend mode + if (!config.isBackend) { + setError(null); + doInit()(dispatch); + setIsLoading(false); + receiveToken('token', dispatch); + } else { + if (social) { + window.location.href = + config.baseURLApi + + '/auth/signin/' + + social + + '?app=' + + config.redirectUrl; + } else if (login.length > 0 && password.length > 0) { + axios + .post('/auth/signin/local', { email: login, password }) + .then((res) => { + const token = res.data; + setError(null); + setIsLoading(false); + receiveToken(token, dispatch); + doInit()(dispatch); + }) + .catch(() => { + setError(true); + setIsLoading(false); + }); + } else { + dispatch({ type: 'LOGIN_FAILURE' }); + } + } +} + +export function sendPasswordResetEmail(email) { + return (dispatch) => { + if (!config.isBackend) { + return; + } else { + dispatch({ + type: 'PASSWORD_RESET_EMAIL_REQUEST', + }); + axios + .post('/auth/send-password-reset-email', { email }) + .then(() => { + dispatch({ + type: 'PASSWORD_RESET_EMAIL_SUCCESS', + }); + showSnackbar({ + type: 'success', + message: 'Email with resetting instructions has been sent', + }); + }) + .catch((err) => { + dispatch(authError(err.response.data)); + }); + } + }; +} + +function signOut(dispatch, navigate) { + localStorage.removeItem('token'); + localStorage.removeItem('user'); + localStorage.removeItem('user_id'); + document.cookie = 'token=;expires=Thu, 01 Jan 1970 00:00:01 GMT;'; + axios.defaults.headers.common['Authorization'] = ''; + dispatch({ type: 'SIGN_OUT_SUCCESS' }); + navigate('/login'); +} + +export function receiveToken(token, dispatch) { + let user; + + // We check if app runs with backend mode + if (config.isBackend) { + user = decodeJwtPayload(token)?.user || {}; + } else { + user = { + email: config.auth.email, + }; + } + + if (user && typeof user === 'object') { + delete user.id; + } + localStorage.setItem('token', token); + localStorage.setItem('user', JSON.stringify(user)); + localStorage.setItem('theme', 'default'); + axios.defaults.headers.common['Authorization'] = 'Bearer ' + token; + dispatch({ type: 'LOGIN_SUCCESS' }); +} + +async function findMe() { + if (config.isBackend) { + const response = await axios.get('/auth/me'); + return response.data; + } else { + return mockUser; + } +} + +export function authError(payload) { + return { + type: 'AUTH_FAILURE', + payload, + }; +} + +export function doInit() { + return async (dispatch) => { + let currentUser = null; + if (!config.isBackend) { + currentUser = mockUser; + + dispatch({ + type: 'LOGIN_SUCCESS', + payload: { + currentUser, + }, + }); + } else { + try { + let token = localStorage.getItem('token'); + if (token) { + currentUser = await findMe(); + } + if (currentUser?.id) { + sessionStorage.setItem('user_id', currentUser.id); + } else { + sessionStorage.removeItem('user_id'); + } + dispatch({ + type: 'LOGIN_SUCCESS', + payload: { + currentUser, + }, + }); + } catch (error) { + console.log(error); + + dispatch({ + type: 'AUTH_INIT_ERROR', + payload: error, + }); + } + } + }; +} + +export function registerUser( + dispatch, + login, + password, + navigate, +) { + return () => { + if (!config.isBackend) { + navigate('/login'); + } else { + dispatch({ + type: 'REGISTER_REQUEST', + }); + if (login.length > 0 && password.length > 0) { + axios + .post('/auth/signup', { email: login, password }) + .then(() => { + dispatch({ + type: 'REGISTER_SUCCESS', + }); + showSnackbar({ + type: 'success', + message: + "You've been registered successfully. Please check your email for verification link", + }); + navigate('/login'); + }) + .catch((err) => { + dispatch(authError(err.response.data)); + }); + } else { + dispatch(authError('Something was wrong. Try again')); + } + } + }; +} + +export function verifyEmail(token, navigate) { + return () => { + if (!config.isBackend) { + navigate('/login'); + } else { + axios + .put('/auth/verify-email', { token }) + .then((verified) => { + if (verified) { + showSnackbar({ + type: 'success', + message: 'Your email was verified', + }); + } + }) + .catch((err) => { + showSnackbar({ type: 'error', message: err.response }); + }) + .finally(() => { + navigate('/login'); + }); + } + }; +} + +export function resetPassword(token, password, navigate) { + return (dispatch) => { + if (!config.isBackend) { + navigate('/login'); + } else { + dispatch({ + type: 'RESET_REQUEST', + }); + axios + .put('/auth/password-reset', { token, password }) + .then(() => { + dispatch({ + type: 'RESET_SUCCESS', + }); + showSnackbar({ + type: 'success', + message: 'Password has been updated', + }); + navigate('/login'); + }) + .catch((err) => { + dispatch(authError(err.response.data)); + }); + } + }; +} diff --git a/react-material-admin-master/src/context/mock.js b/react-material-admin-master/src/context/mock.js new file mode 100644 index 0000000..d8a68d5 --- /dev/null +++ b/react-material-admin-master/src/context/mock.js @@ -0,0 +1,25 @@ +export const mockUser = { + avatars: [], + id: '98cea92c-84e5-4c0d-ac21-9998f4b23883', + firstName: 'Admin', + authenticationUid: null, + avatar: null, + createdAt: '2020-05-12T11:04:00.864Z', + createdById: null, + deletedAt: null, + disabled: false, + email: 'admin@flatlogic.com', + emailVerificationToken: null, + emailVerificationTokenExpiresAt: null, + emailVerified: true, + importHash: null, + lastName: null, + password: '$2b$12$EFuj2XoxivlGr.oiIvnvDulsE5iIBTngrLlrXMM/PkO//iInslWNW', + passwordResetToken: null, + passwordResetTokenExpiresAt: null, + phoneNumber: null, + provider: 'local', + role: 'admin', + updatedAt: '2020-05-12T11:04:00.864Z', + updatedById: null, +}; diff --git a/react-material-admin-master/src/images/1.jpg b/react-material-admin-master/src/images/1.jpg new file mode 100644 index 0000000..4d86516 Binary files /dev/null and b/react-material-admin-master/src/images/1.jpg differ diff --git a/react-material-admin-master/src/images/2.jpg b/react-material-admin-master/src/images/2.jpg new file mode 100644 index 0000000..6ccc83e Binary files /dev/null and b/react-material-admin-master/src/images/2.jpg differ diff --git a/react-material-admin-master/src/images/3.jpg b/react-material-admin-master/src/images/3.jpg new file mode 100644 index 0000000..a9b8b6a Binary files /dev/null and b/react-material-admin-master/src/images/3.jpg differ diff --git a/react-material-admin-master/src/images/a1.jpg b/react-material-admin-master/src/images/a1.jpg new file mode 100644 index 0000000..d24e9d6 Binary files /dev/null and b/react-material-admin-master/src/images/a1.jpg differ diff --git a/react-material-admin-master/src/images/a2.jpg b/react-material-admin-master/src/images/a2.jpg new file mode 100644 index 0000000..17098ce Binary files /dev/null and b/react-material-admin-master/src/images/a2.jpg differ diff --git a/react-material-admin-master/src/images/a4.jpg b/react-material-admin-master/src/images/a4.jpg new file mode 100644 index 0000000..f4591d5 Binary files /dev/null and b/react-material-admin-master/src/images/a4.jpg differ diff --git a/react-material-admin-master/src/images/a6.jpg b/react-material-admin-master/src/images/a6.jpg new file mode 100644 index 0000000..98f0310 Binary files /dev/null and b/react-material-admin-master/src/images/a6.jpg differ diff --git a/react-material-admin-master/src/images/aexpress.svg b/react-material-admin-master/src/images/aexpress.svg new file mode 100644 index 0000000..bb6431f --- /dev/null +++ b/react-material-admin-master/src/images/aexpress.svg @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/cards/isometric.jpg b/react-material-admin-master/src/images/cards/isometric.jpg new file mode 100644 index 0000000..ca6d4e0 Binary files /dev/null and b/react-material-admin-master/src/images/cards/isometric.jpg differ diff --git a/react-material-admin-master/src/images/cards/lifestyle.jpg b/react-material-admin-master/src/images/cards/lifestyle.jpg new file mode 100644 index 0000000..a966033 Binary files /dev/null and b/react-material-admin-master/src/images/cards/lifestyle.jpg differ diff --git a/react-material-admin-master/src/images/cards/mountains.jpeg b/react-material-admin-master/src/images/cards/mountains.jpeg new file mode 100644 index 0000000..781fc42 Binary files /dev/null and b/react-material-admin-master/src/images/cards/mountains.jpeg differ diff --git a/react-material-admin-master/src/images/cards/rns.png b/react-material-admin-master/src/images/cards/rns.png new file mode 100644 index 0000000..60baebd Binary files /dev/null and b/react-material-admin-master/src/images/cards/rns.png differ diff --git a/react-material-admin-master/src/images/carousel/1.jpg b/react-material-admin-master/src/images/carousel/1.jpg new file mode 100644 index 0000000..4d86516 Binary files /dev/null and b/react-material-admin-master/src/images/carousel/1.jpg differ diff --git a/react-material-admin-master/src/images/carousel/2.jpg b/react-material-admin-master/src/images/carousel/2.jpg new file mode 100644 index 0000000..6ccc83e Binary files /dev/null and b/react-material-admin-master/src/images/carousel/2.jpg differ diff --git a/react-material-admin-master/src/images/carousel/3.jpg b/react-material-admin-master/src/images/carousel/3.jpg new file mode 100644 index 0000000..a9b8b6a Binary files /dev/null and b/react-material-admin-master/src/images/carousel/3.jpg differ diff --git a/react-material-admin-master/src/images/flatlogic.jpeg b/react-material-admin-master/src/images/flatlogic.jpeg new file mode 100644 index 0000000..2a7cfef Binary files /dev/null and b/react-material-admin-master/src/images/flatlogic.jpeg differ diff --git a/react-material-admin-master/src/images/gallery/gallery1.jpg b/react-material-admin-master/src/images/gallery/gallery1.jpg new file mode 100644 index 0000000..9d2e666 Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery1.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery10.jpg b/react-material-admin-master/src/images/gallery/gallery10.jpg new file mode 100644 index 0000000..750bfd3 Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery10.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery11.jpg b/react-material-admin-master/src/images/gallery/gallery11.jpg new file mode 100644 index 0000000..04aa053 Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery11.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery12.jpg b/react-material-admin-master/src/images/gallery/gallery12.jpg new file mode 100644 index 0000000..d1cedf9 Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery12.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery2.jpg b/react-material-admin-master/src/images/gallery/gallery2.jpg new file mode 100644 index 0000000..cf4bcd3 Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery2.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery3.jpg b/react-material-admin-master/src/images/gallery/gallery3.jpg new file mode 100644 index 0000000..8aa58d7 Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery3.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery4.jpg b/react-material-admin-master/src/images/gallery/gallery4.jpg new file mode 100644 index 0000000..068f726 Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery4.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery5.jpg b/react-material-admin-master/src/images/gallery/gallery5.jpg new file mode 100644 index 0000000..5a12637 Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery5.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery6.jpg b/react-material-admin-master/src/images/gallery/gallery6.jpg new file mode 100644 index 0000000..d095815 Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery6.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery7.jpg b/react-material-admin-master/src/images/gallery/gallery7.jpg new file mode 100644 index 0000000..2ccf4ad Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery7.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery8.jpg b/react-material-admin-master/src/images/gallery/gallery8.jpg new file mode 100644 index 0000000..22118d6 Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery8.jpg differ diff --git a/react-material-admin-master/src/images/gallery/gallery9.jpg b/react-material-admin-master/src/images/gallery/gallery9.jpg new file mode 100644 index 0000000..569f9ef Binary files /dev/null and b/react-material-admin-master/src/images/gallery/gallery9.jpg differ diff --git a/react-material-admin-master/src/images/gallery1.jpg b/react-material-admin-master/src/images/gallery1.jpg new file mode 100644 index 0000000..9d2e666 Binary files /dev/null and b/react-material-admin-master/src/images/gallery1.jpg differ diff --git a/react-material-admin-master/src/images/gallery10.jpg b/react-material-admin-master/src/images/gallery10.jpg new file mode 100644 index 0000000..750bfd3 Binary files /dev/null and b/react-material-admin-master/src/images/gallery10.jpg differ diff --git a/react-material-admin-master/src/images/gallery11.jpg b/react-material-admin-master/src/images/gallery11.jpg new file mode 100644 index 0000000..04aa053 Binary files /dev/null and b/react-material-admin-master/src/images/gallery11.jpg differ diff --git a/react-material-admin-master/src/images/gallery12.jpg b/react-material-admin-master/src/images/gallery12.jpg new file mode 100644 index 0000000..d1cedf9 Binary files /dev/null and b/react-material-admin-master/src/images/gallery12.jpg differ diff --git a/react-material-admin-master/src/images/gallery2.jpg b/react-material-admin-master/src/images/gallery2.jpg new file mode 100644 index 0000000..cf4bcd3 Binary files /dev/null and b/react-material-admin-master/src/images/gallery2.jpg differ diff --git a/react-material-admin-master/src/images/gallery3.jpg b/react-material-admin-master/src/images/gallery3.jpg new file mode 100644 index 0000000..8aa58d7 Binary files /dev/null and b/react-material-admin-master/src/images/gallery3.jpg differ diff --git a/react-material-admin-master/src/images/gallery4.jpg b/react-material-admin-master/src/images/gallery4.jpg new file mode 100644 index 0000000..068f726 Binary files /dev/null and b/react-material-admin-master/src/images/gallery4.jpg differ diff --git a/react-material-admin-master/src/images/gallery5.jpg b/react-material-admin-master/src/images/gallery5.jpg new file mode 100644 index 0000000..5a12637 Binary files /dev/null and b/react-material-admin-master/src/images/gallery5.jpg differ diff --git a/react-material-admin-master/src/images/gallery6.jpg b/react-material-admin-master/src/images/gallery6.jpg new file mode 100644 index 0000000..d095815 Binary files /dev/null and b/react-material-admin-master/src/images/gallery6.jpg differ diff --git a/react-material-admin-master/src/images/gallery7.jpg b/react-material-admin-master/src/images/gallery7.jpg new file mode 100644 index 0000000..2ccf4ad Binary files /dev/null and b/react-material-admin-master/src/images/gallery7.jpg differ diff --git a/react-material-admin-master/src/images/gallery8.jpg b/react-material-admin-master/src/images/gallery8.jpg new file mode 100644 index 0000000..22118d6 Binary files /dev/null and b/react-material-admin-master/src/images/gallery8.jpg differ diff --git a/react-material-admin-master/src/images/gallery9.jpg b/react-material-admin-master/src/images/gallery9.jpg new file mode 100644 index 0000000..569f9ef Binary files /dev/null and b/react-material-admin-master/src/images/gallery9.jpg differ diff --git a/react-material-admin-master/src/images/google.svg b/react-material-admin-master/src/images/google.svg new file mode 100644 index 0000000..e2fce99 --- /dev/null +++ b/react-material-admin-master/src/images/google.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/grid/a1.jpg b/react-material-admin-master/src/images/grid/a1.jpg new file mode 100644 index 0000000..d24e9d6 Binary files /dev/null and b/react-material-admin-master/src/images/grid/a1.jpg differ diff --git a/react-material-admin-master/src/images/grid/a2.jpg b/react-material-admin-master/src/images/grid/a2.jpg new file mode 100644 index 0000000..17098ce Binary files /dev/null and b/react-material-admin-master/src/images/grid/a2.jpg differ diff --git a/react-material-admin-master/src/images/grid/a3.jpg b/react-material-admin-master/src/images/grid/a3.jpg new file mode 100644 index 0000000..451a0b4 Binary files /dev/null and b/react-material-admin-master/src/images/grid/a3.jpg differ diff --git a/react-material-admin-master/src/images/grid/a4.jpg b/react-material-admin-master/src/images/grid/a4.jpg new file mode 100644 index 0000000..f4591d5 Binary files /dev/null and b/react-material-admin-master/src/images/grid/a4.jpg differ diff --git a/react-material-admin-master/src/images/grid/a5.jpg b/react-material-admin-master/src/images/grid/a5.jpg new file mode 100644 index 0000000..45061e9 Binary files /dev/null and b/react-material-admin-master/src/images/grid/a5.jpg differ diff --git a/react-material-admin-master/src/images/grid/a6.jpg b/react-material-admin-master/src/images/grid/a6.jpg new file mode 100644 index 0000000..98f0310 Binary files /dev/null and b/react-material-admin-master/src/images/grid/a6.jpg differ diff --git a/react-material-admin-master/src/images/img1.jpg b/react-material-admin-master/src/images/img1.jpg new file mode 100644 index 0000000..31fac52 Binary files /dev/null and b/react-material-admin-master/src/images/img1.jpg differ diff --git a/react-material-admin-master/src/images/img2.jpg b/react-material-admin-master/src/images/img2.jpg new file mode 100644 index 0000000..bc56e75 Binary files /dev/null and b/react-material-admin-master/src/images/img2.jpg differ diff --git a/react-material-admin-master/src/images/img3.jpg b/react-material-admin-master/src/images/img3.jpg new file mode 100644 index 0000000..5eb68be Binary files /dev/null and b/react-material-admin-master/src/images/img3.jpg differ diff --git a/react-material-admin-master/src/images/img4.jpg b/react-material-admin-master/src/images/img4.jpg new file mode 100644 index 0000000..1d5a960 Binary files /dev/null and b/react-material-admin-master/src/images/img4.jpg differ diff --git a/react-material-admin-master/src/images/img5.jpeg b/react-material-admin-master/src/images/img5.jpeg new file mode 100644 index 0000000..f5e0e37 Binary files /dev/null and b/react-material-admin-master/src/images/img5.jpeg differ diff --git a/react-material-admin-master/src/images/img6.jpg b/react-material-admin-master/src/images/img6.jpg new file mode 100644 index 0000000..8065737 Binary files /dev/null and b/react-material-admin-master/src/images/img6.jpg differ diff --git a/react-material-admin-master/src/images/invoice/flatlogic.jpeg b/react-material-admin-master/src/images/invoice/flatlogic.jpeg new file mode 100644 index 0000000..2a7cfef Binary files /dev/null and b/react-material-admin-master/src/images/invoice/flatlogic.jpeg differ diff --git a/react-material-admin-master/src/images/isometric.jpg b/react-material-admin-master/src/images/isometric.jpg new file mode 100644 index 0000000..ca6d4e0 Binary files /dev/null and b/react-material-admin-master/src/images/isometric.jpg differ diff --git a/react-material-admin-master/src/images/layers-2x.png b/react-material-admin-master/src/images/layers-2x.png new file mode 100644 index 0000000..200c333 Binary files /dev/null and b/react-material-admin-master/src/images/layers-2x.png differ diff --git a/react-material-admin-master/src/images/layers.png b/react-material-admin-master/src/images/layers.png new file mode 100644 index 0000000..1a72e57 Binary files /dev/null and b/react-material-admin-master/src/images/layers.png differ diff --git a/react-material-admin-master/src/images/lifestyle.jpg b/react-material-admin-master/src/images/lifestyle.jpg new file mode 100644 index 0000000..a966033 Binary files /dev/null and b/react-material-admin-master/src/images/lifestyle.jpg differ diff --git a/react-material-admin-master/src/images/logo.svg b/react-material-admin-master/src/images/logo.svg new file mode 100644 index 0000000..762695c --- /dev/null +++ b/react-material-admin-master/src/images/logo.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/main-profile.png b/react-material-admin-master/src/images/main-profile.png new file mode 100644 index 0000000..7a6bb57 Binary files /dev/null and b/react-material-admin-master/src/images/main-profile.png differ diff --git a/react-material-admin-master/src/images/map.json b/react-material-admin-master/src/images/map.json new file mode 100644 index 0000000..ca92d9d --- /dev/null +++ b/react-material-admin-master/src/images/map.json @@ -0,0 +1 @@ +{"arcs":[[[7080,7327],[-5,4],[-10,-10],[5,-6]],[[7070,7315],[-16,-12],[-9,5],[-28,-4],[-12,-6],[-1,-5],[-17,-18],[-11,-16],[6,-10],[6,-18],[-2,-15],[3,-8],[-18,-35],[4,-12],[-2,-18],[-7,-5],[-13,0],[-13,4],[3,-16],[6,-6],[-1,-9],[4,-9],[-12,-14],[-8,0],[-6,-18],[2,-7],[-6,-11],[2,-30],[-8,-17],[-6,-1],[-2,8],[-15,4],[-3,-8],[-14,-12],[6,-9],[-11,-7],[-13,6],[-7,-15],[-8,-7],[-3,-19],[2,-9],[-4,-35],[-32,-17],[-16,2],[-11,-11],[-14,6],[-30,-5],[-46,26]],[[6689,6902],[27,56],[1,10],[-4,21],[-24,7],[-1,9],[1,35],[-7,43],[0,9],[7,14],[1,9],[-10,5],[0,31],[11,8],[-5,13],[7,6],[5,26],[-1,11],[4,19]],[[6701,7234],[8,-10],[13,-1],[6,-7],[1,-9],[5,8],[5,-4],[13,13],[0,24],[9,0],[4,6],[20,11],[9,15],[0,16],[5,14],[-1,9],[9,8],[12,0],[4,16],[4,3],[15,-14],[5,2]],[[6847,7334],[14,2],[7,-12],[6,6],[8,-6]],[[6882,7324],[7,-15],[7,10],[15,9],[2,5],[10,-14],[5,7],[-2,13],[4,8],[21,2],[-3,18],[5,4],[12,26],[9,-2],[7,-9],[-1,-21],[6,3],[2,-8],[-3,-14],[-1,-35],[3,-12],[7,-4],[15,19],[9,1],[3,11],[14,14],[13,-2],[-1,-12],[14,8],[12,2],[7,-9]],[[5665,4557],[3,-32],[-3,-9],[0,-36],[2,-12],[-5,-22],[4,-12],[-56,0],[0,-182],[3,-21],[6,-7],[15,-33],[6,-7],[3,-10],[6,-7]],[[5649,4167],[-53,-21],[-11,4],[-8,-4],[-13,9],[-8,-3],[-17,2],[-5,4],[-10,0],[-7,9],[-5,14],[-52,0],[-66,0],[-7,-1],[-12,17],[-4,9],[-6,1],[-18,-16],[-15,4],[-6,-6]],[[5326,4189],[0,28],[2,-1],[-2,58],[7,9],[1,23],[6,24],[2,20],[0,23],[5,12],[0,26],[4,4],[8,20],[0,10],[6,12],[5,0],[8,20],[5,28],[-1,20],[2,29],[-2,15],[-7,15],[-8,46],[-7,29],[6,16],[6,7],[-1,21],[-3,9],[-10,48],[-2,4],[0,21],[-8,16],[-8,30],[16,4],[10,11]],[[5366,4846],[4,-2],[18,2],[12,-3],[21,2],[32,1],[7,-4],[4,-15],[0,-22],[3,-16],[3,-3],[0,-19],[10,-23],[0,-8],[9,-20],[7,4],[6,-4],[2,6],[33,0],[1,20],[4,12],[-2,8],[2,18],[21,0],[9,5],[-3,-22],[36,0],[1,-22],[-2,-20],[5,-23],[-4,-53],[1,-14],[6,-17],[3,-2],[4,-23],[0,-22],[-4,-9],[3,-18],[6,7],[13,-4],[14,9],[12,-3],[2,8]],[[5363,4916],[-7,-5],[-8,-18],[-1,-40],[-8,-2]],[[5339,4851],[-2,5],[2,14],[-6,24]],[[5333,4894],[10,23],[7,3],[4,10],[9,-14]],[[5582,7537],[-1,0]],[[5581,7537],[1,0]],[[5537,7617],[1,0]],[[5538,7617],[-1,0]],[[5557,7633],[4,-13],[7,-4],[3,-22]],[[5571,7594],[-4,-21],[6,-24]],[[5573,7549],[2,-10]],[[5575,7539],[6,-2]],[[5581,7537],[1,-1]],[[5582,7536],[0,0]],[[5582,7536],[0,-5]],[[5582,7531],[1,-5]],[[5583,7526],[0,0]],[[5583,7526],[-2,-13],[-5,-2],[-2,-17],[-11,-8],[3,-12],[-6,-8],[-5,3]],[[5555,7469],[-3,19],[-11,9],[-1,22],[-4,4],[4,16],[-1,29],[5,23],[-7,2]],[[5537,7593],[1,14]],[[5538,7607],[0,13]],[[5538,7620],[9,19],[3,-11],[7,5]],[[5553,8659],[10,-5],[-7,-11],[-10,6],[7,10]],[[5047,7630],[-7,-5],[-1,11]],[[5039,7636],[8,1],[0,-7]],[[6563,6637],[0,0]],[[6563,6659],[2,-2],[1,-36]],[[6566,6621],[-8,-14],[-3,13],[-6,-4],[-1,-38],[7,-9],[-11,-3],[-4,-6],[2,-9],[-10,-44],[0,-17]],[[6532,6490],[-2,-5],[-70,18],[-3,5],[-25,63],[0,9]],[[6432,6580],[6,-1],[0,-13],[12,-3],[10,11],[24,-2],[11,-4],[15,12],[6,14],[1,15],[11,12],[13,31],[11,13],[5,19]],[[6557,6684],[3,-2],[-1,-22],[4,-1]],[[6562,6642],[0,0]],[[3093,2021],[0,6]],[[3093,2027],[0,-6]],[[3093,2028],[0,123]],[[3093,2151],[10,-17],[-8,-15],[11,-6],[5,-17],[12,-13],[7,-13],[17,-13],[11,-14],[12,-7],[20,0],[-5,-16],[-18,1],[-11,-8],[-12,6],[-51,9]],[[3259,3902],[11,-14],[7,-29],[9,-17],[15,-17],[3,-11],[17,-13],[11,-1],[15,-18],[4,-9],[15,-17],[9,-5],[5,-8],[13,-5],[8,-20],[-6,-14],[-3,-19],[-8,-10],[-1,-25],[-3,-14],[-5,-4],[-5,-15],[4,-5],[13,1],[19,-8],[5,-5],[7,4],[5,-5],[6,3],[4,-8],[3,12],[5,5],[10,-9],[5,8],[-1,8],[6,12],[6,0],[11,18],[5,40],[0,22]],[[3483,3710],[5,-4],[6,7],[9,-9],[1,-17],[5,-14],[-2,-9],[0,-25],[-2,-17],[-13,-19],[-15,-5],[-6,-19],[-8,-4],[-6,-13],[-7,-5],[3,-10],[-6,-4],[-20,-39],[-2,-11],[-12,-25],[-5,-2],[-1,-10],[-8,-11]],[[3399,3445],[0,-7],[-7,-12],[2,-23],[-3,-20],[-5,-13],[3,-4],[-2,-14],[-4,-5],[3,-25],[-3,-8]],[[3383,3314],[2,-25],[-2,-12],[-6,0],[-4,-34],[5,-29],[-4,-14],[5,-12],[23,-21],[11,-25],[-7,-19],[0,-13],[7,-17],[12,-6],[1,-29],[-11,-30],[-13,-26],[-2,-16],[-27,-24],[-37,-16],[-27,-8],[-27,0],[-15,11],[3,-32],[5,-9],[-2,-21],[-4,3],[-1,-21],[-4,-5],[6,-17],[-2,-18],[-20,-16],[-21,0],[-26,20],[-8,2],[-4,-10],[5,-32],[-2,-24],[6,-16],[11,-4],[-4,-10],[13,0],[2,10],[-6,0],[14,11],[5,-13],[1,-17],[-3,-12],[-12,-5],[-3,16],[-13,5],[-9,-15],[19,-13],[-20,-17],[-8,-19],[3,-43],[-4,-11],[-9,-7],[0,-20],[-14,3],[-8,-5],[-1,-8],[-14,-5],[-9,-18],[0,-9],[-6,-9],[-2,-14],[7,-25],[7,-6],[8,-16],[6,-4],[17,0],[6,-6],[2,-20],[-5,-33],[-6,-2],[-12,-18],[-16,-14],[-3,-10],[-9,-10],[-6,-22],[2,-16],[-5,-18],[-5,-6],[-23,-14],[-5,-12],[-2,-21],[2,-24],[9,-34],[11,-24],[-3,-1]],[[3098,2168],[-15,10],[-26,10],[-55,1],[-4,12],[-11,13],[6,19],[-5,7],[5,13],[-2,14],[-13,1],[-11,-8],[-3,26],[-7,9],[2,22],[-3,11],[3,15],[9,1],[3,17],[12,10],[1,22],[7,7],[-1,15],[-5,7],[6,30],[8,13],[2,22],[8,9],[-3,32],[4,11],[-4,4],[0,15],[8,5],[5,13],[-8,17],[-14,5],[7,5],[17,3],[2,17],[-18,3],[-1,18],[5,7],[-4,14],[3,7],[-6,16],[5,9],[-11,7],[0,45],[3,8],[8,1],[-5,26],[2,43],[-3,11],[4,27],[5,21],[-2,18],[8,13],[0,25],[15,13],[-3,15],[-1,21],[-5,20],[3,35],[-2,24],[3,12],[10,4],[-1,8],[10,14],[-2,40],[-4,4],[6,6],[0,12],[9,39],[6,2],[-2,34],[3,18],[-9,9],[3,18],[-4,6],[0,16],[-5,12],[-2,14],[3,9],[-5,2],[-3,15],[1,24],[6,8],[0,13],[5,19],[7,8],[2,10],[-4,4],[2,16],[-4,31],[7,10],[1,26],[4,17],[13,33],[9,38],[6,-3],[8,7],[0,10],[-8,21],[0,10],[5,9],[-2,26],[-3,17],[2,15],[5,4],[-6,14],[2,14],[7,13],[25,20],[9,54],[-5,17]],[[3133,3869],[5,9],[0,8],[7,6],[2,12],[9,5],[4,19],[3,-2],[10,-17],[21,0],[12,-5],[6,-38],[3,20],[8,29],[32,1],[4,-14]],[[6265,7522],[0,0]],[[6249,7560],[2,-10],[15,-14],[-6,-16],[6,-11],[11,-10],[-3,-13],[-7,2],[15,-25],[9,-1],[-3,-13],[5,-7],[-5,-5],[3,-15]],[[6291,7422],[-10,-2]],[[6281,7420],[-4,23],[-7,7],[1,10],[-13,-1],[-8,14],[-7,-4]],[[6243,7469],[-8,16],[-12,1],[-11,7],[-3,20],[5,12],[-3,17],[-5,8]],[[6206,7550],[9,0],[11,7],[10,-3],[13,6]],[[6249,7546],[0,0]],[[6255,7542],[0,0]],[[488,408],[24,-7],[-48,-4],[-13,16],[37,-5]],[[542,484],[-90,7],[20,11],[65,-10],[5,-8]],[[3331,592],[8,-3],[-1,-57],[-23,-11],[-52,4],[-17,17],[-32,-10],[-67,20],[3,10],[19,-10],[115,3],[8,27],[39,10]],[[4135,588],[34,-2],[-10,-10],[-44,8],[-5,11],[25,-7]],[[3120,602],[25,-4],[35,-20],[-20,-7],[-40,31]],[[3137,618],[-11,-15],[-30,6],[41,9]],[[4054,618],[1,-6],[-76,3],[30,13],[45,-10]],[[547,618],[21,-9],[14,-23],[-47,-2],[-90,25],[-10,7],[5,17],[24,15],[25,0],[58,-30]],[[3143,666],[-58,-38],[-39,-36],[-31,3],[-10,10],[11,23],[23,11],[92,33],[12,-6]],[[9654,680],[-35,-8],[-8,14],[21,-7],[22,11],[0,-10]],[[3740,650],[1,-7],[44,2],[21,-39],[-7,-30],[-18,-1],[9,-11],[-158,-26],[-16,-9],[-121,-4],[1,17],[22,27],[26,-4],[60,37],[-13,14],[14,40],[31,33],[52,14],[37,-3],[38,-11],[19,-13],[-4,-20],[-38,-6]],[[9641,732],[63,-13],[-27,-10],[-42,-2],[-19,12],[25,13]],[[839,754],[14,-14],[-32,3],[-11,7],[29,4]],[[938,754],[-21,-7],[-2,12],[23,-5]],[[951,834],[16,-10],[-24,3],[8,7]],[[9561,885],[-8,-14],[-7,9],[15,5]],[[1342,903],[19,-12],[-6,-6],[-27,12],[14,6]],[[1458,897],[-1,-13],[-17,20],[18,-7]],[[1760,918],[-17,-8],[-3,7],[26,11],[-6,-10]],[[1680,914],[-12,3],[10,17],[17,-2],[-1,-10],[-14,-8]],[[1635,935],[17,0],[7,-14],[-23,-10],[0,-10],[-32,-4],[-22,7],[3,11],[15,12],[-27,3],[7,10],[55,-5]],[[4425,917],[9,-22],[-14,0],[-4,16],[-29,3],[20,7],[12,19],[11,1],[-5,-24]],[[9717,944],[-11,3],[8,14],[3,-17]],[[1498,961],[13,-7],[9,-16],[-11,-7],[29,6],[17,-9],[7,-11],[-6,-12],[-22,3],[-48,22],[0,8],[-19,7],[-3,16],[34,0]],[[2955,972],[-2,-10],[-13,0],[15,10]],[[2514,979],[-20,-5],[-4,5],[22,8],[2,-8]],[[2918,987],[18,-3],[-8,-40],[-36,14],[-7,10],[11,7],[18,0],[-19,10],[23,2]],[[2474,988],[-3,-19],[-14,-1],[6,17],[-10,16],[23,1],[-2,-14]],[[2365,999],[-10,3],[18,7],[-8,-10]],[[2270,1031],[14,-3],[-2,14],[10,0],[2,-17],[10,19],[19,1],[5,-10],[-23,-11],[8,-3],[27,11],[-6,-10],[13,-10],[-15,-1],[1,-9],[-72,2],[2,5],[-24,-1],[6,7],[-29,6],[-58,7],[6,10],[57,7],[8,-11],[7,7],[23,-12],[-13,13],[17,9],[15,-6],[-8,-14]],[[4919,1112],[8,-10],[14,1],[-17,-19],[-8,18],[-16,10],[19,0]],[[2947,1119],[8,-13],[-22,-10],[-48,-11],[-9,4],[2,12],[33,5],[9,12],[8,-13],[3,14],[16,0]],[[3313,1111],[-7,10],[11,1],[-4,-11]],[[4835,1126],[-5,-10],[-10,9],[15,1]],[[5082,1116],[-11,6],[19,4],[-8,-10]],[[4913,1121],[-10,0],[6,12],[12,3],[2,-14],[-10,-1]],[[7004,1113],[-10,3],[-5,16],[16,-11],[-1,-8]],[[5124,1122],[-12,11],[12,5],[0,-16]],[[5745,1129],[-22,0],[-2,11],[19,6],[5,-17]],[[5040,1146],[-7,-18],[-5,21],[12,-3]],[[2924,1165],[8,-12],[-12,-13],[-23,5],[-1,13],[8,7],[20,0]],[[5449,1148],[-17,8],[11,12],[19,-1],[-11,-8],[-2,-11]],[[3001,1170],[-23,2],[-6,7],[17,4],[12,-13]],[[3283,1179],[-6,-12],[-16,30],[11,2],[11,-20]],[[3055,1197],[19,-24],[1,-17],[16,-26],[11,-25],[3,-60],[-6,-23],[-20,-7],[-2,-10],[-40,-7],[-49,0],[-21,13],[10,8],[16,-3],[45,-2],[14,8],[-7,6],[-28,-9],[-18,10],[35,8],[1,5],[-31,0],[-14,17],[-11,-17],[-31,2],[10,-8],[-14,-9],[-38,14],[-1,15],[15,8],[16,-8],[-4,12],[9,4],[16,-13],[-4,14],[29,-2],[9,7],[-23,7],[10,6],[30,-6],[19,11],[20,0],[13,-11],[-2,16],[-35,7],[5,17],[24,8],[15,-4],[-18,14],[-20,-4],[-27,14],[7,34],[-10,5],[0,20],[45,10],[9,-7],[2,-18]],[[7385,1327],[-15,4],[8,9],[7,-13]],[[3111,1321],[9,-5],[-16,-13],[-8,-22],[-11,0],[-7,9],[22,44],[15,12],[5,-5],[-10,-11],[1,-9]],[[7686,1378],[4,-8],[-14,-2],[10,10]],[[3174,1408],[-3,-16],[-10,-2],[6,17],[7,1]],[[7805,1401],[-19,0],[-1,7],[12,10],[15,-7],[-7,-10]],[[7870,1413],[-16,19],[9,-2],[7,-17]],[[3410,1465],[-6,6],[14,7],[-8,-13]],[[3242,1481],[-2,-9],[14,-8],[-14,-12],[-26,3],[20,26],[8,0]],[[3270,1492],[2,-17],[-12,-8],[10,25]],[[3394,1508],[-2,-9],[20,-7],[-8,-17],[-7,6],[-7,-7],[-14,20],[5,8],[13,6]],[[3446,1521],[-9,7],[15,-2],[-6,-5]],[[0,324],[46,3],[68,-14],[19,8],[194,-14],[21,-11],[128,-2],[122,-11],[81,-3],[-58,13],[54,1],[-124,12],[-104,7],[24,11],[-55,17],[37,2],[-52,17],[-71,-3],[-37,23],[-127,27],[73,-2],[18,-14],[73,-4],[20,4],[70,-3],[6,-14],[50,10],[19,-11],[127,8],[18,9],[-44,5],[81,5],[16,14],[70,14],[-10,10],[-54,26],[31,11],[-19,10],[-74,13],[17,11],[109,6],[135,7],[0,5],[-77,24],[-11,11],[13,10],[43,-4],[46,10],[-17,11],[-75,12],[-55,17],[-3,5],[-68,8],[-43,21],[14,11],[48,6],[-2,14],[-71,-7],[-47,23],[14,18],[-3,26],[9,1],[24,-17],[21,17],[21,-5],[18,4],[38,-10],[-9,-10],[36,-3],[2,10],[72,-30],[30,16],[30,6],[-36,7],[7,14],[32,-17],[21,7],[13,-13],[27,0],[-16,13],[21,1],[-31,15],[29,-5],[-22,20],[-27,16],[-38,-3],[-33,3],[2,9],[28,4],[9,7],[69,-21],[6,8],[-27,13],[9,11],[56,6],[1,10],[41,4],[2,6],[19,-3],[9,-14],[18,0],[-10,14],[29,6],[16,14],[61,4],[30,-4],[-16,9],[4,14],[30,0],[11,11],[22,-4],[18,-16],[30,9],[58,-4],[20,-5],[64,13],[93,0],[8,-7],[45,3],[41,0],[59,10],[-3,10],[24,6],[6,-12],[33,-3],[51,6],[-7,21],[11,10],[21,0],[-9,-7],[19,2],[-8,-12],[4,-14],[15,3],[-18,-16],[-6,-21],[9,6],[46,8],[15,0],[-10,11],[0,20],[15,6],[35,-17],[-5,-19],[-34,-18],[4,-7],[45,4],[84,-10],[53,13],[28,-3],[14,4],[49,-4],[-3,-8],[20,-8],[70,13],[-27,6],[2,10],[-34,3],[17,7],[3,14],[-46,3],[5,11],[-7,15],[-33,5],[-4,20],[42,-4],[3,-6],[47,2],[-5,21],[-41,3],[-46,0],[-11,7],[-4,20],[11,7],[26,-4],[-17,-12],[21,-4],[33,4],[84,-1],[9,-7],[44,-11],[17,7],[24,-7],[21,8],[46,0],[33,-7],[16,10],[25,1],[6,10],[-10,17],[33,-4],[1,-10],[-15,-14],[9,-9],[30,6],[8,-11],[38,11],[5,-13],[28,-10],[20,2],[43,-19],[29,9],[-2,28],[24,-11],[-8,25],[28,-2],[24,-17],[-2,-16],[55,8],[5,-7],[-15,-14],[48,6],[7,5],[34,-5],[26,15],[57,12],[21,-2],[42,10],[35,16],[22,43],[-1,7],[-20,21],[-4,13],[6,23],[-15,38],[-15,16],[4,21],[-13,16],[15,0],[-1,7],[25,-14],[5,14],[11,6],[0,11],[-18,7],[14,5],[-5,17],[6,14],[-9,16],[12,3],[6,21],[-10,5],[-19,-1],[15,30],[6,0],[-2,-17],[15,-6],[1,26],[-4,14],[8,4],[14,-7],[5,34],[14,-2],[-5,11],[19,-4],[3,23],[16,1],[-5,27],[11,6],[16,-7],[-4,11],[20,14],[11,-3],[9,12],[10,1],[-1,10],[14,4],[-1,13],[30,14],[13,-2],[3,10],[12,2],[1,8],[21,4],[7,8],[13,6],[11,-3],[7,-20],[-10,-3],[-2,12],[-15,-12],[-10,0],[-15,-17],[-9,-22],[-9,-6],[-7,7],[-6,-6],[-19,-5],[-17,-29],[-20,3],[6,-10],[-18,-10],[9,-14],[-14,-14],[13,-19],[16,3],[0,10],[21,-2],[-16,-14],[-16,0],[-2,-16],[-5,16],[-19,-3],[1,-28],[-16,27],[-15,3],[-10,-29],[11,-10],[-9,-4],[-14,11],[-12,-15],[6,-16],[-15,-6],[-8,5],[-3,-33],[10,-6],[-12,-11],[21,6],[6,-6],[-20,-7],[14,-6],[-10,-7],[36,-17],[-2,17],[23,7],[-14,-17],[15,-6],[-5,-8],[14,-25],[14,-7],[-2,-21],[15,-13],[-1,-11],[-10,4],[5,-18],[22,1],[-16,-24],[20,4],[9,-21],[-5,-12],[-12,-1],[-14,-13],[14,-1],[11,10],[9,-8],[-7,-12],[-38,-3],[36,-14],[13,10],[0,-26],[-19,-2],[6,-18],[17,8],[-7,-24],[25,4],[-11,-19],[-9,8],[-3,-13],[-15,12],[-21,5],[13,-17],[21,-10],[-7,-23],[-21,5],[21,-13],[-23,-13],[31,7],[-9,-17],[-36,6],[17,-17],[-10,-13],[-13,-3],[-2,17],[-17,2],[6,-15],[-14,3],[-10,-10],[18,2],[7,-9],[-35,-4],[-2,-7],[33,-3],[-85,-34],[-52,-9],[4,-3],[-60,-13],[4,-11],[-17,-7],[-31,-1],[-20,4],[-46,0],[-31,8],[-64,0],[34,-42],[23,-15],[10,6],[66,-8],[-25,-26],[-38,-9],[-61,13],[-95,13],[-30,-6],[118,-34],[-9,-17],[-71,-7],[-61,21],[-37,30],[12,-23],[-13,-4],[17,-20],[42,-17],[17,-23],[18,-7],[2,20],[108,-4],[17,-13],[-20,-24],[-22,-3],[-62,0],[55,-10],[39,6],[24,-26],[-8,-7],[24,-16],[19,7],[38,-10],[7,13],[39,9],[21,-6],[9,-14],[46,-9],[89,-24],[77,-3],[-92,-8],[62,-5],[-2,-4],[-62,-1],[-6,-25],[26,-5],[52,8],[75,3],[-64,-17],[33,-33],[-6,-17],[66,-4],[49,30],[72,31],[52,14],[16,-1],[53,11],[65,5],[59,-2],[6,-17],[-17,-11],[31,-7],[67,24],[-2,10],[36,18],[9,16],[79,27],[42,-13],[34,10],[18,17],[53,0],[40,12],[42,-3],[-21,10],[37,0],[5,7],[153,6],[48,10],[-61,7],[-165,11],[31,17],[-27,0],[9,15],[-73,-12],[-96,23],[-5,14],[12,23],[11,3],[8,18],[24,0],[-7,12],[28,18],[34,10],[17,0],[5,10],[28,7],[15,13],[36,16],[52,10],[29,14],[48,10],[53,7],[31,-4],[22,14],[17,-6],[43,6],[-18,11],[29,26],[-3,10],[14,17],[24,3],[23,-7],[39,33],[-10,4],[-27,-10],[-22,3],[17,4],[-20,7],[1,13],[28,23],[18,3],[12,-9],[16,11],[-15,16],[29,-7],[14,11],[42,13],[3,19],[10,20],[-18,0],[-18,7],[-1,18],[16,2],[1,-9],[21,-10],[7,17],[16,9],[-12,10],[13,4],[3,-10],[22,-7],[10,-28],[15,7],[15,-5],[-4,9],[6,23],[-11,13],[13,5],[25,-7],[16,14],[13,-8],[-20,-29],[71,-3],[7,-9],[4,12],[18,3],[5,-6],[28,-5],[7,11],[12,-7],[-4,-14],[12,-9],[21,25],[13,8],[41,14],[105,20],[19,0],[28,7],[-5,17],[12,2],[-1,-17],[11,-3],[25,9],[-8,8],[9,9],[22,-23],[31,-14],[21,-5],[14,25],[18,7],[-16,10],[16,1],[8,-13],[22,-4],[22,3],[27,-4],[3,9],[17,3],[-3,-18],[45,-4],[11,1],[-6,11],[17,9],[11,-10],[-10,-23],[10,-10],[23,-1],[26,4],[3,13],[16,24],[24,-18],[-21,-6],[14,-7],[26,-5],[13,26],[15,-4],[0,-15],[27,-15],[31,-3],[35,17],[23,3],[38,21],[40,5],[38,11],[7,7],[2,33],[-12,13],[-1,13],[20,12],[28,0],[4,-8],[-21,-13],[24,-1],[20,-13],[-2,-23],[45,4],[8,-15],[7,9],[26,-1],[-5,-7],[19,-19],[2,12],[13,7],[-1,10],[15,4],[-2,32],[4,14],[26,6],[21,15],[28,4],[8,17],[32,8],[24,0],[-6,5],[34,13],[14,-6],[-2,23],[18,5],[14,-8],[-13,-7],[10,-3],[6,-12],[9,8],[16,-6],[-5,-17],[13,20],[-3,14],[16,5],[2,11],[-19,-3],[-6,13],[27,6],[-2,-9],[15,2],[0,-13],[11,8],[11,-7],[10,7],[-14,3],[10,16],[-16,1],[-1,12],[9,14],[23,4],[11,12],[30,4],[25,7],[40,-6],[19,-10],[15,-20],[11,3],[13,-8],[1,-9],[-36,3],[15,-8],[-11,-23],[1,-12],[7,13],[33,10],[23,-11],[12,1],[5,-20],[12,-4],[4,11],[24,0],[18,-7],[45,-7],[24,9],[30,-9],[45,-7],[48,-4],[9,-3],[35,8],[-1,-15],[14,-30],[-13,-3],[-7,-17],[13,0],[-16,-9],[12,-8],[0,-9],[-27,-3],[17,-14],[-13,-6],[9,-5],[-17,-12],[-13,18],[-18,-29],[13,-14],[34,8],[1,-21],[-15,-30],[-17,-8],[-5,-19],[-10,-7],[-6,-33],[-12,-36],[-15,-8],[25,-10],[22,10],[-3,26],[14,11],[34,3],[8,20],[20,6],[-6,7],[17,12],[14,3],[-11,7],[16,40],[17,7],[14,12],[-6,15],[22,23],[15,5],[8,-12],[28,6],[5,-7],[13,8],[-3,16],[35,18],[22,5],[7,21],[16,4],[-7,13],[9,12],[19,10],[73,24],[30,4],[13,-3],[-6,13],[29,18],[36,-4],[9,7],[18,0],[34,17],[8,-5],[14,4],[23,-4],[23,1],[19,14],[25,5],[12,-6],[34,1],[4,-10],[31,17],[11,-4],[8,-10],[13,6],[16,0],[16,6],[13,-10],[14,13],[9,0],[8,-26],[8,11],[13,3],[9,9],[27,7],[14,17],[0,7],[27,0],[8,6],[27,-9],[24,-3],[65,-22],[29,-6],[-3,-17],[12,13],[16,-19],[18,0],[29,17],[7,0],[-5,20],[13,14],[62,17],[35,-27],[-3,-15],[21,2],[16,-8],[3,-10],[-17,-16],[-31,-8],[-11,-15],[25,3],[22,10],[32,6],[13,10],[-3,-10],[19,3],[5,-6],[32,-1],[41,14],[0,-3],[-45,-17],[5,-7],[73,19],[18,14],[58,14],[13,-9],[11,6],[8,14],[14,6],[12,-14],[14,6],[-8,-12],[3,-11],[11,0],[0,-16],[28,6],[11,-7],[10,7],[6,-10],[11,13],[2,21],[16,19],[18,8],[28,-7],[30,4],[8,6],[19,-2],[13,-11],[-5,-11],[19,10],[11,0],[9,12],[4,-14],[13,7],[8,-8],[30,1],[20,-11],[35,-3],[12,-6],[28,-3],[10,-5],[20,3],[14,-13],[27,10],[12,-6],[-4,-11],[21,8],[5,-6],[-22,-38],[0,-10],[11,0],[26,23],[9,-10],[14,7],[14,-31],[13,5],[-8,-14],[8,-7],[23,3],[4,-6],[39,4],[35,-1],[10,4],[-1,-21],[16,-13],[0,14],[24,0],[17,-11],[23,7],[-5,24],[5,3],[24,-14],[2,-10],[16,-13],[14,-3],[17,-14],[19,3],[6,-10],[6,8],[17,-1],[45,-17],[14,-20],[-16,0],[28,-13],[19,-34],[-3,-13],[18,0],[2,34],[16,3],[22,-23],[21,2],[-3,7],[38,-3],[13,-6],[12,5],[13,-6],[-9,-6],[27,2],[18,-20],[10,-3],[48,-30],[2,21],[19,-31],[-5,-6],[-13,7],[-13,-34],[12,6],[-5,-17],[-39,15],[-11,-1],[16,-13],[29,-8],[-8,-19],[-20,-10],[-14,16],[-2,-13],[-32,1],[-12,5],[1,-16],[9,6],[23,-6],[-20,-4],[-5,-9],[-34,0],[9,-14],[-26,-1],[1,15],[-11,9],[-4,-20],[17,-14],[-15,0],[13,-30],[-24,1],[-20,-6],[-3,16],[-30,-30],[9,-7],[-5,-13],[-22,2],[-34,-12],[45,-1],[-4,-7],[21,-16],[-2,-16],[-18,-5],[18,-3],[4,-13],[-13,-11],[14,-5],[-14,-17],[18,0],[20,-30],[-7,-11],[27,-7],[-11,-20],[14,-7],[20,8],[12,-14],[36,-4],[-15,-13],[-12,9],[-47,-2],[-37,-7],[-14,-13],[-34,22],[20,-29],[-38,2],[-9,-8],[9,-14],[-23,-14],[27,3],[-37,-16],[52,-4],[-72,-17],[-6,-13],[61,6],[7,-8],[-35,-4],[40,-4],[-17,-13],[9,-23],[-22,5],[25,-20],[40,-9],[38,-31],[-89,-12],[59,-2],[53,8],[73,-27],[12,-14],[24,3],[-3,-20],[86,-9],[66,-23],[124,-12],[-9955,-15]],[[3456,1546],[12,-3],[-1,-9],[-17,4],[-19,-9],[3,13],[22,4]],[[3431,1556],[12,-2],[-6,-9],[-6,11]],[[3331,1581],[7,-5],[-12,-7],[-4,7],[-20,-3],[-1,6],[30,2]],[[3392,1616],[7,-6],[-33,-7],[10,13],[16,0]],[[3470,1665],[-6,-10],[-5,8],[11,2]],[[6916,2373],[5,-3],[-5,-12],[16,-14],[19,13],[7,-1],[-1,-15],[-9,1],[-11,-5],[2,-7],[13,1],[-1,-9],[-22,3],[-7,8],[-5,-13],[-8,4],[5,20],[-5,14],[1,12],[6,3]],[[9093,2685],[-7,-6],[5,12],[2,-6]],[[9020,2837],[14,-3],[13,-8],[2,-6],[17,-8],[24,13],[5,-4],[5,11],[5,-4],[4,9],[10,-13],[-1,-28],[1,-39],[-7,1],[-1,-22],[-4,-21],[3,-1],[0,-21],[-10,9],[6,10],[-14,1],[-4,-23],[-2,6],[-8,-26],[-9,6],[-14,-1],[-3,20],[-2,-6],[-4,15],[-7,9],[-6,24],[0,13],[9,-9],[-13,31],[-11,37],[-2,13],[4,15]],[[9121,2859],[-9,-6],[0,6],[9,0]],[[9109,2896],[9,-16],[1,-14],[-5,-2],[-11,22],[6,10]],[[9001,2876],[-5,-4],[-1,25],[7,3],[-1,-24]],[[8822,3134],[-1,-10],[12,1],[0,-11],[-11,1],[-5,-10],[-20,1],[-4,17],[21,11],[8,0]],[[9263,3604],[-1,-18],[-2,14],[3,4]],[[9261,3608],[-2,17],[3,2],[-1,-19]],[[8136,3714],[7,-36],[-7,19],[0,17]],[[9257,3758],[2,-20],[-10,-37],[1,32],[5,7],[-2,14],[4,4]],[[9195,3832],[5,-3],[0,-17],[-7,17],[2,3]],[[9061,4133],[3,-7],[-3,-7],[-4,13],[4,1]],[[8880,4236],[-7,-7],[0,-6],[-8,0],[1,8],[10,8],[4,-3]],[[8805,4285],[2,-15],[-4,8],[2,7]],[[8797,4395],[0,-9],[6,2],[-5,-8],[-1,-14],[6,-6],[-8,0],[-6,5],[-1,14],[9,16]],[[8621,4522],[5,-21],[-7,4],[-8,-2],[5,9],[-2,9],[6,10],[1,-9]],[[8624,4533],[6,-6],[14,10],[6,-2],[1,-21],[-14,-18],[-13,16],[-3,29],[3,-8]],[[8682,4547],[1,-13],[-4,6],[3,7]],[[8959,4566],[-1,-8],[6,-7],[3,-19],[0,-30],[10,-9],[-4,-20],[6,-4],[4,-11],[-2,-17],[5,2],[-1,-13],[3,-19],[-2,-19],[5,-20],[3,-22],[5,-2],[15,18],[4,-22],[18,-23],[-3,-12],[2,-6],[2,-37],[3,-8],[-2,-16],[6,-22],[9,-9],[-1,-11],[5,-19],[1,-16],[-3,-34],[9,-15],[-2,-17],[5,-14],[13,-15],[4,7],[2,-12],[8,0],[4,-6],[1,-14],[19,-12],[1,-10],[7,5],[3,-13],[4,1],[1,-10],[-4,-1],[-1,-10],[15,-24],[-1,-8],[8,-30],[0,-14],[3,-20],[8,-7],[5,-13],[-3,22],[4,5],[3,-9],[10,-13],[2,13],[6,-21],[-2,-15],[3,-36],[4,0],[4,-13],[5,-4],[6,-13],[6,3],[4,-6],[6,-27],[8,-7],[4,-25],[10,-6],[0,-27],[6,-16],[-2,-19],[4,-40],[-4,-3],[10,-41],[1,-17],[3,-4],[1,-40],[-7,-21],[-2,-39],[-7,-32],[0,-30],[-3,-28],[-5,-21],[-6,-11],[0,-23],[-13,-15],[-11,-20],[-6,-26],[-5,-3],[0,-26],[-9,-18],[-3,-27],[-4,-14],[2,-9],[-8,-7],[-9,-34],[0,-24],[-7,-34],[4,-21],[-2,-14],[-13,-16],[-33,-2],[-16,-10],[-10,-13],[-13,-24],[-19,-4],[3,-12],[4,7],[-2,-20],[-6,16],[-8,-3],[-4,16],[-3,-3],[-8,9],[5,8],[-2,9],[-6,0],[-1,-10],[-8,-5],[-6,8],[8,1],[3,17],[-6,10],[-15,-14],[10,-2],[-2,-8],[-6,0],[-10,-11],[-14,-22],[-32,28],[-5,-2],[-8,7],[-9,-1],[1,-6],[-8,1],[-4,13],[-14,5],[-10,11],[-3,13],[-13,23],[-3,18],[5,6],[0,13],[-9,34],[-14,26],[6,2],[3,10],[-4,3],[-21,-20],[-8,0],[-1,7],[9,12],[3,33],[-8,16],[-3,16],[-7,-13],[-1,-20],[-5,-23],[-7,4],[-15,-11],[3,23],[11,-3],[3,21],[-1,25],[4,17],[9,19],[-3,19],[6,4],[-8,34],[0,-26],[-3,2],[-6,-11],[-5,-27],[-25,-26],[-8,-24],[-4,-3],[-4,-16],[6,2],[0,-12],[-5,7],[-6,-5],[-6,18],[-1,21],[-3,17],[-11,20],[-4,27],[-12,0],[-2,13],[-4,1],[7,15],[-5,12],[-8,-5],[3,9],[-8,16],[-14,-5],[-10,14],[-7,1],[-9,-6],[-12,18],[-18,14],[-9,-7],[-18,2],[-33,-7],[-27,-23],[-20,-11],[-17,-2],[-14,5],[-18,-19],[-15,-10],[-2,-6],[-17,-8],[-4,-5],[-5,-28],[-7,-16],[-6,-7],[-4,3],[-6,-7],[-3,9],[-19,-3],[-8,-6],[0,8],[-14,3],[-20,-2],[-13,-6],[-16,-1],[-9,-16],[-2,-12],[-16,1],[-3,-11],[-7,-4],[-2,-11],[-20,-8],[-2,-5],[-12,7],[-18,-1],[-15,14],[-10,19],[-10,9],[-4,-3],[-4,15],[0,32],[6,-7],[7,3],[6,18],[-1,36],[3,8],[0,43],[-18,66],[-4,34],[1,32],[-5,22],[-7,17],[0,16],[-11,24],[-2,38],[-5,16],[-11,32],[-7,13],[5,14],[6,-26],[7,6],[0,9],[-9,14],[-4,27],[2,4],[7,-20],[-1,-17],[5,14],[2,-22],[7,-2],[0,30],[-5,13],[-6,26],[-4,4],[-3,21],[-5,16],[1,26],[4,22],[5,6],[0,24],[2,10],[-5,22],[3,7],[7,33],[4,4],[-2,-20],[1,-21],[7,4],[8,34],[23,20],[13,26],[21,22],[5,-3],[8,6],[7,-7],[12,7],[8,14],[17,3],[10,20],[12,-6],[7,6],[12,3],[16,11],[11,13],[9,25],[3,19],[4,4],[16,39],[-4,1],[-2,36],[3,14],[8,17],[6,3],[0,10],[7,12],[-1,-15],[5,-3],[0,-14],[12,-37],[-1,10],[3,13],[-2,11],[7,-10],[-3,24],[-6,5],[6,13],[-5,8],[5,2],[7,-7],[-1,9],[7,-9],[16,-1],[-10,3],[-1,9],[6,4],[1,18],[-4,-11],[-3,18],[1,9],[6,1],[3,9],[5,0],[4,-9],[1,10],[-6,3],[4,17],[11,-10],[0,9],[-8,16],[10,14],[3,-4],[7,6],[1,-11],[3,5],[4,26],[-5,5],[4,7],[3,-19],[9,16],[1,-16],[4,14],[4,0],[-3,11],[6,4],[4,-14],[9,1],[11,-28],[10,-16],[-3,-17],[0,-13],[4,-1],[-1,11],[5,14],[4,3],[12,-5],[9,-11],[-1,11],[7,-5],[3,-14],[4,1],[-3,18],[5,-1],[-6,15],[-7,11],[4,20],[7,4],[1,18],[4,9],[11,12],[-5,9],[0,14],[6,2],[0,12],[6,6],[2,11],[7,-14],[0,17],[4,-2],[-1,12],[9,5],[3,-13],[13,4],[4,-5],[9,5],[7,9],[2,24],[-7,12],[-9,-5],[-5,12],[-5,0],[7,11],[10,-1],[9,-21],[6,10],[7,-21],[14,-7],[4,6],[4,-11],[3,4],[4,-12],[6,-1],[8,7],[11,-18],[13,11],[6,2],[-4,-8],[2,-6],[5,7],[5,-5],[-2,-11],[7,-1],[3,14],[-5,3],[10,9],[4,-17],[3,7],[4,-11],[-12,-28],[4,-6],[-9,-21],[0,9],[-5,-6],[0,8],[-7,-9],[0,-26],[4,3],[-4,-29],[-3,-3],[-7,-24],[-4,-4],[2,-13],[22,-27],[0,-8],[10,-11],[4,-9],[7,1],[10,-14],[10,-7],[9,-21],[7,-8],[20,-9],[4,-7],[1,-15],[22,-24],[14,4],[10,13],[3,24],[7,18],[3,26],[3,9],[-2,9],[3,25],[5,20],[-4,40],[3,16],[-4,13],[1,21],[5,21],[-2,18],[6,14],[-2,11],[-5,-4],[6,28],[6,1],[-2,8],[6,41],[0,14],[5,2],[6,11]],[[5470,7982],[-2,-9],[5,-23],[3,-3]],[[5476,7947],[-3,-17],[-12,3],[-6,-6],[7,-3],[-5,-12],[-1,-22],[-9,-9]],[[5447,7881],[-19,-12],[-16,-2],[-9,-14],[-23,9]],[[5380,7862],[-32,7],[-12,17],[2,7],[-12,-5],[-17,-1],[-4,-11],[-15,6]],[[5290,7882],[-2,7],[-6,-8],[-16,12]],[[5266,7893],[-2,12]],[[5264,7905],[1,14]],[[5265,7919],[4,2]],[[5269,7921],[7,0],[8,-16],[6,15],[12,-1],[2,-7],[9,1],[9,10],[32,4],[6,-11],[3,9],[-5,5],[1,13],[-6,9],[4,7],[12,5],[4,16],[7,-3],[3,13]],[[5383,7990],[7,-9],[18,0],[7,11],[0,12],[11,-1],[20,-13],[10,3],[13,-6],[1,-5]],[[6281,7420],[-19,8],[-9,14],[-9,24]],[[6244,7466],[-1,3]],[[6289,7594],[9,-6],[11,-12],[5,-17],[16,-3],[5,15],[9,6],[5,16]],[[6349,7593],[15,-31],[1,-11],[10,-28],[15,-3],[8,-10],[-11,-3],[-13,-11],[0,-11],[-6,-28],[4,-11],[-5,0],[-1,-17],[-7,10],[-2,-43]],[[6357,7396],[-7,-2],[-6,12],[-11,12],[1,8],[7,2],[-5,18],[6,7],[-10,16],[-4,-1],[-26,-29],[-11,-17]],[[6249,7560],[8,10],[13,-8],[8,-9],[6,1],[6,-8],[4,3],[1,15],[-10,9],[-3,13],[7,8]],[[5848,5045],[-4,-15],[2,-14],[9,-5],[0,-17],[-9,-13],[-9,-34],[-11,-21],[-3,1]],[[5823,4927],[-9,39],[1,21],[-4,4]],[[5811,4991],[0,18],[-4,5],[-2,12]],[[5805,5026],[4,7],[5,-4],[0,-9],[11,1],[5,7],[1,21],[6,-6],[7,7],[4,-5]],[[5166,8104],[10,-14],[1,-10],[-8,-11]],[[5169,8069],[-7,-3],[-4,-16],[2,-14]],[[5160,8036],[-9,-3],[-4,10],[-13,7],[-1,21],[-9,-13],[-10,3],[2,15],[-5,5],[-10,0],[0,6],[-11,5],[-4,15],[-7,-6],[-7,8],[-2,15]],[[5070,8124],[16,14],[7,3]],[[5093,8141],[0,-6],[16,-3],[8,9]],[[5117,8141],[1,0]],[[5118,8141],[3,3],[16,-1],[7,-8],[9,0],[9,-11],[-6,-13],[10,-7]],[[5099,5856],[-3,-17],[7,-16],[0,-19],[3,-5],[-1,-16],[-5,0],[1,-14],[-3,-18],[-6,-3],[0,-9],[-5,-12],[-2,-20],[-8,-4],[-2,-15],[0,-41],[-1,-12],[2,-25],[1,-42],[-2,-18]],[[5075,5550],[-31,-9]],[[5044,5541],[5,3],[-5,18],[1,24],[0,73],[-1,5],[0,43],[-6,13],[-1,37],[-16,23],[0,19],[4,17]],[[5025,5816],[5,3],[1,13],[4,-1],[3,11],[6,-3],[11,2],[8,13],[3,14]],[[5066,5868],[-1,19],[14,10],[10,-21],[2,-8],[6,-4],[2,-8]],[[5006,6041],[-2,-21],[6,-16],[-1,-9],[7,-24],[5,0],[7,-13],[7,-7],[-9,-1],[0,-15],[6,-6],[11,-19],[8,-1],[3,7],[5,-3],[3,-15],[-6,-4],[10,-26]],[[5025,5816],[-12,0],[-18,8]],[[4995,5824],[-8,-3],[-5,-10],[-2,5],[-59,0],[-3,-22],[3,-11],[2,-25],[0,-24],[2,-5]],[[4925,5729],[-4,-4],[-10,24],[-6,5],[-10,1],[-11,-7],[-4,-11],[-11,3],[-4,12],[-3,-1],[-4,24],[-9,1],[-3,7]],[[4846,5783],[3,24],[-2,14],[6,9],[1,19],[-4,14],[8,10],[9,1],[10,18],[-1,24],[6,0],[0,14],[-3,11],[10,13],[15,-13],[5,7],[0,25],[6,-5],[5,21],[11,16],[12,-6],[1,16],[8,3],[11,13],[8,5],[8,15],[8,-4],[8,2],[11,-8]],[[7529,6456],[0,16],[3,-11],[-3,-5]],[[7521,6458],[-5,-7],[2,29],[-4,4],[3,11],[6,-20],[-2,-17]],[[7571,6448],[0,-29],[2,-10],[-12,7],[1,-20]],[[7562,6396],[1,-15],[-7,20],[-1,27],[-3,9],[-2,29],[-11,31],[-5,-14],[-9,0],[-8,26],[1,14],[-4,6],[-9,4],[11,-11],[-4,-10],[2,-12],[-3,-8],[5,-13],[-2,-18],[-6,-9],[-1,-11],[-7,1],[1,7],[-5,6],[-2,-15],[-12,-7],[0,14],[-4,-18],[-4,10],[-1,18]],[[7473,6457],[-6,48],[2,14],[-7,2],[3,13],[-6,8],[0,11],[5,8],[0,22],[-7,0],[-11,12],[-2,7],[4,12],[5,1],[3,18],[13,-1],[-3,18],[-8,1],[-3,11],[-9,14],[2,12],[5,4],[4,14],[5,-9],[11,-3],[7,-14],[7,-2],[2,15],[6,-18],[-2,-4],[1,-32],[15,-8],[23,2],[7,-3],[18,3],[11,-14],[-6,-2],[-5,-31],[-5,-2],[0,-9],[-8,2],[0,-6],[-7,0],[-7,-21],[2,-14],[9,-30],[7,5],[0,15],[5,8],[-1,11],[5,4],[8,-22],[0,-25],[3,-12],[3,-42]],[[5793,7702],[0,-17],[-11,-3],[-6,-14],[-2,-26],[-4,1],[-8,-16],[5,1],[11,-28]],[[5778,7600],[-13,-4],[-6,9],[-21,-5],[-7,-15]],[[5731,7585],[-8,0],[2,-21],[-25,-7],[-9,10],[-8,1],[-2,6],[-14,0],[-8,-7],[-13,0],[-10,-4]],[[5636,7563],[3,22],[-5,18],[-9,5],[-5,11]],[[5620,7619],[5,6],[-3,23],[9,5],[7,17],[-13,15],[-4,15],[1,17],[8,13]],[[5630,7730],[9,-8],[-4,-15],[17,3],[18,-8],[10,3],[21,-5],[4,-4],[11,5],[9,16],[25,10],[10,-10],[15,-2],[8,-13],[10,0]],[[6402,6694],[3,0],[0,-24],[-4,8],[1,16]],[[2971,6401],[-3,-10],[-15,-3],[-1,6],[9,10],[4,-4],[6,12],[0,-11]],[[2969,6475],[8,-3],[-7,-3],[-1,6]],[[2948,6491],[0,-14],[-5,9],[5,5]],[[2889,6546],[9,-13],[-10,9],[1,4]],[[2908,6546],[6,-21],[0,-8],[7,-10],[0,-8],[-7,15],[-1,14],[-5,18]],[[2840,6572],[6,0],[0,-20],[-8,5],[-3,13],[5,2]],[[2908,6577],[-3,0],[-4,16],[7,-16]],[[2830,6632],[3,0],[8,-40],[-8,-11],[-10,14],[7,37]],[[2869,6655],[0,-4],[16,-20],[-1,-29],[-2,7],[3,17],[-6,14],[-11,8],[1,7]],[[2819,6722],[15,-4],[-21,-5],[6,9]],[[2839,6733],[5,0],[16,-25],[0,-11],[-4,-3],[0,-19],[-6,5],[4,8],[0,18],[-8,23],[-7,4]],[[5528,7765],[9,0],[-7,-29],[14,-17],[-10,-5],[7,-13],[-1,-8],[-7,-3]],[[5533,7690],[-8,-3],[0,-8],[-7,-6],[-1,-13],[-4,0],[-1,-26]],[[5512,7634],[-22,19]],[[5490,7653],[-2,3]],[[5488,7656],[0,8],[-35,57],[-8,32],[-7,3],[0,29],[6,2],[10,-12],[3,10],[9,-1],[4,7],[4,-7],[22,-6],[4,4],[19,-3],[2,-11],[7,-3]],[[5781,8416],[4,-6],[9,3],[3,-8],[9,4],[11,-6],[1,-13],[12,9],[16,-3],[11,-11],[-2,-19],[6,-15],[-7,-13],[11,-10],[-3,-7],[7,-14],[15,-15],[-3,-11],[10,1],[11,-9],[6,-11],[-15,-22],[-22,5],[-4,-9],[8,-10],[2,-30],[5,-13]],[[5882,8183],[-23,-2],[-12,-29],[3,-14],[-7,-1],[-6,11],[-15,-1],[-9,-6],[-5,14],[-13,-11],[-11,13],[-16,-10],[1,7],[-13,0],[-1,7],[-21,5],[-10,6],[-28,2],[-19,-4],[-11,-18],[-11,3],[0,-5]],[[5655,8150],[0,34],[-12,10],[6,13],[15,11],[0,18],[-7,25],[-5,28]],[[5652,8289],[20,1],[5,-4],[12,5],[-1,7],[19,11],[1,-8],[8,6],[-7,3],[9,37],[8,1],[3,10],[9,-1],[6,10],[-8,1],[2,20]],[[5738,8388],[11,10],[17,-2],[8,17],[7,3]],[[2547,6247],[-3,-6],[9,0],[-1,-18],[-5,-28],[4,-4],[-4,-10],[2,-16],[-2,-24],[-7,-21],[-5,-2],[-5,-20]],[[2530,6098],[-9,0],[2,51],[0,60]],[[2523,6209],[4,10],[4,-6],[9,26],[0,6],[7,2]],[[3084,4249],[-4,-1]],[[3080,4248],[4,1]],[[3384,4022],[-1,21],[-24,29],[-24,0],[-51,-22],[-4,-23],[-10,-28],[0,-29],[-8,-54],[-3,-14]],[[3133,3869],[-10,-5],[-9,4],[1,16],[-3,11],[0,16],[-4,7],[-3,23],[0,15],[-6,20],[-4,2],[2,18],[-6,6],[1,10],[-3,14],[6,2],[1,8],[-5,11],[7,16],[-13,23],[-3,34],[-3,18],[2,6],[-7,5],[0,8],[-5,18]],[[3069,4175],[-4,17],[7,8],[10,30]],[[3082,4230],[5,-3],[-1,11],[8,5],[0,6],[-7,0],[-1,9],[4,4],[-7,3],[0,7],[-10,17]],[[3073,4289],[6,16],[-7,15],[6,28],[5,6],[3,20],[-6,22],[4,8],[-1,36],[7,11],[2,12],[-16,55],[-9,34]],[[3067,4552],[23,-3],[-1,-8],[10,6],[9,20],[11,3],[11,19],[7,3],[11,20],[19,8],[7,1],[4,-5],[5,9],[3,-32],[-4,-13],[3,-21],[-2,-18],[2,-19],[3,-2],[1,-14],[4,-2],[1,-12],[5,-1],[4,-10],[6,-4],[1,-11],[13,-4],[4,4],[10,-7],[4,-8],[5,4],[9,-20],[4,1],[8,-10],[7,0],[0,-6],[8,-17],[22,4],[18,-27],[-2,-20],[5,-18],[1,-28],[-9,-1],[9,-20],[3,-47],[47,-4],[3,3],[0,-13],[-4,-8],[2,-34],[11,-15],[6,-1],[0,-8],[6,-27],[0,-10],[-6,-46],[-9,-38],[7,-13],[-8,-10]],[[3651,3581],[1,22],[3,0],[-4,-22]],[[3650,3661],[-4,8],[6,7],[-2,-15]],[[3919,4412],[0,-16],[-4,16],[4,0]],[[3660,5124],[-3,3],[4,9],[-1,-12]],[[3588,5149],[0,-7],[-8,-7],[1,9],[7,5]],[[3577,5151],[2,-5],[-4,-19],[-3,-11],[-15,-19],[0,13],[7,10],[0,14],[2,11],[8,8],[3,-2]],[[3573,5156],[5,19],[0,-10],[-5,-9]],[[3608,5175],[11,-6],[9,5],[27,-7],[-2,-14],[-1,-20],[-4,-14],[-5,-5],[0,-14],[-7,-5],[-3,7],[0,-11],[-9,1],[-6,-12],[-14,3],[-4,-6],[-5,2],[-7,28],[1,13],[6,-5],[1,8],[-7,-1],[0,23],[2,17],[4,10],[5,5],[8,-2]],[[3586,5165],[-4,4],[1,13],[7,3],[2,-9],[-6,-11]],[[3625,5187],[3,-5],[-2,-7],[-11,2],[10,10]],[[3599,5183],[-5,0],[-2,9],[6,-1],[1,-8]],[[3624,5200],[-6,-5],[-3,-12],[-14,0],[-1,12],[8,1],[15,9],[1,-5]],[[3600,5213],[1,-14],[-2,-7],[0,23],[1,-2]],[[3609,5216],[-6,-13],[1,14],[5,-1]],[[3608,5236],[0,-10],[-5,0],[5,10]],[[3600,5305],[1,-11],[-5,4],[4,7]],[[3431,5295],[13,-7],[2,14],[-6,10],[5,17],[6,-8],[11,2],[0,4],[10,2],[8,-5],[3,-7]],[[3483,5317],[3,-7],[8,-3],[7,3],[6,9],[5,-7],[6,5],[9,-9],[9,11],[8,31],[1,14],[4,7],[15,44]],[[3564,5415],[5,24],[8,-16],[1,-21],[3,4],[-1,-29],[3,-31],[7,-22],[1,-18],[6,-18],[13,-4],[4,-8],[0,-19],[-7,-4],[7,-3],[-11,-17],[-5,-12],[-4,-17],[-5,-11],[-5,-1],[-9,-17],[-4,-19],[-8,-19],[0,-14],[-7,-8],[-1,-13],[-6,4],[-14,-13],[13,2],[0,-10],[9,7],[7,10],[11,11],[13,17],[-5,-12],[5,-5],[0,-14],[4,-9],[0,-11],[7,-14],[4,9],[6,4],[5,-7],[12,10],[1,-7],[-5,-41],[2,-2],[8,40],[7,18],[2,-8],[8,21],[3,-12],[1,19],[4,-2],[4,16],[1,15],[5,0],[5,12],[2,-11],[4,10],[11,-7],[19,-9],[0,-10],[7,-6],[8,5],[1,-7],[10,-9],[1,-8],[6,9],[-2,-11],[1,-13],[3,11],[5,4],[10,-14],[-3,-5],[6,-1],[3,-8],[-5,-16],[5,5],[3,-14],[-4,0],[-5,-36],[2,-9],[6,14],[1,23],[8,8],[1,-9],[-7,-12],[7,-2],[2,14],[9,4],[6,-4],[-1,12],[4,0],[18,-13],[6,-11],[15,-5],[3,6],[5,-9],[29,4],[3,2],[14,-3],[25,-31],[3,-1],[8,-15],[5,-2],[11,-27],[14,-26],[9,-6],[4,-12],[6,-1],[6,-8],[16,-1],[5,3],[13,-6],[4,-13],[9,-57],[1,-24],[5,-21],[-1,-53],[-7,-40],[-7,-25],[-10,-27],[-3,5],[-2,-16],[-12,-24],[-3,-13],[-10,-10],[-5,-9],[-11,-37],[-15,-52],[-13,-34],[-5,0],[0,14],[-4,9],[-4,-16],[0,-17],[-4,-7],[0,-27],[-2,-5],[2,-28],[-3,-20],[2,-9],[0,-24],[2,-28],[2,-6],[-4,-25],[-6,-53],[1,-31],[-2,-9],[-7,-8],[-7,-30],[2,-51],[-3,-13],[-6,-6],[-9,-44],[-13,-31],[-8,-25],[4,-27],[-5,-10],[-12,-7],[-13,-20],[0,-21],[-17,1],[-11,-3],[0,18],[-7,-5],[2,-13],[-22,-7],[10,7],[-9,3],[-8,-7],[-2,7],[-9,-7],[1,-17],[-10,-3],[-2,-6],[-10,-7],[-1,-11],[-12,4],[-8,-7],[-1,-7],[-11,-6],[-11,-13],[-5,-12],[-10,-9],[-10,-15],[-1,-15],[-8,-7],[-6,4],[1,-17],[-4,-17],[-1,-19],[-5,-6],[4,-6],[-3,-16],[3,-6],[2,-32],[-2,-52],[-4,-17],[-17,-23],[-5,-12],[-14,-39],[-8,-37],[-10,-34],[-12,-25],[-22,-27],[-3,-9],[0,17],[5,-4],[11,20],[5,3],[4,11],[-1,12],[5,1],[0,10],[9,9],[-1,22],[4,-6],[1,12],[-12,-4],[-9,8],[3,-7],[-6,-21],[-1,-24],[-6,-10],[-9,-4],[-3,-21],[-4,-3],[-1,-14],[5,-10],[-5,-7],[-6,-30],[-7,-26],[-18,-28]],[[3517,3240],[-4,10]],[[3513,3250],[2,1],[1,23],[5,4],[2,13],[5,6],[5,-10],[6,18],[-4,16],[-12,-19]],[[3523,3302],[-11,11],[-5,23],[-15,14],[-9,21],[-8,3],[-4,8],[-7,3],[-2,10],[-8,11],[-6,-13],[-4,0],[0,16],[-23,40],[-7,0],[-2,-8],[-11,-2],[-2,6]],[[3483,3710],[0,8]],[[3483,3718],[5,3],[0,26],[4,16],[0,34]],[[3492,3797],[-9,15],[-10,-10],[-13,1],[-3,21],[1,11],[-4,23],[1,21],[-7,19],[-9,1],[-6,12],[-12,-10],[-31,8],[0,36],[3,16],[-9,61]],[[3067,4552],[-11,2],[-7,-8],[-12,3],[0,41],[1,29],[2,20],[-10,-14],[-2,-7],[-9,-11],[-25,0],[-3,27],[-14,7],[-11,0],[7,16],[0,8],[-6,17],[-4,2],[-1,11],[-5,6],[-2,15],[-5,9],[2,9],[-8,14],[1,11],[7,2],[-3,13],[2,13],[11,17],[5,3],[1,12],[-3,14],[8,24],[1,30],[14,14],[14,21],[17,5],[10,6],[5,11],[9,1],[3,-6],[10,-5],[0,5]],[[3056,4939],[6,58],[0,9],[5,46],[0,10],[5,54],[-4,13],[-2,24],[-13,21],[1,42],[12,4],[3,5],[10,-6],[-2,21],[-4,4],[-14,0],[0,37],[8,4],[5,-3],[34,0],[-1,16],[7,-15],[5,4],[9,19],[4,-5],[7,-29],[-1,-21],[6,2]],[[3142,5253],[11,-21],[10,-7],[10,14],[6,-1],[-1,-17],[11,17],[1,10],[11,6],[10,16],[0,-8],[9,16],[0,14],[19,16],[1,14],[-20,4],[2,15],[-6,20],[0,30],[-13,22],[-4,12],[2,5],[4,-10],[12,0],[4,-14],[10,4],[4,-5],[4,7],[4,-5],[7,-18],[7,5],[-1,20],[6,1],[4,9],[7,-6],[18,12],[0,6],[16,10],[10,22],[-2,13],[-3,1]],[[3312,5482],[11,0],[3,4],[8,-12],[-3,-33],[6,0],[5,-8],[-2,-8],[4,-14],[0,-10],[-7,-12],[1,-13],[-4,-17],[-1,-22],[2,-17],[5,-5],[0,-26],[6,-8],[8,-19],[8,-4],[4,-7],[8,5],[0,10],[5,9],[9,-5],[6,11],[7,0],[3,11],[9,7],[9,-8],[9,4]],[[3347,5935],[-4,3],[0,13],[6,-10],[-2,-6]],[[8198,5465],[5,-34],[-7,5],[-2,24]],[[8194,5460],[4,5]],[[8166,5448],[6,-1],[7,5],[7,12],[9,10],[-2,-10]],[[8193,5464],[-7,-9],[2,-17],[0,-14],[-7,-10],[-7,23],[-8,11]],[[7545,6781],[-2,-8],[5,-11],[6,3],[3,-10],[-3,-11],[3,-13],[-5,-4],[-33,-3],[-10,8],[-6,-9],[-11,-3],[-12,9],[-6,-2],[-7,7],[-3,12],[4,10]],[[7468,6756],[3,13],[13,29],[11,14],[12,3],[0,-5],[9,-1],[-4,-10],[18,-5],[5,6],[10,-8],[0,-11]],[[5701,4158],[-1,-8],[8,-27],[7,-13],[6,-21],[4,-29],[8,-13],[14,-17],[7,-3],[3,-9],[0,-15],[12,-1],[-1,-34],[6,-12],[3,-15],[18,-5],[12,-10],[1,-14],[7,-7]],[[5815,3905],[-9,-3],[-3,-13],[-8,-7],[-12,-4],[-12,-27],[-5,-6],[-2,-10],[-11,-7],[-4,-13],[-5,-31],[-8,-10],[-3,-10],[-15,-6],[0,-10],[-8,-41],[-5,-7],[-10,1],[-4,-5],[-17,5],[-10,6],[-13,20],[-7,1],[-7,-5],[-6,-23],[0,-14],[-6,-13],[-8,-7],[-6,-18],[-7,-2],[-2,-10],[-15,0],[-15,4],[0,21],[5,11],[0,19],[-4,13],[-1,14],[-10,29],[-8,10]],[[5554,3757],[0,159],[28,0],[0,212],[23,4],[21,9],[21,5],[9,-27],[15,26],[7,4],[4,-6],[7,13],[12,2]],[[5634,5812],[4,-14],[8,-14],[10,-31],[1,-16],[-1,-21],[-5,-6],[3,-9],[-2,-17],[19,-1]],[[5671,5683],[2,-7],[-4,-11],[3,-6],[16,-5],[8,-17],[5,-3],[1,-11],[-4,-4],[6,-14],[18,-19],[2,-10],[8,-10],[-2,-16],[8,-21],[6,-2],[13,-23],[-1,-15],[6,-14]],[[5762,5475],[-12,7],[-4,-8],[-10,-1],[-12,12],[-6,-3],[-11,9],[-4,-5],[0,-13],[-18,-7],[-5,11],[-6,-10],[-27,-19],[-12,12],[-9,-34],[-3,-5],[-23,9],[-2,-3],[-20,12],[-7,-2],[-6,20],[-13,14],[-3,7],[-10,1],[-17,-34],[-1,-7],[-6,-3],[2,-12],[-1,-27],[1,-13]],[[5517,5383],[-4,9],[-11,-4],[-16,7],[-8,-6],[-15,-2],[-4,-7],[-3,-27],[1,-7],[-8,-34]],[[5449,5312],[-2,8],[0,26],[-4,13],[-5,3],[-15,32],[-6,21],[4,1],[-3,14],[-10,19],[-1,31],[-4,6],[2,8],[1,27],[-7,10],[10,13],[5,24],[3,4],[6,30],[6,14]],[[5429,5616],[9,-4],[7,8],[10,5],[4,11],[2,-12],[5,-7],[23,26],[7,-2],[5,4],[15,1],[15,36],[-6,7],[0,8],[5,5],[17,0],[10,7],[9,-1],[4,12],[8,5],[5,19],[13,24],[5,4],[3,10],[-1,14],[8,5],[0,5],[14,9],[9,-3]],[[2957,7804],[-12,-5],[13,16],[-1,-11]],[[2699,7829],[2,-7],[13,9],[3,-9],[5,9],[9,-4],[2,-11],[-7,-12],[-23,15],[-15,6],[11,4]],[[2665,7849],[6,-2],[-2,-11],[-4,13]],[[3319,7889],[6,-10],[-2,-13],[-7,-22],[5,3],[-19,-34],[10,5],[9,11],[-10,0],[12,21],[4,-8],[11,0],[-7,-23],[-16,-12],[-6,3],[-13,-5],[-5,21],[1,13],[6,7],[10,30],[7,14],[4,-1]],[[3221,7879],[6,-21],[3,6],[12,-8],[33,3],[3,-3],[-17,-10],[4,-13],[-11,-3],[-2,12],[-19,2],[-4,11],[-11,0],[2,14],[-9,-1],[4,16],[7,9],[-1,-14]],[[3503,7956],[10,3],[-1,-7],[-9,4]],[[2562,7993],[-9,-6],[0,8],[9,-2]],[[2924,7774],[20,14],[8,11],[6,0],[2,17],[7,17],[14,11],[5,9],[17,17],[5,-2],[32,22],[14,22],[0,4],[14,20],[0,5],[16,23],[21,20],[44,28],[28,8],[18,-3],[10,-5],[11,-14],[1,-8],[-11,8],[11,-15],[-4,-13],[-11,-4],[-1,-6],[-18,-13],[-16,11],[-3,-5],[-11,0],[18,-11],[9,-15],[8,9],[12,0],[3,-6],[-7,-14],[-1,-10],[-11,-13],[16,0],[-3,-15],[11,-32],[20,-8],[-8,-6],[7,-7],[10,0],[4,-9],[5,5],[24,-6],[10,10],[5,-15],[7,3],[7,-12],[-7,-5],[14,-3],[-1,-4],[-18,-7],[0,-3],[-32,-21],[-9,4],[-4,-9],[-8,1],[1,-9],[-11,0],[1,10],[-9,-5],[-4,-8],[2,-10],[-6,-5],[-8,-19],[-9,-10],[-6,1],[-9,-11],[-5,14],[-9,5],[-1,14],[7,29],[21,24],[22,18],[1,-13],[7,8],[20,9],[-34,2],[-5,-6],[-4,6],[13,15],[-3,9],[-5,-12],[-16,-9],[-17,-16],[-4,4],[-10,-10],[-12,-1],[-8,6]],[[3134,7784],[-9,6],[1,19]],[[3126,7809],[-10,9]],[[3116,7818],[1,1],[-1,74],[-14,17],[-16,-11],[-9,17],[-19,-37],[-4,-23],[-7,-12],[1,-17],[-12,-20],[1,-11],[-18,-5],[-6,-16],[-89,-1]],[[1546,8044],[6,-11],[-14,13],[8,-2]],[[1479,8054],[4,-13],[-7,0],[-4,9],[7,4]],[[3218,8058],[33,-11],[15,-14],[11,-6],[10,-14],[-16,-6],[-24,11],[-14,9],[-2,9],[-22,16],[9,6]],[[1494,8104],[-11,-4],[6,9],[5,-5]],[[1448,8112],[20,-17],[22,-5],[26,-13],[5,-19],[9,-12],[4,-16],[22,-13],[10,-22],[8,-25],[-6,-6],[-11,3],[-22,14],[-14,12],[9,11],[-18,-4],[-9,9],[4,11],[-8,0],[-1,10],[-14,-3],[0,11],[7,3],[-8,5],[-1,10],[-15,-2],[-33,43],[-2,7],[16,8]],[[3447,8155],[6,-8],[7,7],[-5,-17],[-12,4],[2,-12],[7,-5],[-28,-60],[-3,-27],[6,13],[13,21],[12,-13],[7,0],[-17,-14],[11,-17],[15,9],[-2,-16],[12,1],[8,14],[9,-8],[5,3],[15,-10],[-4,-13],[-17,-15],[10,3],[-3,-15],[12,-7],[3,10],[4,-6],[7,9],[-5,-19],[-11,-9],[-7,0],[6,-14],[-6,-9],[8,-15],[2,13],[6,14],[12,6],[-9,-18],[-1,-22],[8,8],[3,14],[5,-19],[-5,-10],[-2,-19],[-5,-17],[-6,3],[-10,-3],[4,26],[-2,5],[-14,-23],[-4,1],[8,31],[1,14],[-5,15],[-18,-29],[-10,-9],[0,-8],[-8,-11],[-9,-1],[-9,5],[3,7],[11,3],[15,28],[-11,3],[-6,-12],[-10,12],[-28,-4],[-25,3],[-6,4],[-18,-6],[-15,-2],[-4,17],[27,37],[-9,3],[-14,-6],[8,9],[6,-3],[9,33],[10,-9],[-2,9],[8,4],[-11,4],[25,78],[8,11],[8,28],[24,18]],[[1448,8147],[-7,0],[2,14],[5,-14]],[[1445,8181],[-2,-17],[-4,14],[6,3]],[[2798,8181],[-3,-7],[-8,3],[11,4]],[[1462,8192],[-15,-17],[2,14],[17,12],[-4,-9]],[[1430,8212],[1,-9],[-8,2],[7,7]],[[2738,8248],[8,-1],[10,-15],[3,-12],[-10,1],[-29,15],[6,10],[12,2]],[[1339,8249],[4,-12],[-6,-9],[6,-21],[17,-18],[-5,-5],[-20,26],[-16,32],[20,7]],[[1427,8244],[3,-10],[-2,-21],[-14,7],[-3,12],[2,20],[14,-8]],[[1419,8255],[-7,1],[4,10],[3,-11]],[[1382,8268],[9,-8],[5,-15],[-7,0],[-15,26],[8,-3]],[[1386,8270],[-9,4],[2,6],[7,-10]],[[1395,8273],[11,-17],[-5,-9],[-21,36],[3,5],[12,-15]],[[1380,8293],[-2,-10],[-7,7],[9,3]],[[1305,8302],[20,-3],[5,-14],[-15,-10],[13,-2],[2,21],[12,6],[-8,-28],[0,-22],[-13,-7],[-9,10],[7,6],[-11,3],[-7,25],[4,15]],[[2815,8428],[-1,-10],[-7,-3],[4,17],[4,-4]],[[2787,8429],[-11,-11],[1,8],[10,3]],[[2801,8446],[-3,-6],[9,-8],[-12,-27],[-8,-3],[2,12],[-9,-16],[-3,4],[14,23],[3,-5],[3,26],[4,0]],[[3293,8462],[1,-19],[-7,7],[6,12]],[[3204,8666],[5,-10],[-11,7],[6,3]],[[3109,8672],[7,-7],[-4,-10],[-10,-6],[-3,7],[5,16],[5,0]],[[3200,8731],[-2,-16],[-16,19],[18,-3]],[[2793,8775],[5,-7],[-8,-30],[-8,-9],[-10,11],[-2,14],[12,23],[11,-2]],[[3203,8784],[8,0],[-6,-10],[-9,3],[7,7]],[[3033,8802],[15,-11],[0,-7],[-13,1],[-7,15],[5,2]],[[2719,8809],[7,-3],[-2,-12],[-27,-27],[-23,-5],[-6,18],[18,27],[8,-5],[9,6],[16,1]],[[2822,8839],[21,-4],[4,-9],[-13,-10],[-16,17],[4,6]],[[3216,8833],[-8,14],[5,2],[3,-16]],[[2857,8849],[12,-6],[0,-11],[-20,14],[8,3]],[[3204,8862],[4,-12],[-12,8],[8,4]],[[3186,8910],[2,-6],[-13,-6],[11,12]],[[2625,8972],[12,-9],[-7,-5],[11,-20],[9,16],[14,-17],[20,-4],[4,-10],[19,-12],[5,2],[16,-14],[5,-23],[19,-8],[-1,8],[22,-21],[-8,-2],[-19,-16],[-26,14],[-12,-1],[-1,17],[-15,-1],[2,13],[-19,-10],[2,-14],[-19,-8],[-9,-19],[-25,-10],[-5,33],[-27,-2],[-14,-5],[8,20],[20,13],[-6,24],[6,15],[0,28],[5,23],[13,12],[1,-7]],[[2638,8984],[9,-10],[0,-16],[-12,13],[3,13]],[[2657,8990],[18,-11],[-3,-6],[15,-10],[-15,2],[-15,25]],[[2936,9103],[24,-5],[1,-12],[-28,0],[-10,16],[13,1]],[[2601,9095],[-7,-12],[-8,5],[-3,16],[9,13],[7,-6],[2,-16]],[[2900,9117],[16,-9],[-4,-11],[3,-24],[-9,-11],[-14,-6],[-31,-1],[-7,12],[0,22],[15,25],[31,3]],[[2096,9122],[-15,8],[14,1],[1,-9]],[[2919,9131],[3,-14],[-16,10],[2,12],[11,-8]],[[2173,9144],[-3,-12],[-12,5],[15,7]],[[2218,9152],[-13,-10],[2,17],[11,-7]],[[2820,9179],[-10,-28],[-16,-3],[26,31]],[[2860,9180],[10,-6],[-13,-11],[-6,16],[9,1]],[[2315,9189],[14,0],[-4,-11],[-10,11]],[[2342,9191],[8,-12],[-14,-3],[6,15]],[[3114,9197],[-2,-10],[-10,3],[12,7]],[[2834,9196],[-16,-12],[-9,1],[20,15],[5,-4]],[[2787,9204],[9,-8],[-21,-3],[4,-8],[-24,10],[16,8],[16,1]],[[2294,9191],[5,5],[10,-12],[22,-14],[6,-20],[18,-3],[-17,-6],[-13,-15],[-33,4],[-9,7],[-25,7],[-3,8],[-11,-6],[-11,11],[33,17],[-4,16],[12,-9],[-6,16],[10,11],[18,-11],[-2,-6]],[[3004,9275],[14,-3],[-20,-12],[-5,8],[11,7]],[[2924,7774],[-11,-4],[-19,-25]],[[2894,7745],[-6,-7],[-19,-10],[-11,-18],[-17,9],[-5,-3],[-30,-8],[-17,-15],[-5,-17],[13,-6],[7,4]],[[2804,7674],[-1,-9]],[[2803,7665],[5,-11],[-36,-7],[-9,-13],[-11,6],[-12,-1],[-32,-36],[-12,-2],[-5,4],[0,12],[5,4],[13,-1],[1,10],[-6,4]],[[2704,7634],[5,9],[1,17]],[[2710,7660],[8,4],[12,20],[-1,38],[4,14],[9,16],[0,12],[-12,25],[11,0],[1,-14],[14,-17],[18,-14],[0,17],[4,6],[6,-5],[-9,17],[2,14],[-10,3],[-10,32],[-12,0],[-10,8],[-39,6],[-3,0],[-30,10]],[[2663,7852],[0,10],[-10,-4]],[[2653,7858],[-3,4],[4,24],[-8,1],[3,23],[-11,14],[5,20],[-25,0],[-8,9],[-12,39],[-22,-2],[-24,14],[-2,-22],[-7,-2],[3,15],[-6,-2],[-5,-26],[-5,-3],[3,16],[-10,-5],[-5,-22],[-7,-6]],[[2511,7947],[-9,-1],[-4,7],[-20,0],[-2,7],[-16,-11],[-8,4],[-10,14],[-8,-7],[-3,12],[-14,11],[-22,-6],[-3,7],[-17,3],[-6,5],[-4,31],[-9,3],[0,-22],[-79,0],[-80,0],[-55,0],[-79,0],[-79,0],[-49,0],[-49,0],[-80,0],[-61,0],[-74,0],[-81,0]],[[1590,8004],[-8,0]],[[1582,8004],[-1,0]],[[1581,8004],[-7,20],[2,14],[-8,-11],[-12,8],[-1,15],[-14,0],[-6,8],[3,18],[-3,5],[-9,0],[-20,12],[-13,-2],[6,17],[-14,1],[-10,6],[-4,-6],[-14,11],[-8,12],[9,23],[13,3],[-9,3],[-10,-15],[-4,12],[0,14],[19,25],[0,13],[-12,-16],[-7,-5],[-8,17],[-4,-12],[4,26],[-10,9],[-10,34],[10,-5],[-8,12],[5,21],[-17,-20],[-3,-14],[-21,32],[-4,26],[-6,-3],[1,17],[7,4],[10,33],[-5,0],[-4,28],[2,8]],[[1387,8402],[0,0]],[[1387,8402],[-1,12],[-9,1],[-9,13],[-10,3],[-14,11],[-7,0],[0,11],[-7,4],[2,10],[-29,56],[-20,40],[-12,8],[-4,12],[-21,22],[3,8],[-13,13],[-25,-11],[-2,-20],[-27,-20],[-5,17],[-43,50],[3,16],[-17,-1],[-9,-8],[-12,6],[-16,1],[0,538]],[[1083,9194],[29,-2],[23,-6],[15,-16],[50,-21],[26,2],[-3,18],[20,5],[-1,8],[29,8],[12,-5],[-9,-9],[24,4],[10,14],[16,0],[45,28],[22,-4],[5,11],[9,-11],[-45,-25],[-27,-6],[-3,-10],[-18,-6],[-4,-15],[-9,3],[-4,-11],[24,-3],[-11,15],[29,13],[15,12],[12,-9],[14,21],[35,9],[0,-10],[23,16],[-2,9],[22,7],[-13,3],[0,17],[23,-16],[14,-32],[15,-16],[20,-9],[9,4],[-8,12],[10,9],[8,18],[10,-1],[-2,-19],[12,0],[-13,-19],[24,-2],[14,8],[6,20],[36,-3],[23,-10],[23,-16],[31,-5],[23,-13],[57,-13],[-9,8],[11,4],[38,-17],[18,-18],[-3,-9],[-26,2],[-8,-18],[-9,-3],[47,-13],[40,-1],[3,4],[36,1],[22,14],[13,-16],[18,0],[7,-21],[6,15],[20,-23],[-7,-21],[25,-29],[-12,23],[1,18],[16,-14],[-4,15],[-9,8],[0,15],[-12,12],[7,19],[35,18],[21,5],[1,13],[-24,-7],[2,-8],[-22,-7],[-16,5],[7,-11],[-22,-3],[-2,12],[-10,-3],[14,20],[27,5],[31,14],[12,-3],[9,-11],[4,-20],[19,-6],[4,-12],[20,-1],[9,8],[5,-11],[27,-14],[21,-3],[23,10],[26,-1],[15,-7],[25,5],[22,-12],[12,11],[-16,12],[-10,-9],[-10,10],[3,9],[-11,11],[27,1],[-8,9],[21,-3],[5,-12],[18,3],[-11,-15],[26,12],[-16,-41],[11,-19],[10,8],[11,-20],[4,16],[-15,26],[7,19],[17,-3],[18,14],[18,33],[-10,8],[-5,-13],[-15,0],[11,34],[18,-2],[2,13],[-22,-5],[-9,14],[-7,-7],[-25,10],[-21,22],[1,14],[9,15],[-12,9],[5,30],[14,6],[8,-7],[5,12],[-13,4],[18,9],[2,13],[18,3],[4,-19],[7,7],[32,-24],[4,-30],[37,-41],[-25,2],[-4,-6],[18,-3],[-25,-18],[20,-9],[18,7],[10,-9],[19,-1],[-23,-12],[14,-11],[6,-20],[-2,-17],[9,-12],[11,12],[4,31],[11,15],[9,1],[28,-27],[5,-32],[-16,2],[1,-19],[8,-19],[17,-15],[-1,-14],[15,7],[-3,7],[14,-1],[1,20],[17,23],[7,37],[25,0],[-10,13],[11,7],[-20,11],[-2,10],[6,23],[7,-4],[20,5],[16,-9],[30,-1],[15,-23],[22,-5],[-6,-12],[-12,-5],[20,-5],[1,-10],[-20,-13],[-17,6],[-2,-7],[18,-11],[-5,-13],[26,-30],[-7,-27],[-13,-1],[-17,-24],[-12,-1],[-10,-11],[-25,21],[16,-30],[-4,-2],[-19,14],[4,-14],[-25,7],[-5,17],[-19,-5],[-18,2],[7,-12],[19,-9],[-16,-15],[-3,-13],[-23,-20],[-16,0],[-17,15],[-31,20],[-10,-3],[-30,2],[32,-7],[14,-11],[11,-16],[56,-5],[2,-11],[-16,-20],[-14,-27],[-18,-15],[-24,1],[-12,10],[4,-14],[-10,-17],[-21,-3],[-19,10],[-14,0],[-37,16],[-8,-2],[11,-10],[4,5],[31,-11],[-10,-11],[18,11],[6,-8],[25,-12],[2,-18],[-22,-16],[-19,5],[-10,-3],[15,-16],[-19,5],[-2,-20],[-8,-12],[-18,-12],[11,-4],[-17,-12],[-19,-60],[-8,-31],[3,-40],[-3,-17],[13,-17],[3,4],[29,-1],[2,-15],[10,-37],[9,-24],[-3,-25],[12,2],[30,12],[15,-3],[15,-12],[30,-8],[12,-15],[13,-10],[7,-15],[10,-12],[11,-1],[32,-17],[21,-20],[12,-3],[19,5],[15,-6],[12,1],[18,-9],[3,-14],[-6,-25],[0,-12],[8,-17],[-2,-23],[3,-13],[-5,-19],[20,-28],[6,-21],[10,-5],[15,-30],[1,-10],[19,-11],[1,16],[10,15],[11,-20],[6,11],[-9,15],[13,19],[2,22],[-6,4],[1,19],[-5,0],[-5,42],[-2,32],[-7,2],[-6,25],[-5,1],[39,22],[16,14],[19,23],[12,21],[4,16],[0,44],[-8,34],[-9,20],[-24,23],[-13,16],[-2,16],[22,21],[-1,20],[14,6],[-1,13],[-7,2],[-7,35],[6,6],[-16,2],[10,15],[2,20],[6,5],[-13,13],[-4,34],[18,16],[21,-4],[32,-14],[34,-1],[14,12],[18,-9],[17,-14],[-1,-8],[30,-19],[-9,-10],[14,-16],[23,-5],[11,2],[2,-11],[12,-1],[2,12],[5,-18],[-12,-15],[6,-26],[2,-26],[-6,-6],[3,-9],[11,-2],[-8,-8],[2,-18],[-19,-7],[10,-3],[15,12],[13,1],[11,-6],[5,-24],[7,10],[9,-20],[28,15],[6,21],[10,-9],[5,18],[7,3],[-2,12],[8,8],[-3,22],[8,2],[7,25],[14,2],[0,-12],[9,-6],[-1,-17],[6,0],[5,-15],[12,-13],[-11,-9],[13,3],[1,-13],[7,1],[4,-11],[-9,-11],[16,0],[-2,-19],[15,-12],[7,-20],[-14,-11],[10,2],[6,-6],[-6,-7],[18,-7],[-8,-18],[-7,0],[5,-13],[-9,-4],[11,-10],[-12,-2],[5,-5],[14,1],[-3,-13],[10,-2],[1,-7],[22,-5],[-4,-5],[3,-16],[-4,-16],[20,12],[-2,-10],[10,-5],[10,9],[6,-22],[30,-6],[14,-10],[-9,-11],[-15,-1],[-1,-6],[-33,-12],[21,5],[3,-3],[-30,-15],[-13,-3],[2,-15],[-11,-14],[38,24],[6,15],[19,9],[-5,7],[24,-1],[11,-22],[-12,-11],[6,-9],[9,15],[30,-19],[4,-15],[-6,-7],[5,-9],[-7,-12],[8,-9],[4,-17],[-8,-15],[-20,-17],[-10,-13],[-8,5],[-25,-14],[-8,3],[-7,-12],[-8,-5],[1,-12],[-13,-8],[0,-8],[-11,-6],[-3,-10],[-38,-3],[-10,-5],[-6,7],[-51,4],[-26,-2],[-37,0],[-5,-5],[-8,5],[-19,-25],[-3,-23],[-4,-6],[-19,-3],[-4,-11],[-24,-18],[-10,-28],[-7,-9],[-19,14],[-5,-2],[22,-14],[-5,-20],[-10,-17],[-6,-3],[-6,-17],[-17,-23],[-15,-1],[-21,-24],[-10,-4],[-7,-18],[-12,-11],[-7,-11],[-6,-2],[5,-8],[-15,-12],[-6,-8]],[[1827,9404],[6,-29],[-17,-11],[32,3],[-4,6],[17,15],[49,-17],[-3,-15],[17,6],[18,-8],[8,4],[-26,29],[23,-2],[24,-23],[11,-1],[-1,-11],[13,-38],[6,-4],[21,15],[-15,14],[-9,45],[0,25],[29,-10],[8,7],[26,-17],[18,-30],[4,-24],[19,-29],[-7,-28],[16,-17],[25,-16],[8,1],[35,-23],[16,4],[4,-24],[-13,-6],[-4,13],[-5,-14],[-19,11],[-14,-26],[22,5],[-2,-17],[9,-10],[-19,-8],[-24,-5],[-49,6],[4,12],[-40,5],[-4,18],[-10,-16],[-17,-13],[-28,-6],[-12,-9],[-56,-11],[-59,-3],[-16,19],[2,22],[-18,5],[-26,-3],[-22,4],[-18,9],[0,6],[-18,12],[-4,14],[39,12],[41,5],[53,-7],[9,7],[22,-3],[-18,14],[-19,2],[-18,8],[-58,-6],[-19,4],[-40,-1],[-19,23],[17,8],[41,11],[13,11],[-48,-10],[-21,6],[13,5],[-36,7],[0,11],[16,17],[13,3],[-13,15],[34,25],[50,16],[27,11],[10,-5]],[[2094,9405],[-16,-22],[-8,1],[-18,19],[-26,12],[13,13],[42,1],[16,-10],[-3,-14]],[[2768,9430],[25,-7],[37,2],[19,-6],[32,-26],[-1,-17],[-52,5],[-28,-9],[-22,6],[-4,22],[-21,5],[1,25],[14,0]],[[2595,9436],[41,-3],[4,-8],[-30,-21],[-18,-26],[10,-20],[-3,-28],[9,-14],[19,-16],[14,-5],[-16,-13],[-13,0],[-8,-10],[21,10],[18,-2],[8,17],[-4,14],[-16,-1],[-8,13],[2,21],[16,1],[-18,12],[-3,25],[14,2],[-6,11],[26,-5],[-19,15],[63,24],[37,-1],[11,-27],[14,-5],[0,-14],[10,-10],[-26,-24],[18,11],[-11,-18],[5,-13],[12,5],[16,25],[23,-13],[11,14],[26,14],[67,-15],[7,-14],[-14,-14],[33,4],[0,-15],[-32,-17],[31,12],[19,-1],[-10,-9],[-4,-17],[12,19],[3,-12],[15,-7],[13,23],[32,-12],[8,-11],[-10,-12],[-11,3],[-13,-14],[4,-6],[25,7],[4,9],[15,2],[3,-9],[-13,-17],[30,15],[-3,-16],[15,10],[31,-11],[-10,-16],[-31,-9],[32,3],[-1,-16],[12,9],[6,14],[24,-23],[2,-12],[-26,3],[-15,-11],[19,-8],[19,1],[16,-11],[-2,-8],[-26,2],[-15,8],[-22,3],[22,-8],[13,-10],[-8,-4],[5,-11],[-43,2],[33,-6],[-9,-8],[29,-2],[23,-6],[-10,-6],[8,-11],[37,-12],[12,7],[-2,-12],[18,-4],[13,-28],[-21,-10],[47,10],[-7,-18],[22,-5],[5,9],[18,-10],[10,-16],[-20,-10],[14,-3],[-30,-8],[14,-7],[-7,-17],[-15,-3],[7,-7],[-17,-1],[-7,16],[3,-21],[-9,-4],[9,-9],[-5,-24],[-17,9],[-9,14],[-1,-9],[-18,16],[-1,14],[-9,5],[19,17],[-31,-5],[-2,9],[-22,20],[2,8],[-13,-6],[-6,-11],[-16,12],[7,-15],[16,-12],[-1,-7],[-20,-1],[-9,18],[-2,-18],[12,-16],[14,3],[-2,-10],[10,-2],[10,-39],[1,14],[31,-16],[-3,-16],[17,0],[-10,-10],[11,-14],[11,-5],[-9,-11],[12,-6],[0,-25],[-7,5],[-4,18],[-2,-14],[10,-29],[-17,5],[8,-19],[-7,-5],[-1,13],[-12,11],[-12,-3],[-13,13],[-5,-5],[-20,21],[-6,12],[-1,-16],[-27,24],[-8,-3],[23,-33],[17,-6],[17,-21],[5,0],[16,-26],[7,-2],[-9,-20],[-30,16],[-35,7],[-12,7],[-25,24],[-9,-2],[-38,22],[-5,14],[15,10],[-16,12],[-2,-7],[-15,9],[-13,14],[-15,33],[-20,-9],[4,15],[-14,-6],[-5,-14],[-30,14],[-5,-12],[-24,-12],[-14,2],[-18,11],[-4,27],[5,9],[18,8],[-3,15],[21,-2],[25,-11],[9,-9],[-6,-7],[10,-12],[-2,16],[-16,17],[23,-3],[1,7],[15,-3],[11,12],[19,-5],[-7,19],[-8,4],[-13,18],[41,32],[5,19],[15,6],[-4,22],[-12,18],[-4,23],[-23,5],[3,18],[-19,-6],[-13,16],[2,15],[-9,-11],[-10,2],[-32,-14],[0,20],[28,3],[1,9],[-30,19],[-15,5],[10,9],[-23,0],[0,21],[-20,2],[-10,12],[-21,2],[21,-15],[3,-13],[-29,-7],[-6,8],[-39,3],[15,-14],[-9,-2],[-14,13],[-15,-11],[-25,12],[-15,-3],[-31,3],[-5,4],[-39,2],[-21,21],[1,-11],[-47,11],[-21,25],[9,7],[22,-4],[27,0],[-15,18],[-6,-3],[-47,6],[-5,7],[5,17],[-9,11],[5,24],[25,52],[36,27],[33,8]],[[2227,9438],[17,-9],[57,6],[4,-12],[-12,-6],[8,-7],[-19,-7],[-19,-16],[35,-3],[9,-16],[12,3],[5,-18],[-9,-6],[3,-27],[-25,-13],[-26,2],[9,-8],[-13,-13],[-19,3],[-13,25],[-27,24],[-21,3],[-34,24],[-4,9],[14,16],[11,-4],[16,-18],[24,2],[10,8],[-4,14],[-11,1],[-28,20],[11,7],[16,-9],[3,8],[-13,12],[33,5]],[[2287,9448],[-13,-11],[-23,-4],[-12,7],[34,10],[14,-2]],[[2423,9449],[18,-8],[8,5],[45,-7],[-28,-33],[-12,-21],[-14,-14],[-33,4],[-13,-4],[10,-16],[-18,-22],[-29,-6],[-2,33],[-11,9],[-2,60],[11,2],[1,14],[44,9],[25,-5]],[[1623,9476],[28,-12],[41,-10],[46,4],[58,-41],[-3,-6],[-28,-9],[-76,-37],[-3,-15],[-14,-8],[-13,1],[-3,-32],[-7,-11],[-22,-7],[-9,5],[-11,-12],[-27,-10],[-26,36],[-34,14],[-14,0],[0,10],[14,22],[9,4],[-4,18],[17,2],[-12,9],[14,21],[16,15],[-10,9],[-14,28],[87,12]],[[2118,9518],[-3,-12],[-30,4],[15,17],[18,-9]],[[2378,9537],[25,-20],[2,-24],[-5,-11],[-41,1],[-43,18],[23,30],[25,8],[14,-2]],[[2325,9539],[-16,-17],[-5,9],[21,8]],[[2164,9558],[-14,-12],[-20,-1],[7,9],[27,4]],[[2380,9546],[-17,10],[11,3],[6,-13]],[[2157,9563],[-38,-10],[11,8],[27,2]],[[1732,9567],[5,-3],[-22,-28],[-10,-5],[-22,5],[20,18],[29,13]],[[2805,9567],[0,-15],[-16,-3],[16,18]],[[2149,9575],[-6,-11],[-43,0],[2,8],[47,3]],[[2113,9595],[25,-12],[-38,-5],[-7,16],[20,1]],[[2266,9598],[21,-11],[7,-58],[-18,1],[14,-20],[-11,-7],[-47,-3],[-20,3],[-11,19],[33,20],[-52,-5],[-33,-7],[2,14],[20,10],[-6,28],[18,3],[35,-31],[7,21],[-30,12],[15,9],[23,0],[13,-10],[20,12]],[[2213,9601],[-38,-8],[20,9],[18,-1]],[[2508,9589],[-10,-2],[-15,15],[17,6],[8,-19]],[[1981,9607],[-3,-11],[20,-20],[-11,-11],[22,-7],[-10,-10],[27,5],[12,10],[31,-10],[1,-18],[-15,-30],[-28,-8],[-21,7],[-19,-7],[-5,8],[-25,-11],[-22,-4],[-24,-12],[-34,-10],[-29,0],[-27,17],[52,17],[27,0],[19,13],[-36,-6],[-3,5],[-44,-9],[-5,24],[-10,-23],[-35,-6],[-55,16],[12,13],[30,0],[31,14],[-30,-8],[-32,0],[10,12],[57,5],[-39,0],[-12,12],[23,10],[10,12],[36,1],[7,-17],[28,5],[33,-21],[14,-22],[62,-1],[6,7],[-32,17],[18,11],[-30,11],[18,11],[15,19],[15,0]],[[1840,9610],[3,-10],[-34,3],[31,7]],[[2354,9618],[44,-6],[16,-16],[46,3],[26,-13],[-26,0],[59,-9],[-2,-7],[-52,-1],[30,-6],[28,-18],[2,-16],[14,11],[11,-8],[26,6],[13,-9],[59,10],[21,10],[23,-5],[16,6],[39,-3],[40,-18],[6,-11],[-25,-15],[16,1],[10,-9],[-23,-7],[-1,-11],[-29,0],[-12,-6],[-33,5],[-7,16],[-11,-16],[-84,-5],[-53,2],[2,20],[-21,-15],[-21,-3],[-30,10],[-10,-4],[-19,9],[1,10],[-13,14],[11,38],[-14,8],[-14,21],[-17,-6],[-37,-3],[6,7],[-27,3],[-11,14],[-18,4],[15,6],[-15,7],[13,6],[32,-1]],[[1774,9644],[20,-9],[-25,-7],[-2,-15],[13,-14],[-30,-8],[-9,-17],[-20,9],[5,24],[-19,-6],[-1,-22],[-34,-26],[-19,-3],[-7,19],[-15,-12],[-46,8],[9,15],[31,5],[9,14],[22,7],[15,17],[27,15],[26,1],[18,-6],[32,11]],[[2491,9653],[17,-10],[-11,-14],[-30,11],[0,13],[24,0]],[[2083,9641],[18,-11],[-11,-7],[-23,12],[-14,25],[13,0],[17,-19]],[[2350,9662],[51,0],[13,-7],[-11,-10],[-70,0],[-6,13],[23,4]],[[2196,9660],[-42,-1],[0,9],[21,1],[21,-9]],[[1824,9675],[20,-11],[-15,-6],[-27,14],[22,3]],[[1955,9679],[-35,-12],[21,-5],[-3,-16],[-52,-10],[-31,11],[3,23],[51,10],[46,-1]],[[1933,9718],[31,-15],[-4,-11],[-50,5],[-52,-7],[-5,8],[40,8],[40,12]],[[2308,9715],[18,-10],[40,-9],[-15,-7],[9,-16],[-51,-11],[-22,18],[22,2],[-33,10],[-10,12],[7,18],[35,-7]],[[2120,9752],[22,-6],[10,-21],[25,12],[58,-29],[-8,-16],[22,-13],[0,-11],[-25,-6],[-19,5],[-12,19],[-45,10],[-50,-6],[-10,18],[38,-3],[1,15],[-18,11],[-27,-9],[10,11],[-26,2],[4,16],[50,1]],[[2237,9796],[21,-8],[-5,-17],[-36,22],[20,3]],[[2423,9866],[56,-44],[40,-1],[1,-15],[22,9],[22,-2],[19,-26],[-9,-26],[20,9],[23,-2],[24,-19],[-46,-14],[-69,-50],[-26,25],[15,-26],[-24,10],[0,-11],[-49,4],[-22,17],[34,3],[-45,2],[-28,21],[25,12],[79,3],[-58,1],[0,12],[-36,-11],[-3,7],[-33,-6],[-14,15],[27,4],[-31,3],[-21,14],[-4,14],[53,-6],[21,9],[-36,-4],[-32,9],[14,17],[41,2],[7,8],[-33,3],[17,15],[39,0],[7,9],[-28,8],[41,-2]],[[3064,9969],[92,-13],[-63,-13],[33,0],[64,14],[63,-22],[36,-2],[8,-17],[-85,-27],[-75,-6],[11,-7],[-78,-18],[137,21],[-4,-9],[-119,-45],[-9,-11],[-28,-4],[-23,-32],[-31,-8],[-32,7],[7,-13],[-52,-10],[-85,-2],[20,-4],[80,-3],[-1,-11],[-35,3],[-9,7],[-57,-2],[56,-5],[-45,-3],[55,-3],[-14,-6],[38,-1],[8,-15],[-22,-5],[-30,2],[38,-10],[-14,-14],[-35,-13],[-43,0],[19,-17],[-14,-13],[-47,-6],[-38,9],[-17,14],[5,-14],[18,-8],[57,-7],[-10,-14],[19,-6],[18,11],[7,-22],[-21,-10],[-5,7],[-22,-15],[-42,-11],[8,17],[-36,5],[-6,-7],[-40,2],[-13,10],[-6,-17],[-23,-1],[-61,10],[-4,-7],[-37,4],[-15,10],[-1,17],[33,15],[23,-1],[15,8],[-21,5],[-15,25],[29,7],[27,-6],[22,-23],[54,-3],[27,35],[-39,-27],[-38,10],[15,39],[-21,-13],[-21,5],[-35,-4],[1,19],[24,20],[44,7],[35,-5],[56,1],[-53,4],[-30,6],[11,9],[-23,27],[-37,6],[0,32],[75,-4],[67,-35],[-7,16],[-44,23],[80,9],[54,8],[-44,0],[94,17],[-62,-3],[-2,9],[57,26],[-37,-9],[-40,-28],[-44,-11],[-53,-5],[27,11],[-48,2],[1,-13],[-55,-1],[-26,5],[26,19],[85,11],[-93,-8],[-33,-21],[-58,14],[99,12],[30,12],[-43,-8],[-98,-8],[-15,8],[12,11],[45,14],[-57,-12],[12,13],[-22,4],[-21,-8],[-14,7],[27,11],[83,15],[87,-6],[-56,12],[43,5],[-12,10],[30,1],[59,-23],[-11,12],[82,-19],[-75,24],[18,17],[41,-8],[-28,15],[47,-2],[16,12],[41,-3],[44,-11],[-31,15],[35,4],[54,-3],[10,-8],[24,12],[91,2]],[[5255,7927],[0,0]],[[5255,7927],[0,0]],[[5255,7927],[10,-8]],[[5264,7905],[2,-12]],[[5290,7882],[-2,-13],[-10,-7],[4,-15],[-6,6],[-12,-4],[-2,10],[-5,0],[-1,-14],[-5,-6],[-1,-18],[-7,10],[2,5],[-11,9],[0,13],[-10,-11],[1,-8],[-9,-12],[-8,4],[-13,-4]],[[5195,7827],[-7,15],[0,14]],[[5188,7856],[-5,6],[-8,-4],[-3,-9]],[[5172,7849],[-4,7],[2,10],[8,9],[0,11],[7,4],[12,28],[8,-5],[5,10]],[[5210,7923],[14,-1],[9,5],[4,9],[9,-9],[9,0]],[[3101,2016],[-9,-10],[13,-7],[6,-18],[-2,-7],[-8,14],[-15,-2],[2,19],[-18,-5],[-1,-4],[-14,10],[3,5],[39,9],[4,-4]],[[3116,2021],[14,-1],[7,-9],[-5,-12],[-7,7],[-9,-6],[-8,1],[-2,15],[10,5]],[[3041,2018],[7,-9],[-19,2],[-1,8],[13,-1]],[[3069,2021],[8,-5],[-19,-3],[-1,8],[12,0]],[[3013,2074],[7,-1],[8,-15],[-5,-7],[-8,10],[-4,-3],[-2,16],[4,0]],[[3003,2080],[6,-2],[-5,-24],[-11,16],[0,7],[10,3]],[[3044,2081],[2,-8],[-9,4],[3,-17],[-9,10],[-1,10],[8,1],[-2,10],[6,7],[2,-17]],[[2972,2103],[2,3],[22,-21],[-6,-2],[-14,-18],[4,15],[-9,1],[-7,-7],[1,12],[-8,1],[3,17],[12,-1]],[[2925,2147],[15,-16],[8,0],[21,-22],[-10,3],[-11,14],[-13,-1],[-10,22]],[[3093,2028],[0,-1]],[[3093,2021],[-12,-3],[-17,9],[-13,-4],[-23,10],[-10,10],[-17,-8],[-1,12],[8,-7],[10,12],[7,-9],[6,12],[-2,12],[20,-15],[7,5],[13,-4],[10,-11],[3,8],[-28,18],[-4,19],[24,15],[-1,8],[-25,-6],[-6,8],[1,17],[9,1],[0,8],[12,7],[2,13],[6,4],[5,-11],[16,0]],[[2952,2165],[-2,-17],[-9,0],[-2,7],[13,10]],[[2921,2176],[8,-2],[-6,-7],[-2,9]],[[2938,2182],[8,-11],[-5,-6],[-3,17]],[[2920,2209],[3,-4],[-3,-19],[-5,7],[5,16]],[[2943,2211],[3,-10],[-9,5],[6,5]],[[2925,2234],[1,-8],[-9,1],[8,7]],[[2931,2257],[2,-13],[-14,-1],[-1,9],[9,-2],[4,7]],[[2924,2263],[1,-11],[-8,7],[7,4]],[[2906,2275],[8,0],[-10,-15],[2,15]],[[2931,2276],[3,1],[5,-22],[-5,0],[-6,13],[3,8]],[[2908,2302],[14,-5],[0,-6],[-18,-9],[1,12],[7,-5],[-4,13]],[[2903,2329],[8,-14],[-12,3],[4,11]],[[2914,2359],[5,-2],[0,-12],[-9,10],[4,4]],[[2906,2359],[2,-6],[-9,-5],[7,11]],[[2925,2377],[5,0],[2,-27],[-3,-27],[3,-13],[-9,-10],[-4,6],[1,25],[-4,-21],[-7,11],[-2,25],[13,-3],[2,12],[-7,18],[10,4]],[[2906,2392],[1,-9],[-7,-5],[-2,13],[8,1]],[[2924,2406],[4,-8],[2,-18],[-14,4],[-1,6],[9,16]],[[2913,2413],[9,-4],[-1,-11],[-7,-2],[-5,19],[4,-2]],[[2907,2415],[7,-32],[-6,0],[0,16],[-5,-5],[-3,20],[7,1]],[[2921,2430],[3,-17],[-11,6],[-1,6],[9,5]],[[2945,2427],[4,-6],[-19,2],[7,7],[8,-3]],[[2914,2436],[-3,-8],[-5,6],[8,2]],[[2924,2545],[-1,-11],[-10,7],[11,4]],[[2936,2556],[-5,-9],[0,15],[5,-6]],[[2955,2556],[-6,-2],[3,11],[3,-9]],[[2948,2591],[3,-16],[-7,2],[-6,12],[10,2]],[[2946,2594],[-9,-4],[3,9],[6,-5]],[[2946,2613],[2,-4],[-11,-6],[-4,10],[13,0]],[[2974,2623],[6,-4],[-12,-23],[-4,-1],[-5,16],[7,2],[-1,11],[9,-1]],[[2948,2662],[3,-7],[-11,0],[8,7]],[[2945,2775],[11,1],[5,-30],[-8,-2],[-4,-15],[9,-10],[-6,-5],[6,-13],[-7,-2],[2,-14],[-17,3],[-3,4],[7,21],[-1,36],[4,8],[2,18]],[[3098,2168],[-21,9],[-7,-4],[-3,-12],[-8,-1],[-27,-20],[-3,-19],[-1,-36],[-7,-5],[-24,11],[-10,15],[5,11],[15,1],[10,5],[6,18],[-5,1],[-22,-19],[-5,6],[-7,-20],[1,-10],[-20,22],[9,0],[-1,20],[14,1],[13,9],[14,0],[-2,5],[-21,3],[-19,-19],[1,-11],[-6,-4],[-8,6],[6,5],[-9,6],[9,1],[2,11],[-11,-5],[0,29],[6,-2],[15,16],[9,-1],[0,13],[-7,-6],[-15,13],[10,-15],[-6,-4],[-4,-13],[-8,7],[0,17],[-9,7],[-1,13],[6,2],[1,13],[-6,-6],[-7,4],[-1,17],[11,-2],[-1,9],[-6,-4],[-5,21],[-13,14],[9,8],[1,26],[3,6],[-5,9],[0,44],[10,11],[-11,13],[-3,13],[21,-4],[6,-13],[5,5],[-10,27],[-1,-6],[-21,1],[-2,12],[9,-2],[-7,11],[6,12],[5,0],[6,11],[-6,2],[-3,12],[-11,0],[-1,-5],[-11,14],[4,11],[-13,-16],[2,-11],[-6,-3],[-4,19],[13,13],[3,10],[12,11],[0,11],[14,3],[6,-14],[-1,-8],[7,-4],[-7,-18],[4,-3],[5,16],[4,49],[8,10],[-3,20],[4,-1],[14,13],[1,15],[-14,13],[4,39],[-1,17],[9,12],[-3,14],[0,18],[5,2],[-3,15],[5,3],[4,-15],[0,27],[-8,-3],[-4,6],[8,12],[-10,13],[-3,-13],[-12,-6],[-7,4],[2,7],[-5,11],[-2,27],[5,20],[1,37],[9,7],[4,19],[1,19],[-9,38],[2,30],[-6,26],[1,22],[9,-3],[5,16],[0,18],[4,-4],[5,42],[6,9],[-1,15],[6,18],[5,6],[1,15],[4,12],[1,31],[6,21],[4,4],[1,12],[-4,23],[6,5],[4,37],[-4,9],[1,25],[-5,52],[0,24],[2,12],[7,5],[2,44],[-5,10],[-1,19],[6,11],[4,20],[0,18],[3,22],[4,2],[-1,30],[4,5],[2,15],[2,41],[-2,11],[2,19],[6,8],[-1,24],[-2,5],[1,62],[3,17],[-6,0],[1,25],[6,1],[4,33],[0,23],[2,25],[2,3],[0,24],[-3,10],[0,37],[2,6],[-1,31],[-5,51],[0,21],[-2,8]],[[3044,4127],[12,4],[4,9],[0,26],[9,9]],[[8073,6343],[8,-9],[1,-20],[-9,-13],[-7,-43],[-4,0],[-5,-15],[-9,-1],[-2,-11],[-14,6],[-14,12],[-1,42],[10,19],[8,9],[-1,10],[7,-3],[5,9],[8,-6],[10,10],[8,-9],[1,13]],[[8066,6398],[4,-5],[-8,-2],[4,7]],[[8393,6916],[2,-7],[-8,4],[6,3]],[[8386,6994],[-10,4],[-11,15],[6,2],[9,-11],[8,-5],[-2,-5]],[[8689,7778],[-2,10],[-10,6],[-11,-7]],[[8666,7787],[-4,7],[-12,-22],[-11,-4],[0,-9],[6,-40],[-2,-28],[3,-6],[-5,-31],[-19,-10],[3,-13]],[[8625,7631],[-8,13],[0,9],[-9,7],[-4,-13],[-1,-19],[-14,-5],[-1,-10],[-7,-10],[-26,-3],[8,-20],[-3,-13],[-30,7],[-2,12],[-9,1],[-12,-34],[-9,-16],[-6,0],[-8,-10],[-16,-14],[-14,-21]],[[8454,7492],[-5,-13],[-6,-5],[-9,3],[-11,-3],[-28,-28],[-3,-9],[-8,-11],[-3,5],[-7,-13],[-10,-4],[0,12],[15,8],[-10,29],[6,0],[-2,11],[12,12],[11,27],[-3,13],[-22,14],[-12,-7],[0,-7],[-10,-13],[-4,-16],[-14,-7],[-17,-19],[-1,-19],[-10,-15],[-10,0],[-7,-8],[-11,11],[-6,-6],[-5,-28],[5,-14],[10,-13],[14,-4],[7,5],[12,-25],[-7,-1],[-2,-21],[10,-12],[13,1],[2,11],[10,10],[3,9],[12,10],[11,-8],[0,-6],[9,-7],[34,-4],[-7,-15],[3,-13],[-9,-5],[-5,9],[-28,-23],[-6,3],[4,-11],[-7,-1],[0,-17],[-11,-5],[2,8],[-8,2],[2,-13],[-7,-22],[-8,-4],[-7,-26],[-5,-3],[1,-16],[12,-14],[17,-12],[6,-38],[11,-36],[-1,-21],[15,-16],[0,-13],[11,-10],[4,-16],[-8,1],[-9,9],[-10,-3],[-4,11],[-11,2],[-5,-7],[-7,4],[-3,16],[-6,2],[3,-11],[11,-13],[16,4],[2,-9],[7,-5],[8,-15],[9,-9],[6,-12],[2,-13],[-9,-2],[-12,-10],[-8,-11],[-5,-15],[6,-2],[6,9],[6,-1],[8,-19],[13,-6],[-13,-19],[7,5],[0,-22],[-4,-6],[-5,3],[1,-27],[-5,-3],[5,-23],[-5,2],[-4,-10],[-3,12],[-9,-28],[-8,-17],[-3,-23],[-6,-4],[-1,-11],[-9,-7],[-1,-8],[-5,9],[-4,-6],[5,-6],[2,-11],[-5,4],[2,-10],[-5,-15],[5,-3],[-3,-18],[-4,0],[6,-17],[-11,10],[-4,-8],[5,-14],[-9,1],[-3,-9],[3,-10],[-10,0],[4,-9],[-3,-8],[-6,3],[-5,-5],[-2,8],[-5,-13],[3,-11],[-5,-4],[-1,-10],[-6,-1],[-7,-13],[-4,1],[-5,-14],[-6,5],[0,-9],[-10,-21],[-1,-10],[-6,1],[-13,-12],[-7,6],[0,-11],[-14,8],[-5,-13],[-6,11],[-5,-7],[4,-8],[-4,-3],[-2,9],[-5,-3]],[[8172,6482],[-4,-2]],[[8168,6480],[-7,-3],[-2,17],[-3,-1],[-2,15],[-6,-8],[6,-17],[0,-15],[-2,-9],[-10,20],[7,-19],[-10,-14],[-5,1],[-13,-12],[-10,3],[-11,-15],[-25,-8],[-3,-10],[-6,-1],[-7,-13],[5,-7],[-1,-13],[7,-9],[-4,-10],[-13,-2],[-1,10],[-7,25],[3,28],[5,0],[0,8],[-8,1],[-2,14],[-1,-16],[-12,1],[0,6],[-9,2],[-9,13],[2,-16],[-6,7],[0,-8],[-9,-5]],[[7999,6420],[-7,10],[-9,-4],[-12,14],[1,6],[-10,2],[0,14],[-4,7],[0,14],[5,0],[0,16],[-14,0],[-18,12],[-7,14],[-14,-13],[1,-9],[-14,-14],[-3,8],[-6,-8],[0,-9],[-11,16],[-4,-12],[-5,11],[-7,-21],[-5,10],[-13,9],[-4,-20],[-3,0]],[[7836,6473],[-13,3],[-4,-12],[1,-10],[5,-15],[0,-39],[-5,6],[-9,-2],[-2,20]],[[7809,6424],[-2,12],[-7,-6],[-3,-8],[-8,-4],[-2,5],[-5,-6],[-2,13],[-4,3],[-1,19],[-14,5],[-6,-1],[0,16],[4,5],[-1,14],[6,11],[-5,13],[-8,-2],[-7,5],[2,6],[-6,40],[6,9],[-9,-3],[-13,1],[-14,-14],[-2,5],[5,10],[-1,18],[-4,0],[0,17],[7,8],[-2,12],[4,11],[2,-3],[6,10],[0,13],[6,-3],[3,13],[7,6],[-4,6],[5,33],[0,29],[-2,31],[-7,4],[-1,-9],[-7,20],[0,16],[-8,13],[-9,9],[-5,-18]],[[7703,6808],[-7,9],[-4,-3],[-7,15],[-7,1],[5,6],[-4,17],[-9,21],[-12,-9],[-6,0],[-6,-9],[-9,4],[-9,11],[-8,-6],[-3,-16],[-9,-6],[-6,-8],[-7,-1],[-9,-16],[-12,-14],[0,-11],[-9,-9],[-12,-5],[-8,2]],[[7468,6756],[-4,12],[3,18],[-1,10],[-6,5],[-13,-14]],[[7447,6787],[-8,2],[-4,-5],[-15,1],[-3,7],[-14,9],[-4,-11],[-9,10],[-3,-11],[-2,13],[-6,7],[-16,3],[2,17],[-4,3],[-7,-6],[-9,11],[-7,12],[-2,16],[-5,5],[-13,-7],[-9,26],[-9,2],[-9,15],[-10,8],[-1,15],[-14,5],[-11,-23],[-7,11]],[[7248,6922],[-11,15],[-10,6],[1,9],[-14,15],[-4,-3],[-9,13],[-5,16],[-9,-8],[-2,12],[4,5],[-4,7],[2,15],[-9,14],[-2,20],[9,4],[6,-16],[10,8],[7,13],[-5,14],[0,12],[-7,3],[-8,16],[-3,33],[8,8],[0,7],[-10,12],[-9,5],[-8,41],[1,9],[-7,0]],[[7160,7227],[-18,1],[-11,8]],[[7131,7236],[-5,6],[0,8],[-13,-4],[-4,10],[1,27],[-7,15],[-9,1],[0,7],[-8,7],[-7,-2],[-9,4]],[[7080,7327],[7,10],[-8,13],[3,7],[-5,17],[-1,26],[-12,9],[-6,0],[-2,-9],[-6,3],[-4,16],[4,9],[-6,12],[1,14]],[[7045,7454],[8,8],[-3,9],[4,18],[11,3],[10,14],[3,10],[11,-4],[8,11],[4,-20],[18,4],[9,13],[0,10],[5,15],[18,-2],[11,5],[5,-2],[8,19],[26,23],[27,15],[-1,8]],[[7227,7611],[1,3],[-3,23],[3,11],[9,6],[-7,5],[13,6],[-4,13],[2,7],[-11,37],[0,32],[5,5],[-18,8],[7,9],[21,5],[23,13],[3,-9],[13,3],[7,-7],[4,17],[-11,7],[7,21],[9,47],[5,14],[0,14],[24,-13],[21,1],[4,-10],[13,13],[7,0],[5,9],[-4,41],[4,25],[25,10],[4,10],[0,17],[4,6],[12,-1]],[[7424,8009],[15,5]],[[7439,8014],[-4,-17],[9,-8],[-2,-9],[16,-10],[2,-12],[14,-12],[11,1],[7,-11],[9,3],[11,-21],[0,-11],[15,-34],[1,-11],[-5,-14],[3,-17],[-7,-13],[-2,-16],[6,-17],[6,2],[16,-9],[23,-4],[11,2],[23,-8],[6,-13],[7,0],[14,-19],[9,-5],[11,2],[-2,-16],[6,-3],[9,-41],[12,-19],[2,-11],[23,4],[63,-13],[14,6],[49,-12],[7,-15],[29,-11],[18,-15],[23,7],[0,-12],[13,-5],[6,10],[44,30],[36,10],[20,-3],[20,4],[25,19],[15,29],[18,12],[10,13],[-9,18],[-7,23],[11,33],[5,4],[13,-1],[5,-10],[14,-6],[13,-3],[16,16],[14,24],[6,-3],[23,5],[15,18],[-1,7],[11,24],[6,3],[15,-1],[1,13],[9,-4],[16,12],[12,-3],[3,5],[14,-8],[11,-1],[5,6],[-4,23],[-18,25],[0,6],[-10,7],[-6,11],[-10,5],[-12,-3]],[[8270,7946],[-7,-13]],[[8263,7933],[-5,-6],[-13,13],[-17,-1],[-11,-9],[-7,10],[-2,13],[8,8],[-1,12],[25,79]],[[8240,8052],[16,-12],[14,-6],[12,9],[13,17],[12,1],[7,6],[1,14],[-4,6],[8,27],[7,10],[1,11],[8,23],[16,14],[3,17],[-4,7],[3,13],[-8,5],[-12,-1],[22,37],[12,1],[26,11],[19,0],[11,6],[28,-11],[4,-9],[20,-1],[17,-13],[23,-49],[-3,-10],[6,-23],[6,-9],[1,-20],[10,-19],[1,-23],[7,-6],[-2,-23],[5,-9],[11,-7],[20,2],[7,-14],[13,-3],[9,-7],[11,-17],[12,0],[-4,-13],[6,-8],[2,-13],[-4,-13],[7,-20],[15,2],[13,-5],[17,3],[3,9],[12,14],[12,-1],[6,9],[18,8],[9,-7],[-4,-13],[6,-17],[-8,-19],[-9,-6],[-4,-38],[-5,-13],[2,-9],[-11,-22],[-1,-15],[-8,-8],[-2,-21],[-8,-3]],[[4913,5477],[0,-1]],[[4913,5476],[0,1]],[[4925,5729],[-2,-26],[3,-1],[4,-47],[-8,-15],[-6,-39],[-7,-28],[2,-31],[2,-4],[4,-31],[5,-1],[2,-13],[-3,-14]],[[4921,5479],[-10,3],[-3,-4],[-15,4],[-5,4],[-18,3],[-3,-9],[16,7],[6,-3],[-22,-5],[-22,-3],[-38,-25],[-5,-8],[-12,-10]],[[4790,5433],[-1,2],[0,41],[5,10],[-1,33],[-10,7],[-1,13],[-6,7],[-10,3],[-6,8],[8,15],[1,23],[-5,23]],[[4764,5618],[7,-1],[3,10],[3,27],[-7,4],[2,14],[7,0],[5,-7],[2,15],[-8,9],[1,12],[5,5],[-5,6],[2,13],[-5,-2],[-3,7],[1,32],[4,6]],[[4778,5768],[4,2],[5,14],[5,1],[3,-12],[9,-6],[2,12],[7,-1],[1,18],[8,-5],[-1,8],[5,2],[2,-15],[-2,-13],[6,-3],[3,9],[11,4]],[[5402,5930],[2,-13],[7,-8],[3,-17],[-1,-10],[5,-3],[2,-34],[-2,-3],[-1,-26],[3,-28],[9,-22],[6,-8],[-7,-3],[-9,3],[-10,-4],[-15,3],[-7,-19],[11,-27],[17,-29],[3,-1],[8,-30],[2,-17],[4,-2],[-3,-16]],[[5449,5312],[-3,-5],[2,-25],[-18,15],[-7,3],[-10,-2],[-8,12],[-9,-3],[-27,0]],[[5369,5307],[-6,5],[-48,3],[-1,-7]],[[5314,5308],[-38,0],[-4,10]],[[5272,5318],[0,12],[4,27],[-1,12],[-8,18],[-2,13],[6,11],[-2,8],[-10,-11],[-10,10],[-2,29],[-11,-4],[2,17]],[[5238,5460],[6,19],[1,41],[4,2],[10,24],[10,13],[2,14],[10,13],[3,-8],[7,1],[1,9],[8,-5],[7,-14],[1,-16],[7,1],[6,15],[-1,8],[10,15],[-2,17],[5,9],[0,9],[5,14],[1,25],[16,23],[2,34],[9,9],[2,17],[-1,14],[6,5],[3,30],[12,34],[6,-1],[11,14],[1,37],[-3,10],[-10,4],[-3,40]],[[5390,5936],[7,0]],[[5397,5936],[-1,-11],[6,5]],[[5398,5936],[1,0]],[[5399,5936],[-1,0]],[[5944,7202],[0,0]],[[5944,7202],[-3,0]],[[5941,7202],[0,0]],[[5941,7202],[3,0]],[[5905,7208],[0,1]],[[5905,7209],[1,0]],[[5906,7209],[1,0]],[[5907,7209],[-2,-1]],[[5935,7200],[1,-2]],[[5936,7198],[-7,-1],[-1,11],[-17,-6],[-3,7]],[[5908,7209],[0,0]],[[5908,7209],[3,-5],[17,6],[1,-10],[6,0]],[[5807,5072],[0,-19],[-2,6],[2,13]],[[5762,5475],[2,-10],[7,-8],[0,-10],[16,-18],[12,12],[6,1],[5,-9],[7,12],[0,6],[10,-5],[0,-12],[4,-3],[7,-21],[10,-6],[0,-14],[6,4],[2,-10]],[[5856,5384],[2,-7],[-5,-19],[3,-15],[-4,-19],[8,-3],[8,-13]],[[5868,5308],[-10,-15],[-12,-24],[0,-15]],[[5846,5254],[-7,-6],[-2,-13],[-6,-5],[0,-21],[-3,-7],[-4,-25]],[[5824,5177],[-7,-9],[-3,-12],[1,-13],[8,12]],[[5823,5155],[-1,-6],[-1,-46]],[[5821,5103],[-7,-8],[-3,-9]],[[5811,5086],[-3,1],[-7,-28],[3,-9],[-3,-10]],[[5801,5040],[4,-14]],[[5811,4991],[-2,-3],[-1,-49],[4,11],[-1,-27],[-3,-5],[0,-30],[7,-28],[-1,-13],[-4,-5],[10,-49],[6,-14],[6,-6],[6,-13],[2,-29],[7,-10],[2,-12]],[[5849,4709],[-28,-8],[-19,-7]],[[5802,4694],[-16,-35],[0,-23],[4,-2],[2,9]],[[5792,4643],[4,-21],[-1,-21],[1,-34],[-5,-16],[0,-10],[-4,-17],[4,-25],[9,-11],[6,-17],[14,-4],[-2,11],[9,5],[0,-75],[-5,1],[-1,12],[-10,-10],[-7,1],[-2,14],[-6,17],[-4,-2],[-1,13],[-5,13],[-16,7],[-6,6],[-3,16],[-5,7],[-1,12],[-5,0],[-1,-16],[-7,-8],[-10,6],[-11,0],[-4,7],[-14,8],[0,26],[-17,-7],[-8,-8],[-4,5],[3,14],[-8,6],[-4,9]],[[5366,4846],[-9,2],[-4,-10],[-7,-3],[-7,16]],[[5363,4916],[8,-9],[0,-6],[8,11],[1,14],[7,-2],[12,12],[2,-8],[-3,-7],[1,-20],[9,0],[4,6],[10,27],[8,8],[1,8],[9,4],[10,35],[-1,29],[1,13],[-1,26],[12,25],[0,7],[11,30],[8,5],[12,27],[0,21],[3,25],[3,7],[-2,14],[1,28],[5,27],[-1,34],[16,57],[0,19]],[[5333,4894],[-5,13],[0,10],[-15,33],[-5,6]],[[5308,4956],[2,12],[8,13],[5,-10],[5,-2],[4,22],[-8,9],[3,10],[-7,12],[2,7],[-1,20],[4,-5],[6,5],[4,-5],[11,5],[-1,24],[5,5],[5,-5],[5,-26],[11,-4],[9,13],[1,6],[9,-22],[5,9],[0,20],[5,5],[1,41],[-2,10],[3,23],[-9,9],[-3,11],[-5,0],[0,27],[5,19],[5,0],[6,16],[-5,18],[0,11],[-14,6],[-7,-9],[-7,-3],[-4,22],[2,23],[3,9]],[[3018,5865],[-19,-13],[-7,-27],[-6,-1],[-7,-26],[-5,-13],[-2,-37],[-11,-37],[11,7],[1,-11],[4,2],[4,-28],[8,-16],[1,-19],[-4,-7],[1,-28],[7,-3],[3,-18],[7,-5],[5,4],[18,-4],[9,7],[10,-10],[7,-1],[18,-46],[5,-2],[7,8],[11,-5],[29,8],[4,-18],[-6,-10],[0,-17],[-5,-6],[0,-66],[5,-28],[4,-2],[5,-17],[-15,-35],[7,-6],[11,-18],[0,-12],[4,-17],[5,-39]],[[3056,4939],[-8,22],[-6,-2],[-7,6],[18,59],[0,7],[-26,25],[-10,-10],[-2,7],[-8,7],[-6,-11],[-10,-7],[-8,6],[-9,-5],[-7,8],[2,12],[-2,17],[-10,6],[1,12],[-4,13],[-7,3],[-5,10],[-5,2],[-4,26],[-6,11],[-5,2],[-8,14],[-5,-2]],[[2909,5177],[-11,11],[-3,-1],[-7,15],[-8,7],[-3,-12],[-9,-1],[-19,10],[-1,14],[-7,11],[-11,5],[-13,16],[-7,13]],[[2810,5265],[-5,10],[5,13],[7,-2],[-3,14],[0,13],[7,19],[10,-5],[0,9],[9,-4],[1,22],[12,29],[0,6],[7,20],[-6,-5],[-4,5],[-1,15],[3,16],[-2,57],[-5,2],[9,12],[0,7],[-7,20],[3,5],[1,19],[-5,6],[-3,17],[-7,14]],[[2836,5599],[2,14],[13,12],[1,13],[4,2],[-6,28],[-3,3],[3,11]],[[2850,5682],[12,-31],[1,-12],[5,0],[-1,29],[-4,10],[7,5],[10,15],[6,23],[12,4],[2,15],[-3,1],[3,13],[-1,20],[3,2],[0,16],[8,14],[11,14],[9,-5],[-3,-8],[7,-4],[4,18],[1,14],[10,-3],[15,1],[6,12],[10,13],[13,10],[3,11],[-1,9],[6,1],[12,10],[8,-6],[3,-18],[-6,-10]],[[6235,4487],[1,-17],[-4,8],[3,9]],[[6207,4496],[-7,9],[1,21],[4,1],[-1,-12],[3,-19]],[[4324,6037],[-5,9],[5,2],[0,-11]],[[4340,6065],[8,-16],[-5,-7],[-4,7],[1,16]],[[4365,6116],[5,-8],[-8,-3],[3,11]],[[4303,6173],[3,-6],[-7,-10],[-3,11],[7,5]],[[2676,5812],[7,-32],[16,-36],[7,-10]],[[2706,5734],[-3,-5],[-5,7],[-2,-8],[0,-23],[6,-10],[-5,-4],[2,-19],[-6,-11],[4,-16]],[[2697,5645],[-2,11],[-5,9],[0,15],[-9,5],[5,-10],[0,-10],[-12,12],[3,27],[-8,14],[-10,11],[-11,8],[1,10],[-12,21],[-4,-7],[9,-12],[-6,-16],[-6,15],[-10,5],[-5,19],[1,16],[3,2],[1,15],[-8,5],[7,2],[0,9]],[[2619,5821],[2,7],[21,-15],[5,7],[13,-10],[0,-5],[8,-5],[8,5],[0,7]],[[2698,6446],[5,-3],[4,-17],[-10,-9],[-8,8],[7,1],[-4,15],[6,5]],[[2836,6454],[6,-1],[-1,-7],[-5,8]],[[2823,6481],[-2,-7],[-7,5],[9,2]],[[2914,6329],[-1,4]],[[2913,6333],[-1,0]],[[2912,6333],[-2,-4]],[[2910,6329],[-10,-1],[-15,6],[-21,-3],[-2,-3],[-21,-3],[6,17],[9,10],[3,9],[-8,15],[-19,-1],[-13,20],[-1,18],[-6,16],[-14,-5],[-10,8],[-8,0],[-10,11],[-5,10],[-13,-1],[-13,8],[-13,4],[-7,11],[12,1],[1,7],[-7,6],[-25,1],[-10,-21],[-7,-9],[-15,0],[-2,-15],[-3,2],[-11,-11],[1,10],[-11,-3],[10,9],[5,0],[-2,15],[3,11],[12,15],[14,8],[3,6],[19,3],[9,8],[27,-2],[3,-6],[15,2],[6,-8],[10,1],[11,-12],[9,-20],[15,-1],[13,-13],[5,-1],[7,-16],[12,-5],[-3,9],[12,-16],[5,-11],[23,-17],[0,-5],[12,2],[3,-6],[-5,-10],[2,-9],[20,1],[7,-5],[9,-19],[5,2],[2,-9],[-3,-6],[-13,0],[-10,-9]],[[3089,5876],[-11,16],[3,2],[8,-18]],[[5905,7209],[1,0]],[[5941,7202],[-6,-2]],[[5908,7209],[6,1],[0,11],[14,-4],[17,8],[15,13],[0,-3],[-19,-22],[3,-11]],[[5938,7197],[0,0]],[[5938,7197],[0,0]],[[5937,7198],[0,0]],[[5944,7202],[-3,-6]],[[5941,7196],[0,6]],[[5936,7198],[0,-1]],[[5936,7197],[-3,-9],[-16,-11]],[[5917,7177],[-8,1]],[[5909,7178],[-7,3],[-5,11],[1,9],[7,7]],[[5907,7209],[1,0]],[[5411,8112],[4,8],[9,-9],[14,-7],[6,-6],[12,-3],[-7,-8],[13,-20],[10,7],[-4,12],[9,-2],[19,-24],[4,4],[7,-7],[8,0],[8,-23]],[[5523,8034],[-8,-1],[-12,-15],[-1,-11],[-15,-14],[-9,4],[-8,-15]],[[5383,7990],[-10,11],[-13,20],[-10,9],[-7,17],[3,13],[-5,11],[6,13],[26,11],[3,8],[9,1],[13,9],[-2,8],[15,-9]],[[5255,7927],[0,0]],[[5394,8289],[0,-4]],[[5394,8285],[0,4]],[[5371,8330],[6,-3],[4,-14],[-11,-5],[-6,4],[1,12],[6,6]],[[5262,8339],[4,3],[12,-11],[5,-15],[13,-5],[11,2],[1,-9],[-10,-8],[12,-2],[8,-7],[5,14],[11,2],[14,11],[13,4],[3,-10],[10,-8],[6,2],[3,-17],[13,-10]],[[5396,8275],[3,-23],[-5,-27],[12,-14],[-3,-9],[7,-21],[-4,-20],[2,-11],[7,-4],[2,-14],[-6,-20]],[[5269,7921],[-15,12],[1,-6]],[[5210,7923],[-2,4],[8,55],[9,11],[2,10],[-16,4],[-4,7],[-18,-1],[-13,17]],[[5176,8030],[4,20],[-6,3],[-5,16]],[[5166,8104],[-3,14],[9,22],[0,9],[-8,12],[5,10],[8,-4],[10,5],[8,28],[-10,5],[2,9],[8,1],[4,18],[0,16]],[[5199,8249],[-3,19],[6,6],[21,2],[6,-18],[0,12],[8,-4],[2,20],[9,1],[-8,29],[10,6],[-9,13],[-1,9]],[[5240,8344],[22,-5]],[[6201,5844],[-9,-28]],[[6192,5816],[-6,4],[-22,-7],[-4,8]],[[6160,5821],[0,12]],[[6160,5833],[0,24],[10,22],[7,22]],[[6177,5901],[8,-6],[3,9],[9,11]],[[6197,5915],[6,-14],[2,-25],[-10,-14],[-7,-3],[-3,-11],[13,3],[3,-7]],[[3294,6081],[4,-5],[0,-15],[-3,-3],[-3,16],[2,7]],[[5312,8347],[17,-10],[-1,-7],[-10,-1],[-8,6],[2,12]],[[5348,8350],[-12,-5],[4,7],[8,-2]],[[5272,8355],[7,-12],[-8,2],[1,10]],[[5413,8363],[6,-13],[-9,3],[3,10]],[[5287,8385],[7,0],[6,-15],[-2,-16],[-19,1],[-11,24],[19,6]],[[5342,8415],[7,-3],[0,-22],[-11,-12],[8,-11],[-13,-8],[5,-3],[-8,-10],[8,-5],[-9,-11],[-4,32],[-13,0],[-2,28],[13,12],[5,-13],[14,26]],[[5247,8463],[-2,-13],[-9,0],[11,13]],[[5240,8344],[-2,32],[-14,7],[3,14],[6,5],[-4,11],[-4,-6],[0,34],[16,1],[7,12],[9,-10],[-3,15],[18,12],[-32,-9],[-5,-13],[-7,3],[11,20],[17,1],[9,6],[10,19],[20,10],[-6,-10],[3,-20],[-7,-15],[2,-23],[12,-1],[5,-6],[-6,-16],[-11,2],[-4,-20],[-20,-21],[6,-16],[-7,-5],[8,-8],[-8,-10]],[[3006,6222],[2,16],[-6,10]],[[3002,6248],[0,0]],[[3002,6248],[-1,2]],[[3001,6250],[-1,4]],[[3000,6254],[8,11],[-2,9],[4,12],[-4,32]],[[3006,6318],[3,11],[14,-4],[4,6],[11,-10],[5,1],[4,-8],[11,0],[4,-20],[6,2],[11,-3],[-2,-5],[-11,2],[0,-8],[24,-7],[12,-20],[-9,-23],[-8,11],[-17,0],[-9,4],[-8,-14],[-9,-2],[-3,12],[-9,-8],[-5,2],[1,-9],[-10,-31],[-6,8],[-4,17]],[[5238,7310],[2,-6],[-7,-4],[1,-6],[-8,-8],[6,-5],[-4,-35],[3,-10],[-1,-19],[4,-5],[-4,-8],[-3,-30],[-11,-11],[-1,-9],[-7,-8],[-1,-14],[7,-25],[0,-11],[10,-7],[6,-15],[2,-20],[19,-24],[7,-62],[6,-44]],[[5264,6924],[-7,-7],[11,-29],[5,-37],[-2,-44],[4,-19],[-5,-34],[2,-21],[3,-4],[-2,-20],[-10,-9],[-3,-10],[18,-52],[0,-25],[5,-5],[1,-10],[6,-6],[7,5],[21,-13],[3,-4],[11,-43]],[[5332,6537],[-28,-35],[-99,-122],[-24,-40],[-17,-32],[-8,-8],[-39,-15]],[[5117,6285],[-26,-9],[-5,7],[4,15],[-2,11],[1,14],[-8,8],[-12,4],[-9,16],[-2,-4],[-9,5],[-4,14],[-14,12],[1,19],[-14,18],[-28,40],[-8,9],[-36,49],[-21,30],[-8,9],[-51,70]],[[4866,6622],[-64,78],[-16,21],[-28,33]],[[4758,6754],[0,22]],[[4758,6776],[0,59],[12,18],[18,22],[7,0],[8,8],[10,0],[27,5],[6,-5],[7,21],[11,17],[11,11],[6,11],[17,8],[3,14],[-8,21],[4,4],[1,15],[23,9],[-3,14],[12,5],[35,-3],[0,17],[6,7],[-11,14],[-4,11],[2,8],[-5,10],[2,18],[-4,8],[2,24],[-4,15],[3,6],[-4,7],[2,9],[-12,19]],[[4938,7203],[8,0],[18,16],[2,12],[11,12],[8,0],[1,7],[6,-5],[8,2],[5,15],[24,22],[25,4],[10,4],[8,-2],[11,13],[3,-4],[12,2],[9,8],[21,-1],[13,-7],[8,-8],[10,11],[14,5],[6,10],[12,-12],[8,2],[0,9],[9,-1],[7,-10],[13,4],[10,-1]],[[2774,5010],[-4,-1],[0,11],[5,9],[5,-3],[-6,-16]],[[2519,5143],[-4,-14],[-5,0],[9,14]],[[2493,5154],[0,-14],[-8,2],[1,11],[7,1]],[[2459,5168],[2,-12],[-7,2],[-1,8],[6,2]],[[2478,5174],[6,-6],[-5,-6],[-4,5],[3,7]],[[2463,5192],[4,-22],[6,-11],[-1,-9],[6,-10],[-4,-13],[-13,-3],[-3,10],[12,14],[-9,21],[-3,18],[5,5]],[[2909,5177],[-10,0],[6,-20],[4,-4],[-1,-13],[2,-13],[-5,0],[-4,-27],[-15,-40],[-16,-25],[-33,-24],[-9,-21],[1,-7],[-6,5],[-1,-22],[-8,-31],[-1,-17],[-4,-3],[-1,-12],[-4,-7],[-8,2],[-5,16],[0,9],[-8,2],[-9,11],[-8,-11],[-2,5],[4,10],[-5,9],[10,10],[-2,22],[-3,6]],[[2768,4987],[11,12],[6,40],[-3,5],[-4,-11],[-1,15],[-7,-22],[-11,18],[-7,5],[5,13],[-1,22],[-2,5],[2,15],[-4,19],[10,7],[3,21],[-1,11],[12,24],[1,31],[-2,13],[12,11],[19,9],[4,15]],[[5949,6986],[2,-6]],[[5951,6980],[17,-99]],[[5968,6881],[-4,-12],[-3,-33],[-5,-16],[0,-26],[-5,-14],[-13,15],[-6,17],[-10,16],[-1,26],[-8,12],[-5,14],[-2,23],[-4,-1],[-4,-16],[6,-10],[3,-16],[0,-14],[4,-6],[14,-42],[5,-5],[5,-36],[4,-4],[5,-25],[0,-11],[11,-43],[15,-51],[8,-35],[15,-29],[-8,3],[2,-41],[3,-16],[6,-13],[10,-6],[2,-8],[16,-29]],[[6024,6449],[-78,0],[-73,0],[0,14],[-6,-14],[-57,0],[-71,0],[-46,0]],[[5693,6449],[0,421],[-3,10],[-1,24],[-4,13],[6,20],[3,17],[-4,22],[0,14],[8,16]],[[5698,7006],[1,-7],[7,-2],[12,7],[14,-6],[27,-8],[1,-7],[8,-5],[5,4],[4,-9],[21,-6],[8,-9],[13,7],[16,22],[4,-4],[4,14],[3,-3],[11,6],[-9,-10],[9,2],[7,11],[13,-9],[8,5],[-3,-15],[7,-4],[1,-7],[6,2],[0,9],[6,-10],[7,-4],[31,7],[9,9]],[[6111,6097],[3,-11],[8,-6],[-12,2],[-2,8],[3,7]],[[6177,5901],[-6,15],[-8,12],[-5,18],[-14,19],[-7,23],[-5,10],[-10,7],[-5,9],[-9,-1],[-10,9],[-10,-6],[-5,10],[-3,-8],[-13,-5],[-6,16],[-3,-1],[-6,12],[-9,-45],[-6,19],[-5,1],[-2,-8],[-10,1],[-6,-4]],[[6014,6004],[-3,51],[6,17],[1,18],[3,5],[5,24],[-2,23],[3,6],[-1,17],[12,-2],[3,17],[21,13],[5,18],[5,9]],[[6072,6220],[9,-35],[0,-9],[6,-31],[1,-24],[3,-23],[4,-4],[0,-17],[5,-2],[2,-22],[4,-1],[-2,18],[3,4],[6,-7],[0,-17],[6,-8],[3,5],[6,-3],[3,-12],[12,-6],[12,-31],[2,-9],[9,-6],[3,-12],[3,1],[4,-13],[1,-13],[4,2],[6,-13],[0,-8],[10,-9]],[[5941,7196],[-3,1]],[[5938,7197],[-2,0]],[[4503,6784],[-3,-9],[-5,3],[8,6]],[[4571,6803],[1,-17],[-5,-6],[-6,6],[2,19],[8,-2]],[[4552,6828],[-7,-11],[-2,-14],[-7,-8],[-6,21],[12,4],[4,8],[6,0]],[[4604,6803],[7,35],[5,-4],[-4,-26],[-8,-5]],[[4503,6844],[4,-7],[-3,-16],[-4,14],[3,9]],[[4626,6861],[0,-6],[-9,-10],[-1,11],[10,5]],[[4919,7214],[-1,3]],[[4918,7217],[1,-3]],[[4851,7247],[-1,5]],[[4850,7252],[1,-5]],[[5043,7435],[2,-6],[-6,-9],[-6,2],[10,13]],[[5088,7483],[0,-11],[8,0],[-7,-23],[-4,-6],[-8,7],[-3,10],[-9,0],[9,14],[14,9]],[[5114,7490],[6,-11],[-3,-3],[-12,12],[9,2]],[[5055,7627],[0,0]],[[4950,7681],[11,-8],[1,-9],[16,-8],[6,-11],[6,3],[8,-7],[20,0],[0,9],[18,-7],[3,-7]],[[5047,7630],[8,-9],[8,4],[6,-5],[12,8],[7,-3]],[[5088,7625],[4,-5],[-6,-6],[3,-18],[-4,-6],[-23,-20],[-3,-10],[-17,-6],[-15,-8],[-8,-13],[5,-6],[-8,-7],[-7,-18],[-8,-14],[-11,-32],[3,-21],[6,-15],[7,-7],[-21,-22],[-9,-36],[4,-6],[-19,-4],[-12,-20],[-2,-15],[-7,-12],[-5,6],[-7,-1],[-3,-8],[-6,4],[-42,-1],[-7,-13],[-15,-5],[-4,-16]],[[4851,7264],[0,0]],[[4851,7264],[-6,-7],[-14,11],[-9,24],[-2,18],[-12,13],[-14,2]],[[4794,7325],[-3,18],[7,27],[6,2],[3,10],[-5,0],[-6,14],[1,17],[6,6],[3,12],[-5,3],[-5,22],[-6,12],[14,0],[4,14],[-4,17],[7,8],[-1,30],[-3,6],[8,16],[6,4],[6,14],[-10,6],[0,16],[-16,2],[-2,-7],[-11,-3],[-3,3],[-13,-3],[3,13],[-4,6],[-15,-10]],[[4756,7600],[-4,7],[8,12],[-7,6],[1,13],[-6,-4],[1,10],[-7,18],[12,17],[5,-3],[11,5],[-2,4],[13,17],[6,2],[13,-13],[36,2],[14,-2],[17,-9],[16,0],[17,6],[3,-6],[11,-2],[10,4],[16,-8],[10,5]],[[5628,8557],[8,2],[12,-10],[-17,-13],[-15,-4],[-10,7],[0,13],[22,5]],[[5631,8581],[8,-10],[-15,-8],[-3,11],[-9,4],[19,3]],[[5778,8608],[4,-7]],[[5782,8601],[-5,-1]],[[5777,8600],[3,-1]],[[5780,8599],[-7,-9]],[[5773,8590],[-4,-10]],[[5769,8580],[-12,1],[-9,-8],[13,-28],[6,-22]],[[5767,8523],[5,-8],[-7,-3],[-6,-16]],[[5759,8496],[-14,5],[-8,-6],[-15,19],[-26,13],[-21,-12]],[[5675,8515],[7,26],[-10,-3],[-13,5],[-6,13],[-3,20],[6,3],[-5,14],[18,5],[6,10],[30,1],[8,10],[35,-13],[27,-2],[3,4]],[[6160,5833],[0,-12]],[[6192,5816],[-8,-22],[5,-23],[5,-13],[6,-8],[1,-13],[4,-12],[5,-4],[12,-21],[51,-34],[31,-23],[28,0]],[[6332,5643],[-21,-43],[-31,-61],[-14,-31],[-14,-34],[-5,-9],[-27,3],[-20,-14],[-8,-12],[-1,-8],[-9,-7],[-12,-2],[-7,-13]],[[6163,5412],[-19,-3],[-3,2],[-9,19],[-26,-24],[-8,-27],[-25,12],[-15,0],[-7,11],[-28,36],[-23,1],[-3,10]],[[5997,5449],[-4,8],[0,27],[-2,9],[-11,-2],[-1,9],[-5,7],[-3,12],[0,13],[-4,11],[-3,24],[-6,5],[0,8],[-6,4],[-7,24],[-9,16],[-19,8],[-1,9],[5,9],[0,17],[12,3],[2,-5],[7,3],[5,9],[-1,50]],[[5946,5727],[4,33],[3,9],[-1,22],[7,18],[6,-7],[5,5],[0,25],[4,16],[-1,14],[6,8],[2,12],[11,31],[11,1],[0,19],[3,19],[6,24],[2,28]],[[5634,8649],[-3,-11],[-9,9],[12,2]],[[5804,9158],[-14,-7],[8,-9],[-8,-12],[7,-21],[18,-7],[18,-21],[-2,-10],[-23,-30],[-1,-9],[13,-20],[11,-25],[5,-23],[-10,-1],[2,-32],[-7,-6],[6,-11],[9,-1],[-2,-23],[14,-8],[1,-11],[-17,-18],[14,-16],[21,-15],[9,-17],[-9,-24],[-25,-28],[-15,-23],[-18,-22],[-10,-7],[-27,-31]],[[5772,8670],[-31,-8],[-19,-2],[-8,-8],[-15,0],[-6,-6],[-38,-11],[-10,-6],[-10,17],[3,10],[-12,-6],[2,10],[-10,0],[-12,14],[-5,-7],[-8,8],[-2,23],[5,3],[3,23],[-5,25],[-5,3],[3,22],[-6,2],[3,27],[13,9],[-5,12],[11,-3],[13,8],[-5,9],[17,9],[3,10],[13,6],[10,18],[17,18],[5,16],[25,8],[-4,14],[2,17],[-33,19]],[[5671,8973],[-15,37],[10,20],[-12,20],[5,16],[-7,26],[5,3],[-23,26],[-21,5],[-41,32]],[[5572,9158],[12,1],[7,14],[10,-2],[21,-31],[22,-6],[20,12],[27,-15],[7,13],[18,12],[-1,17],[6,22],[15,15],[16,-2],[22,10],[17,-16],[18,-7],[6,-12],[-14,-14],[3,-11]],[[9954,4093],[-5,-13],[-7,0],[12,13]],[[9951,4184],[0,-5],[9,-12],[2,-26],[-10,-2],[-3,-6],[-10,-2],[-15,11],[-1,12],[5,7],[-2,6],[7,12],[18,5]],[[0,4252],[9987,-23],[-2,-11],[4,2],[7,14],[0,-17],[-16,-2],[-1,7],[-11,-10],[-4,-9],[-7,15],[12,16],[13,4],[2,8],[-9984,6]],[[3351,2225],[4,-3],[-17,-28],[-11,-4],[-4,-11],[-8,-4],[-11,12],[16,3],[-4,17],[12,1],[-13,15],[11,-5],[9,6],[15,-3],[1,4]],[[3368,2227],[7,2],[4,-8],[12,3],[4,-18],[-17,-11],[-16,0],[8,-4],[-12,-6],[1,-10],[-11,5],[3,-11],[-9,12],[6,17],[13,11],[-3,14],[10,4]],[[6541,3981],[5,-2],[5,-13],[-1,-13],[-7,-1],[-6,6],[-4,14],[8,9]],[[6252,4454],[4,-5],[-1,-13],[-3,-1],[0,19]],[[3483,5317],[7,10],[4,16],[2,29],[4,19],[-10,24],[-3,26],[-1,25],[4,16],[5,9]],[[3495,5491],[3,5],[3,18],[12,-10],[11,-4],[6,-6],[10,-19],[22,-31],[3,-18],[-1,-11]],[[3306,6034],[4,-11],[-1,-7],[-9,13],[1,11],[5,-6]],[[3288,6120],[2,-14],[-4,-5],[-3,22],[5,-3]],[[3295,6124],[5,-5],[-9,-3],[1,18],[3,-10]],[[5262,7641],[2,-7],[1,-27],[-4,-7],[-2,-24],[-7,-9],[-8,9],[3,8],[-7,3],[2,19],[-5,15],[3,10],[13,13],[6,-1],[3,16],[0,-18]],[[5160,8036],[5,-6],[11,0]],[[5172,7849],[16,7]],[[5195,7827],[-7,-5],[5,-18],[5,-6],[-2,-11],[-13,-6],[3,-11],[8,-5],[1,-9],[-6,-11],[4,-14],[10,-7],[9,3],[-4,-22]],[[5208,7705],[-2,-3]],[[5206,7702],[-2,-1]],[[5204,7701],[-11,-10],[-9,-23],[-14,-6],[-22,9],[0,7],[-15,1],[-7,6],[-11,0],[-5,6],[-13,-17],[-10,-6],[-3,-9],[0,-26],[4,-8]],[[4950,7681],[9,13],[6,48],[-1,11],[4,49],[11,-11],[0,8],[-14,16],[3,6],[1,26],[-20,14],[-9,18],[4,14],[-5,12],[-8,1],[-3,15],[-6,-3],[-11,11],[-18,6],[-4,6],[-11,-5],[0,7],[-9,7],[12,5],[-14,12],[1,13],[10,6],[22,0],[2,9],[12,2],[10,-20],[12,9],[16,-4],[4,8],[-1,28],[-6,8],[0,18],[16,0],[-1,-11],[5,-6],[30,-4],[8,7],[-5,3],[2,11],[10,9],[18,7],[11,15],[0,37],[10,8],[17,4]],[[4800,8771],[13,-21],[-14,13],[1,8]],[[4808,8772],[9,-11],[-11,3],[2,8]],[[9394,5584],[3,-9],[-4,-1],[1,10]],[[5308,4956],[-3,13],[-10,15],[0,9],[-17,28],[-8,19],[7,-8],[5,3],[-8,8],[-7,1],[-2,13],[-9,21],[1,10],[8,2],[-2,7],[-4,-5],[-9,16],[-1,11],[-6,18],[5,6],[2,-7],[2,12],[6,13],[1,14],[-1,27],[2,-7],[11,-2],[-8,7],[-5,19],[9,-6],[-2,24],[3,7],[4,-4]],[[5272,5240],[6,1],[36,-1],[0,68]],[[4964,8107],[6,-6],[-7,-6],[-6,6],[7,6]],[[4883,8252],[-4,-10],[-6,16],[10,-6]],[[4825,8298],[-11,-2],[-8,20],[-10,-17],[-14,5],[-9,13],[11,10],[-5,6],[11,2],[8,19]],[[4798,8354],[20,10],[13,-2],[0,-8],[18,-35],[-7,-6],[-11,-19],[-6,4]],[[4857,8375],[-7,14],[7,-1],[0,-13]],[[4830,8398],[2,-9],[-7,-6],[-6,6],[1,10],[10,-1]],[[4839,8409],[-5,-13],[-4,6],[9,7]],[[4832,8443],[11,-10],[-2,-5],[-18,-4],[7,10],[-7,5],[9,4]],[[4795,8489],[3,-18],[-4,1],[1,17]],[[4800,8503],[1,-8],[-10,7],[9,1]],[[4824,8506],[5,-20],[14,-6],[-9,-6],[-10,1],[-13,15],[11,5],[2,11]],[[4827,8543],[-5,-20],[-16,-15],[3,11],[-7,3],[2,15],[23,15],[0,-9]],[[4907,8560],[9,0],[-6,-20],[-22,-20],[6,-7],[-8,-14],[22,8],[20,-3],[16,2],[7,-13],[-6,-9],[-6,-24],[-9,-18],[-10,-8],[8,-10],[-21,-15],[9,-4],[11,6],[13,-8],[14,-19],[4,-29],[8,-27],[19,-9],[4,-13],[8,-7],[-4,-5],[11,-24],[-7,1],[12,-23],[-7,-19],[8,-7],[5,11],[20,-2],[11,-10],[3,-16],[-5,-24],[-4,0],[-14,-26],[-11,-12],[12,-3],[13,1],[-3,-14],[-11,-13],[-5,1],[-14,-11],[-12,6],[-18,-6],[-3,7],[-18,-7],[-14,-1],[2,-8],[-27,9],[-13,-6],[-2,-17],[-8,-7],[-11,10],[-16,-3],[-12,-21],[-8,10],[19,25],[7,14],[1,12],[6,-1],[2,11],[12,3],[11,-4],[11,2],[8,20],[-23,-9],[-8,12],[-13,-3],[0,6],[-10,3],[-8,-7],[-10,18],[13,6],[20,18],[2,9],[-2,24],[-17,-4],[11,12],[5,11],[27,10],[8,19],[-4,11],[5,2],[-1,14],[-9,-6],[-11,23],[9,26],[-19,-10],[-11,5],[1,-10],[-13,10],[-5,-5],[-1,21],[11,19],[-15,29],[-8,-15],[-4,-23],[-5,-1],[3,22],[-1,18],[5,24],[8,18],[-12,-13],[-5,11],[0,17],[5,10],[-6,19],[7,25],[12,0],[-5,20],[11,21],[20,-6],[26,7]],[[4912,8589],[-2,-13],[-4,10],[6,3]],[[4964,8673],[4,-27],[-15,5],[9,7],[2,15]],[[6206,7550],[-23,27],[-5,-9],[-8,5],[-9,-5],[-8,5]],[[6153,7573],[7,17],[-8,51],[-10,6],[-3,11],[-21,13],[-8,10]],[[6110,7681],[2,9],[16,0],[27,-19],[21,2],[7,-6],[6,1],[10,-14],[17,-9],[-2,-8],[6,-4],[16,12],[7,-8],[4,8],[11,-14],[11,0],[-2,-18],[8,-10],[14,-9]],[[4995,5824],[5,-3],[-3,-26],[10,-13],[3,-27],[-4,-30],[8,0],[-2,-24],[2,-8],[-4,-8],[9,-19],[-3,-11],[0,-28],[-3,-15],[4,-3],[-1,-23],[-3,-2],[6,-28],[8,-9],[5,-13]],[[5032,5534],[-7,-19],[-15,1],[-21,-17],[-12,-16],[-6,0],[-6,-7],[-11,-5],[-10,-15],[-7,8],[-24,12]],[[4913,5477],[8,2]],[[4851,7264],[0,0]],[[4683,5897],[-3,-14],[6,-9],[6,11],[4,0],[8,-17],[4,13],[5,5],[16,-11],[2,7],[14,19],[5,-5],[2,-20],[3,-1],[-1,-21],[13,-17],[-9,-23],[5,5],[6,-3],[0,-28],[9,-12],[0,-8]],[[4764,5618],[-6,8],[-1,-12],[-11,-17],[-5,13],[-4,0],[3,19],[-5,25],[0,11],[-8,10],[-7,-7],[-6,3]],[[4714,5671],[-3,1],[-5,-11],[-3,4],[5,15],[-3,10],[0,15],[-4,1],[2,13],[-15,39],[-19,0],[-17,-7],[-5,-26],[-12,-21],[-5,-1]],[[4630,5703],[4,8],[-12,23],[0,12],[-4,-2],[-6,13],[-20,29],[4,20],[-5,-10],[-3,21],[-4,-14],[-2,11]],[[4582,5814],[8,30],[12,8],[16,4],[0,19],[-6,11],[7,3],[-1,24]],[[4618,5913],[19,-3],[-1,-8],[17,-6],[3,-5],[7,6],[20,0]],[[4534,5935],[-2,17],[4,7],[8,-14],[5,5],[-8,2],[-1,13]],[[4540,5965],[29,0],[4,12],[7,2],[8,-5],[2,-7],[6,1],[4,-10],[12,7],[3,-14],[-15,-6],[-5,7],[-11,6],[-6,7],[-1,-9],[-5,-4],[-12,-1],[0,-11],[-24,1],[-2,-6]],[[4553,5826],[1,-7],[-6,3],[5,4]],[[4582,5814],[-1,9],[-5,-7],[-7,20],[5,15],[8,-2],[-9,7],[-2,-8],[-3,8],[2,11],[8,-1],[-5,6],[-6,-7],[-11,-6],[3,14],[-7,-6],[-6,6],[1,13],[-5,-2],[-7,9]],[[4535,5893],[14,7],[15,-1],[13,14],[41,0]],[[5272,5240],[-3,6],[-10,3],[3,15],[10,28],[0,26]],[[5243,5399],[5,-8],[-8,-24],[-6,4],[0,10],[4,1],[1,11],[4,6]],[[5663,7229],[13,-11],[9,5],[22,-8],[8,3],[-1,-12],[9,6],[7,-7],[-2,-5],[-25,-2],[-16,-4],[0,9],[-10,6],[-24,5],[1,17],[4,5],[5,-7]],[[5756,7245],[-1,-17],[-3,-5],[4,22]],[[5640,7268],[-4,-2],[0,12],[4,-10]],[[5784,7281],[-5,-19],[-8,-12],[-2,13],[5,13],[10,5]],[[5710,7319],[-4,-10],[-2,10],[6,0]],[[5731,7350],[-10,-7],[2,7],[8,0]],[[5748,7357],[-5,-6],[-5,6],[10,0]],[[5576,7363],[5,-7],[-4,-5],[-5,10],[4,2]],[[5690,7366],[3,-13],[-8,16],[5,-3]],[[5571,7398],[6,-23],[-8,2],[-3,14],[5,7]],[[5723,7405],[3,-16],[-4,-9],[-5,25],[6,0]],[[5651,7423],[11,-14],[8,0],[5,-29],[7,0],[0,-10],[-7,1],[-8,23],[-11,0],[-1,9],[-12,17],[-9,-1],[13,12],[4,-8]],[[5733,7446],[6,-17],[-13,0],[4,10],[-10,-4],[-2,8],[13,8],[2,-5]],[[5553,7474],[-2,-18],[-5,18],[7,0]],[[5706,7488],[-2,-14],[-9,3],[0,9],[11,2]],[[5688,7522],[-8,1],[4,10],[4,-11]],[[5586,7536],[18,3],[4,11],[23,3],[5,10]],[[5731,7585],[7,-8],[1,-14],[-8,-6],[0,-15],[-8,-13]],[[5723,7529],[-3,5],[-11,2],[-11,8],[-12,-10],[-8,6],[-9,-12],[-11,1],[4,-19],[-4,-10],[8,-6],[-1,-11],[-9,17],[-8,0],[0,-6],[10,-14],[-9,6],[-2,14],[-12,9],[0,14],[-6,-6],[-3,-28],[8,-15],[2,-11],[5,-6],[7,-17],[-11,9],[-4,-7],[6,-16],[-9,-6],[17,-11],[0,-9],[8,-2],[13,-15],[-2,-5],[2,-25],[-3,-1],[-12,22],[-15,-11],[5,-3],[0,-11],[10,-10],[-11,-8],[-11,16],[0,-8],[7,-21],[3,-20],[0,-17],[-11,22],[-5,-6],[-4,-14],[0,13],[-6,19],[-6,-1],[0,-14],[-7,3],[-3,13],[3,14],[-3,15],[-13,17],[7,16],[7,2],[6,9],[19,-10],[10,-12],[9,10],[-5,6],[-17,14],[-1,-6],[-12,4],[-12,-7],[-4,8],[-8,-4],[-5,24],[-4,-1],[-1,16],[-13,20],[-2,14],[-5,4]],[[5583,7526],[0,0]],[[5582,7531],[4,5]],[[3288,5876],[-5,-2],[5,13],[0,-11]],[[3786,8632],[-12,-4],[4,9],[8,-5]],[[3787,8645],[3,-11],[-11,4],[-4,10],[12,-3]],[[3846,8835],[12,-11],[-9,0],[-12,15],[9,-4]],[[3579,8886],[3,14],[6,-4],[-9,-10]],[[3876,8910],[-1,-14],[-10,26],[11,-12]],[[3961,8973],[2,-9],[-18,-2],[0,10],[16,1]],[[3583,9209],[9,-5],[-9,-16],[-11,9],[11,12]],[[3535,9210],[20,-7],[5,-10],[-9,-9],[-40,-14],[-19,9],[8,9],[-21,2],[3,11],[-6,23],[14,9],[30,-7],[15,-16]],[[4292,9258],[5,-6],[-22,-8],[-56,-5],[5,12],[24,14],[11,0],[27,11],[6,-18]],[[3513,9274],[-13,6],[9,10],[4,-16]],[[3537,9281],[-14,10],[21,1],[-7,-11]],[[3472,9375],[-13,-11],[-4,9],[17,2]],[[4335,9380],[22,-3],[33,-25],[-20,4],[17,-11],[-5,-9],[-50,20],[-10,8],[0,15],[13,1]],[[4354,9391],[36,-8],[-3,-13],[-17,-1],[-14,11],[-38,1],[0,5],[36,5]],[[4333,9407],[21,-8],[-47,6],[55,-12],[-48,-4],[-29,9],[13,12],[35,-3]],[[4418,9469],[11,-1],[11,-14],[-32,-5],[-18,7],[3,8],[25,5]],[[4439,9496],[13,-2],[-12,-10],[-14,7],[13,5]],[[4505,9520],[-7,-8],[21,-2],[-15,-6],[-30,-2],[2,17],[29,1]],[[4481,9596],[3,-41],[-16,34],[13,7]],[[2994,9643],[23,-5],[-21,-3],[-2,8]],[[4445,9674],[18,-11],[-32,9],[14,2]],[[4519,9788],[-33,-16],[-26,9],[49,14],[10,-7]],[[3575,9904],[-53,7],[4,13],[49,-20]],[[3722,9942],[44,-15],[-28,-11],[-44,11],[-20,15],[48,0]],[[3880,9983],[38,-14],[-47,9],[9,5]],[[4105,9998],[43,-1],[139,-17],[-12,-6],[-116,-3],[-142,-14],[100,5],[47,8],[96,-4],[39,6],[2,-18],[34,4],[72,-17],[-31,-17],[-54,-4],[-152,-7],[-81,-17],[1,-9],[30,8],[107,13],[89,-4],[-3,-12],[-44,-9],[-2,-11],[85,20],[2,14],[51,4],[11,-19],[-7,-14],[-56,-36],[-16,-18],[53,26],[58,30],[75,-8],[37,24],[53,-1],[57,-12],[13,-8],[-64,-27],[-24,0],[7,-12],[-31,-8],[-46,1],[36,-15],[-18,-11],[-40,-3],[-44,6],[-25,-22],[11,-12],[20,3],[-9,-21],[17,-12],[-27,-8],[0,-11],[-28,-2],[-11,-42],[-18,-22],[18,0],[10,17],[51,-16],[-6,-10],[-19,10],[-22,-2],[38,-26],[10,6],[21,-5],[2,-18],[-10,-12],[-35,13],[-27,-3],[-24,-13],[-13,12],[-14,-8],[10,-12],[18,1],[0,-16],[19,4],[30,-4],[6,-11],[-15,-4],[21,-14],[3,-29],[-17,-4],[-4,9],[-16,-2],[-26,17],[8,-12],[24,-14],[-8,-27],[30,-5],[7,6],[13,-11],[-18,-15],[-16,2],[-7,11],[-36,-2],[-11,-18],[9,-27],[-2,21],[9,3],[36,-10],[-7,-26],[-28,3],[-18,-14],[-36,11],[-14,9],[-1,13],[-10,-16],[-25,-4],[-17,-16],[24,-7],[-16,-14],[22,-6],[6,-12],[-19,-7],[21,1],[23,-15],[33,-16],[-17,-14],[20,9],[14,-3],[-17,-11],[2,-17],[9,14],[10,-1],[0,-35],[8,-18],[-13,-10],[-11,3],[-7,22],[-2,-22],[-19,0],[-16,10],[-9,27],[-24,13],[-15,14],[-20,5],[-16,-3],[-26,23],[-16,-2],[31,-13],[-8,-6],[26,-8],[25,1],[11,-12],[-16,-13],[-24,-7],[-44,2],[14,-7],[-11,-17],[2,-11],[40,7],[13,-6],[-17,-3],[-27,-14],[-16,-3],[34,-3],[11,16],[15,-4],[29,13],[23,-11],[25,-7],[33,0],[0,-8],[-14,0],[-4,-12],[-19,-2],[1,-10],[-13,-8],[-17,-1],[2,-9],[-26,-21],[-31,-10],[-13,-9],[-23,1],[1,-6],[-24,-7],[-9,4],[-5,-11],[-18,10],[-1,-16],[-30,-3],[-30,17],[6,-17],[-4,-12],[-11,1],[-16,-12],[-12,-33],[-13,-5],[-1,-15],[-27,-26],[-15,-2],[-14,-18],[-13,3],[-20,-12],[-17,14],[15,16],[-12,0],[-7,-21],[-14,-1],[8,-16],[-17,1],[-7,-6],[-8,9],[-14,-12],[2,-15],[-14,-14],[-10,8],[-13,-3],[1,-12],[14,-11],[-1,-13],[-13,-9],[-12,1],[3,-8],[18,-1],[7,-27],[-13,0],[6,-7],[-18,-12],[-13,6],[12,-15],[-4,-15],[-21,-8],[-6,-11],[9,-15],[-21,9],[12,-11],[9,-1],[-8,-21],[11,5],[-6,-22],[-8,-6],[7,-7],[-17,-13],[9,-6],[-3,-17],[-20,3],[20,-7],[-12,-15],[-11,5],[14,-18],[0,-9],[-29,6],[-13,-12],[-12,10],[3,19],[-9,0],[6,10],[-15,-11],[-11,20],[6,8],[-3,10],[-10,-9],[-22,-8],[3,7],[-19,-8],[-17,0],[14,12],[-20,6],[-4,9],[7,5],[-20,5],[-1,9],[-10,13],[8,10],[-10,16],[-15,2],[-8,9],[5,28],[-12,7],[15,8],[-28,-3],[-2,19],[-11,10],[3,23],[-6,8],[14,-1],[13,13],[6,16],[9,-13],[-4,16],[-11,4],[-15,-12],[2,10],[-19,-33],[-9,0],[1,29],[22,16],[-10,2],[-8,-13],[-23,50],[-12,0],[-4,23],[19,15],[18,9],[21,21],[-21,-13],[-3,-7],[-33,-23],[-9,1],[1,22],[11,11],[16,-1],[5,10],[-34,3],[-6,14],[49,13],[17,-3],[12,6],[-28,-2],[-28,-7],[-21,-2],[2,10],[25,18],[15,2],[12,-7],[24,4],[-49,5],[-24,-17],[0,18],[22,10],[-5,12],[15,-1],[16,-8],[21,2],[-6,8],[7,12],[-13,0],[9,-8],[-31,-6],[-3,7],[-15,-1],[13,14],[18,4],[23,-2],[-5,11],[7,22],[16,-8],[0,19],[-17,-7],[10,18],[-2,11],[15,4],[-8,11],[-24,0],[-25,5],[-25,17],[-22,4],[-15,18],[11,6],[48,-8],[25,-15],[24,-6],[5,11],[-14,-6],[1,16],[-24,21],[17,-6],[-5,9],[-22,-1],[16,9],[-4,6],[-19,-12],[5,13],[24,4],[-8,4],[-21,-8],[-7,9],[25,4],[-41,6],[-4,7],[-14,-11],[0,-11],[-14,-5],[-24,1],[-17,17],[17,13],[-8,8],[19,13],[-21,11],[17,5],[10,12],[-3,15],[-18,4],[4,18],[-30,38],[7,13],[-16,5],[7,11],[-21,13],[4,8],[-31,10],[-14,17],[13,3],[-7,17],[-16,-2],[-4,10],[-26,9],[-17,-2],[-4,9],[-42,5],[-31,8],[-6,-11],[-27,5],[1,-9],[-35,-1],[7,10],[-15,1],[-6,-12],[-18,11],[-7,-6],[23,-12],[-58,9],[-30,15],[36,17],[-57,7],[-26,11],[12,12],[50,5],[21,6],[50,-3],[14,9],[-19,13],[-24,-11],[-45,-4],[-29,6],[21,8],[-33,-1],[13,9],[-30,-4],[-44,23],[8,21],[91,16],[8,10],[43,9],[42,-2],[31,23],[-5,30],[-56,2],[-12,15],[39,20],[28,7],[8,12],[46,13],[44,-9],[16,6],[6,19],[-19,15],[104,24],[90,11],[24,-14],[-6,-33],[24,17],[-1,11],[85,-18],[-31,13],[44,0],[-31,12],[-15,20],[65,-8],[77,-19],[22,-14],[25,1],[-8,28],[38,-1],[-68,26],[132,2],[-157,7],[28,14],[74,4],[6,5],[54,-17],[95,1],[-42,3],[53,5],[-49,3],[0,13],[180,11]],[[2530,6098],[8,-8],[4,5],[7,-7]],[[2549,6088],[-17,-28],[-9,-9],[-2,-15],[2,-14],[-6,-9]],[[2517,6013],[-6,-1],[2,-10],[-5,-3],[-10,-17],[-1,-9]],[[2497,5973],[-15,12],[-19,1],[-9,9],[-17,25]],[[2437,6020],[3,7],[-1,33],[1,10],[11,38],[36,0],[2,20],[-7,4],[-4,17],[-8,7],[-1,7],[-9,13],[12,0],[1,33],[50,0]],[[9022,5957],[-2,-11],[-3,10],[5,12],[4,-3],[-4,-8]],[[3409,5499],[-2,-9],[4,-10],[-2,-8],[-13,-2],[-5,-8],[2,-9],[-6,-39],[4,-7],[2,-13],[5,-8],[0,-8],[10,0],[2,-28],[6,-15],[0,-8],[9,-27],[6,-5]],[[3312,5482],[-18,43],[8,14],[-2,28],[9,7],[5,-2],[11,21],[-7,0],[-5,21],[5,19],[5,3],[15,22],[-6,18]],[[3332,5676],[4,-9],[7,-3],[15,-20],[17,-36],[1,-15],[-4,-18],[1,-10],[3,13],[4,2],[10,-8],[9,-18],[2,-9],[6,-1],[5,-11],[0,-27],[-3,-7]],[[8172,6482],[5,-7],[-5,-9],[-9,5],[5,9]],[[7037,2130],[10,-6],[-7,-4],[-3,10]],[[2691,6046],[-12,-1],[-4,-8],[-12,-4],[-8,-7],[-8,2],[-3,9],[-6,-6],[-4,-11],[0,-12],[-5,-3],[-5,-13],[-6,-5],[0,-7],[-8,9],[-8,-14],[-13,-2],[2,-26],[-6,-2],[0,-10],[-11,-5]],[[2574,5930],[-4,22],[-10,3]],[[2560,5955],[3,17],[-2,12],[-6,-1],[-3,6],[-10,-8],[0,7],[-7,3],[-8,17],[-10,5]],[[2549,6088],[8,9],[7,2],[7,-7],[2,4],[12,-6],[4,3],[12,-1],[13,11],[15,-6],[11,6],[18,-9],[13,-22],[-8,6],[10,-19],[8,0],[-7,9],[9,-6],[4,-13],[4,-3]],[[5512,7634],[1,-9]],[[5513,7625],[-8,12],[-27,21],[12,-5]],[[5466,7679],[-8,-5],[-2,8],[10,-3]],[[5412,7751],[11,-14],[-10,8],[-1,6]],[[5401,7772],[0,-20],[-5,27],[5,-7]],[[5404,7789],[3,-10],[-5,-3],[2,13]],[[5458,7861],[5,-3],[18,-29],[6,0],[9,-10],[17,0],[11,9]],[[5524,7828],[3,-33],[12,-10],[-10,-3],[-1,-17]],[[5488,7656],[-12,12],[-6,13],[-14,10],[-11,-4],[-2,10],[-14,14],[-9,17],[8,5],[-15,23],[-1,23],[-9,12],[-7,2],[-3,-20],[-8,-11],[-8,20],[0,20]],[[5377,7802],[9,-3],[13,3],[6,6],[20,-9],[-2,17],[12,6],[-2,20],[9,5],[8,12],[8,2]],[[3002,6248],[-1,2]],[[2977,6260],[-12,8],[1,7],[11,-10],[0,-5]],[[3000,6254],[2,-6]],[[3006,6222],[-8,11],[-24,-5],[-11,6],[-8,0],[-6,-5],[1,-8],[-12,16],[-7,4],[2,15],[6,2],[16,-10],[24,-4],[4,8],[7,-2],[0,7],[-13,23],[1,19],[3,2],[-9,11],[-11,1],[-2,6],[8,10],[11,2],[13,-11],[15,-2]],[[5614,7970],[21,-26]],[[5635,7944],[-8,-11],[-4,2],[-13,-17],[-4,-19],[-5,-6],[-4,-21],[-6,-5],[-1,-12],[-6,-10],[-7,2],[-5,-8],[-10,-1]],[[5562,7838],[-16,4],[-11,-11],[-11,-3]],[[5458,7861],[-7,21],[-4,-1]],[[5476,7947],[6,-1],[10,-13],[15,0],[14,3],[-1,10],[7,4],[14,3],[4,7],[8,-7],[12,11],[3,13],[9,3],[9,-5],[11,3],[5,-11],[12,3]],[[8426,4574],[2,-3],[-6,-11],[-11,-6],[0,8],[6,3],[10,17],[-1,-8]],[[8386,4582],[-1,-10],[-6,2],[7,8]],[[8333,4644],[9,-18],[4,2],[10,-24],[-10,-15],[-9,5],[-5,14],[-10,12],[-15,3],[-4,11],[10,10],[20,0]],[[8473,4637],[-2,-11],[-16,-29],[-8,0],[-2,-6],[-12,-5],[-3,9],[7,6],[-5,10],[2,16],[10,18]],[[8444,4645],[2,-5],[7,4],[3,10]],[[8456,4654],[13,13]],[[8469,4667],[7,-5],[0,-8],[-6,-2],[3,-15]],[[8318,4695],[-3,-16],[1,18],[2,-2]],[[8424,4708],[1,-8],[-8,-2],[4,11],[3,-1]],[[8242,4700],[-7,-24],[3,-4],[-11,-3],[-10,6],[6,6],[-1,15],[7,13],[8,-1],[5,-8]],[[8442,4708],[-5,-4],[-10,-16],[-5,4],[7,9],[-2,6],[12,4],[3,-3]],[[8450,4700],[-5,-10],[-4,6],[11,16],[-2,-12]],[[8858,4702],[-10,-1],[7,12],[3,-11]],[[8265,4700],[-2,12],[5,2],[-3,-14]],[[8459,4715],[2,-3],[13,1],[1,-11],[-22,-6],[3,18],[3,1]],[[8550,4716],[8,-3],[-2,-6],[-6,9]],[[8276,4716],[4,0],[5,-15],[6,7],[6,-6],[8,2],[1,-19],[-18,-12],[0,10],[-7,-11],[-12,-2],[-9,-9],[-7,-2],[-11,5],[2,11],[-1,13],[12,14],[6,-8],[4,5],[6,-18],[14,4],[-6,11],[-4,1],[-6,16],[7,3]],[[8415,4713],[2,-8],[-7,-8],[2,-8],[-13,-10],[-8,1],[-9,-9],[-11,5],[-1,-7],[-12,0],[-2,6],[-7,2],[-9,-3],[-13,4],[0,11],[13,18],[19,-4],[15,-16],[15,11],[6,-12],[6,1],[0,7],[12,12],[-4,4],[3,8],[3,-5]],[[8208,4712],[5,-15],[-14,-15],[-7,13],[-11,8],[-3,14],[12,-6],[8,8],[10,-7]],[[8604,4733],[0,-14],[-5,14],[5,0]],[[8519,4741],[-6,-15],[-15,2],[-5,-7],[5,21],[11,-2],[8,7],[2,-6]],[[8857,4720],[-12,-20],[-23,0],[5,24],[6,21],[6,8],[11,6],[5,-1],[7,-11],[-5,-27]],[[8656,4770],[0,-26],[-8,-16],[-7,-6],[3,28],[10,23],[2,-3]],[[8664,4774],[1,-9],[-7,7],[6,2]],[[8166,4787],[3,-6],[-12,-8],[-3,-6],[-12,-1],[-12,5],[4,15],[32,1]],[[8204,4789],[6,-5],[-10,-1],[4,6]],[[8738,4813],[-1,-5],[-6,7],[3,6],[4,-8]],[[8733,4812],[3,-8],[-6,-16],[-7,2],[2,30],[-1,7],[9,-15]],[[7948,4837],[3,4],[13,-9],[8,1],[0,9],[9,-3],[2,-10],[7,-5],[6,2],[5,-8],[8,5],[5,-14],[2,-16],[11,-1],[10,-5],[4,4],[11,-7],[7,4],[5,-7],[7,8],[2,19],[4,5],[7,-1],[3,-15],[12,3],[12,-14],[16,1],[0,-13],[6,-8],[-2,-17],[16,-15],[12,4],[7,6],[13,-11],[-3,-41],[7,-10],[-18,4],[-20,20],[-6,-1],[-10,-8],[-9,6],[-16,4],[-2,-6],[-9,6],[-11,0],[-13,8],[-14,14],[-18,10],[-23,1],[-2,-7],[-18,4],[-11,14],[-25,5],[-4,10],[4,15],[-7,-1],[-7,10],[-20,-2],[3,10],[2,-8],[4,17],[5,1],[1,18],[5,17],[4,-6]],[[8346,4810],[-1,39],[3,-8],[-2,-31]],[[8685,4859],[3,-16],[-4,0],[1,16]],[[8737,4870],[5,-12],[1,-27],[-5,-14],[-8,8],[-1,9],[2,19],[6,17]],[[7843,4868],[-9,8],[9,-3],[0,-5]],[[8386,4889],[2,1],[2,-20],[-3,-2],[-4,10],[3,11]],[[8410,4898],[-4,-6],[0,-18],[-10,-1],[3,23],[-2,8],[11,13],[2,-19]],[[8422,4913],[0,-9],[-5,6],[-2,-24],[7,-6],[-2,-7],[-8,-5],[0,-10],[-6,-1],[-2,9],[5,17],[3,22],[0,15],[4,10],[6,-17]],[[8418,4952],[5,-5],[-3,-8],[-5,6],[3,7]],[[8564,4977],[-2,-8],[-9,-3],[3,10],[8,1]],[[8225,4951],[-3,23],[3,18],[4,5],[1,-36],[-5,-10]],[[8523,5004],[7,-6],[-2,-7],[6,-2],[0,-14],[-15,-15],[-15,15],[-5,14],[1,12],[11,5],[12,-2]],[[8598,5023],[14,-13],[8,1],[7,-8],[1,-15],[7,-11],[-1,-17],[-24,23],[-3,8],[-9,2],[-2,-10],[-15,7],[-2,8],[-6,-10],[-7,-2],[-6,20],[-4,-17],[-6,11],[8,6],[1,12],[21,0],[5,-5],[13,10]],[[7789,5006],[0,-13],[-7,21],[0,8],[6,-7],[1,-9]],[[7994,5036],[13,-12],[-2,-21],[-6,-7],[-3,11],[-8,-10],[0,26],[2,12],[4,1]],[[7782,5024],[-5,-4],[0,20],[5,-16]],[[7769,5060],[4,-12],[-4,1],[-5,11],[5,0]],[[8501,5041],[-3,3],[-3,21],[4,3],[2,-27]],[[8483,5079],[15,1],[11,-2],[-2,-3],[-24,-4],[0,8]],[[8620,5085],[2,-15],[-6,-6],[-14,10],[10,9],[8,2]],[[8458,5089],[22,-6],[0,-9],[-8,-3],[-7,2],[-10,-6],[-1,20],[4,2]],[[8762,5091],[20,-3],[6,-5],[14,-4],[-11,-5],[-15,5],[-14,12]],[[7940,5097],[5,-5],[4,-17],[0,-18],[4,-16],[14,-6],[-5,-8],[-2,-12],[4,-10],[-22,15],[0,21],[-3,4],[-1,14],[-18,4],[0,8],[7,9],[-3,5],[9,9],[2,-13],[3,1],[-2,12],[4,3]],[[8550,5100],[9,-9],[-6,-5],[-11,-3],[-5,6],[1,9],[6,8],[6,-6]],[[8421,5116],[1,-14],[3,9],[6,-1],[0,-10],[-4,-5],[-3,6],[-1,-12],[-3,18],[-6,-15],[-4,10],[3,13],[8,1]],[[8044,5127],[4,-10],[-9,-8],[0,18],[5,0]],[[7746,5129],[7,-31],[4,-7],[-2,-11],[-9,6],[-9,29],[3,13],[6,1]],[[8636,5129],[4,-8],[-2,-16],[-7,6],[-3,15],[8,3]],[[8634,5139],[-7,-9],[-4,6],[11,3]],[[8761,5145],[12,-2],[9,-20],[6,-4],[-7,-7],[-7,2],[-4,22],[-3,-4],[-6,13]],[[8536,5138],[-5,0],[3,9],[2,-9]],[[8915,5033],[0,-218],[-3,-12],[3,-17],[0,-128]],[[8915,4658],[-10,18],[-4,12],[-15,28],[-17,-5],[-3,6],[-7,-8],[-1,19],[5,19],[-4,4],[-7,18],[13,-3],[-12,8],[-4,13],[10,2],[-8,7],[1,5],[-7,13],[-3,32],[-8,7],[0,12],[-4,8],[-15,20],[-21,12],[-18,18],[-14,4],[-7,-1],[-16,20],[1,11],[-4,-6],[-5,9],[-1,-9],[-5,7],[1,8],[-6,-4],[-4,14],[-3,-5],[0,28],[6,6],[-1,9],[-6,-11],[0,-14],[-7,-21],[1,-8],[-5,-11],[-7,-3],[-6,11],[-2,14],[6,8],[-9,15],[-3,12],[-6,8],[-6,-2],[-2,12],[5,5],[10,-2],[4,-6],[9,18],[7,5],[7,-10],[8,7],[4,12],[-1,9],[-7,-8],[-11,2],[-16,-6],[-4,7],[-6,-5],[-8,11],[-4,22],[-5,11],[-9,2],[-5,-3],[-7,4],[3,13],[5,6],[0,18],[7,5],[8,0],[10,17],[8,5],[8,-1],[12,-10],[6,-11],[17,0],[5,-8],[-4,-5],[7,-22],[-1,-12],[-4,-7],[2,-39],[5,-10],[3,-17],[1,17],[5,-3],[1,-23],[5,-17],[6,-6],[11,0],[2,7],[10,16],[1,11],[9,14],[3,18],[9,-2],[14,10],[-3,16],[19,18],[4,0],[11,-13],[9,-4],[5,-10],[7,-3],[20,-21],[10,3],[16,-10],[-2,-6],[8,0]],[[7903,5160],[0,-12],[-8,7],[6,9],[2,-4]],[[8544,5159],[1,-17],[6,0],[-1,-9],[-5,6],[-5,-3],[0,10],[-5,11],[6,9],[3,-7]],[[8533,5168],[1,-14],[-4,-1],[0,14],[3,1]],[[7735,5153],[-4,0],[3,16],[1,-16]],[[7881,5163],[-8,-1],[3,8],[5,-7]],[[8633,5183],[14,-10],[-2,-13],[-6,2],[-11,13],[8,-16],[-6,-1],[-1,8],[-9,2],[-2,9],[15,6]],[[7737,5167],[-5,8],[0,8],[5,-16]],[[7904,5183],[11,-16],[-7,4],[-8,-1],[4,13]],[[7850,5240],[4,0],[7,-11],[-14,-1],[-1,20],[4,-8]],[[7861,5243],[2,-12],[-8,11],[-5,-1],[5,9],[6,-7]],[[7892,5248],[-1,-8],[-5,3],[6,5]],[[7904,5252],[2,-10],[-2,-11],[-3,13],[-6,-3],[2,9],[7,2]],[[7845,5238],[-6,7],[-1,17],[3,2],[5,-9],[-1,-17]],[[7704,5270],[3,-2],[6,-18],[6,-7],[-2,-28],[-4,1],[-3,14],[-5,7],[-8,26],[7,7]],[[7839,5273],[7,-4],[0,-13],[-10,11],[-2,10],[5,-4]],[[8473,5279],[5,-11],[-3,-3],[-6,-26],[-5,-5],[-7,-25],[-24,-11],[-11,3],[-4,10],[-24,0],[-12,-4],[-6,6],[-13,-7],[-11,7],[-10,-4],[-7,-19],[-3,-19],[3,-26],[4,-13],[5,-1],[5,-12],[2,-17],[13,1],[2,12],[8,18],[5,-3],[13,0],[1,9],[15,-2],[7,4],[-7,4],[10,6],[9,-5],[0,-20],[-3,-4],[-4,11],[-9,-3],[-8,-23],[-9,-17],[-12,-6],[-3,-12],[-10,8],[0,-8],[8,-15],[5,-3],[11,-32],[7,-26],[-5,-8],[-1,-14],[13,-17],[-1,-9],[7,-3],[0,-15],[-4,-6],[-4,6],[-14,-7],[-2,-7],[2,-12],[-12,1],[-5,9],[1,25],[3,8],[-8,7],[-13,25],[0,9],[5,10],[1,26],[-8,8],[-17,-20],[6,-16],[0,-25],[-2,-12],[1,-36],[2,-7],[-4,-14],[-1,-14],[5,-24],[-15,-2],[-4,-8],[-11,16],[0,14],[3,7],[0,18],[4,19],[0,23],[-5,19],[2,12],[-6,3],[-10,-8],[-3,14],[2,27],[-4,0],[1,13],[3,-1],[7,11],[-1,15],[3,13],[4,2],[-2,14],[0,26],[5,11],[1,11],[7,11],[1,50],[3,16],[4,4],[-1,10],[9,8],[7,-3],[6,14],[0,15],[3,3],[10,-7],[5,3],[0,-9],[5,-4],[8,2],[8,-5],[7,1],[10,-12],[4,8],[19,-6],[8,1],[10,8],[9,23],[10,19],[2,-4]],[[7825,5301],[0,-16],[-7,-2],[-2,18],[9,0]],[[8556,5309],[-6,-20],[5,-6],[0,-25],[-11,-20],[3,-8],[6,3],[0,8],[7,8],[-3,5],[3,9],[11,11],[4,-1],[-1,-29],[-11,-9],[0,-14],[11,-6],[0,-13],[-20,8],[-3,-10],[1,-20],[5,-25],[10,-24],[-11,11],[-5,20],[-5,6],[1,34],[-4,4],[-2,38],[-3,10],[4,12],[0,12],[4,16],[10,15]],[[8571,5333],[3,-7],[-3,-21],[-8,-7],[-3,16],[5,13],[6,6]],[[7663,5350],[2,-7],[14,-20],[-5,0],[-14,13],[-4,9],[7,5]],[[8268,5370],[-4,6],[4,4],[0,-10]],[[8489,5385],[-4,-3],[0,16],[4,-13]],[[8269,5423],[5,-1]],[[8274,5422],[-2,-7],[-3,8]],[[8008,5418],[2,-16],[-2,-7],[-8,11],[-1,9],[7,11],[2,-8]],[[8265,5422],[-5,1],[11,-21],[-1,-10],[-15,-1],[7,-13],[-5,-10],[11,-13],[-4,-4],[16,-37],[-8,-15],[1,-8],[7,-13],[9,-10],[10,-16],[6,-14],[-7,-9],[-16,4],[-8,12],[4,-17],[-6,2],[-6,-18],[-4,-26],[2,-2],[-3,-17],[1,-14],[4,4],[-3,-14],[4,-4],[-9,-8],[-1,5],[-7,-22],[-14,-16],[1,-8],[-9,-10],[6,1],[-2,-24],[6,0],[-2,-19],[-4,-2],[0,-18],[-5,-7],[-6,-36],[-38,-32],[0,28],[-14,23],[-6,-9],[-9,3],[0,12],[-6,-6],[-9,20],[-3,-10],[3,-3],[-14,-16],[-9,6],[-7,-11],[-4,-1],[1,27],[-4,17],[0,-10],[-4,-4],[-7,5],[-9,-9],[-7,6],[-2,-5],[-3,12],[-7,-8],[-6,62],[-5,8],[3,3],[2,20],[-4,16],[-7,11],[-7,4],[-2,-4],[-7,21],[0,34],[5,-2],[-5,14],[-5,4],[0,20],[3,50],[7,9],[1,14],[9,9]],[[8045,5303],[-3,-16],[3,-12],[17,-35],[7,-8],[8,3],[2,6],[10,4],[7,-6],[9,2],[8,7],[2,18],[8,7],[15,0],[-2,-8],[9,-3],[11,-8],[7,12],[16,-1],[5,12],[1,13],[3,2],[-1,20],[12,14],[-4,12],[1,10],[5,10],[6,-1],[4,65],[5,11],[6,-4],[3,5],[7,-4],[10,4],[13,0],[10,-12]],[[8523,5442],[2,-13],[-3,-14],[-4,-2],[2,32],[3,-3]],[[7652,5506],[11,-6],[4,-11],[10,-6],[12,4],[10,-8],[9,6],[11,-21],[3,-16],[6,-9],[0,-16],[13,-17],[3,-9],[6,-5],[20,-26],[7,-15],[-1,-13],[3,-5],[3,6],[6,-23],[14,-21],[-2,19],[6,1],[8,-16],[1,-14],[10,-6],[12,-18],[1,-19],[7,-15],[13,-3],[5,-14],[-13,-13],[8,1],[12,15],[11,-13],[2,-18],[-7,0],[-6,-21],[7,-4],[-5,-5],[1,-12],[4,-12],[9,-1],[7,-6],[6,2],[2,-16],[1,-28],[4,-14],[7,-5],[-1,-9],[8,-5],[13,-1],[0,-13],[5,-6],[0,-10],[6,-4],[2,-14],[-6,-14],[-1,-15],[3,-5],[-4,-25],[2,-13],[0,-26],[-2,-53],[-7,2],[-7,19],[-3,-6],[0,-12],[-8,6],[-9,11],[-1,-4],[5,-19],[-4,-3],[-3,11],[-10,17],[-5,19],[-7,10],[-11,12],[-28,46],[-1,17],[-17,23],[-8,29],[-9,16],[-5,17],[2,7],[-9,34],[0,8],[-5,3],[1,11],[-9,30],[-9,14],[0,13],[-4,9],[-9,10],[-5,1],[-1,21],[-9,45],[0,20],[-3,0],[-7,14],[-5,2],[-9,14],[-7,6],[-2,27],[-5,5],[-4,14],[-3,5],[-8,23],[-11,6],[-8,21],[-6,5],[-13,28],[-5,27],[-3,6],[0,17],[8,2]],[[4872,8298],[-4,5],[8,13],[4,-7],[-8,-11]],[[7606,5598],[2,-16],[-2,-11],[-5,16],[0,9],[5,2]],[[7571,5804],[0,-12],[-5,0],[-1,12],[6,0]],[[7583,5964],[1,-29],[-3,1],[1,-36],[-3,-2],[1,-13],[-5,-6],[2,-9],[-2,-25],[-5,13],[5,34],[0,29],[2,1],[0,26],[6,16]],[[7448,6428],[-4,1],[4,13],[0,-14]],[[7248,6922],[-16,-24],[0,-12],[-5,-9],[1,-17],[-7,-14],[9,-14],[9,-1],[7,-10],[9,-6],[2,-11],[15,-17],[6,3],[11,-14],[7,2],[1,-11],[12,-4],[18,0],[8,4],[6,-8],[8,-2],[1,-18],[8,-3],[10,-14],[9,7],[7,-16],[4,5],[9,-3],[11,-11],[7,7],[9,-11],[13,6],[7,-5],[4,17],[0,13],[-6,11],[2,24],[3,21]],[[7703,6808],[0,-19],[-13,-15],[0,-11],[7,-21],[-7,6],[-4,10],[-21,-9],[-2,-10],[-14,-19],[-9,-5],[-2,-21],[4,-12],[-4,-6],[0,-10],[-10,-18],[-2,-16],[3,-3],[-2,-22],[-3,-2],[-6,-22],[-5,-27],[-11,9],[-11,-2],[4,-18],[-2,-30],[-9,-21],[2,-34],[-3,1],[-1,-12],[-8,9],[-3,-10]],[[7473,6457],[-4,-11],[5,-18],[-6,2],[-4,-6],[-2,22],[-5,-3],[-1,-16],[-7,0],[-1,26],[-8,-18],[-21,-14],[-8,-19],[6,-28],[-7,-10],[-4,-16],[-4,-3],[-6,-16],[-19,-10],[-5,9],[-5,-13],[5,1],[-15,-26],[-9,-26],[-13,-29],[-9,-8],[-6,-10],[-9,-22],[-21,-21],[-6,-16],[3,-5],[-1,-14],[-6,-9],[-11,-8],[-10,4],[-4,-3],[-1,-20],[-10,-15],[-1,10],[-6,-1],[-9,-10],[-3,-17],[-2,-18],[3,-24],[-1,-30],[3,-29],[-5,-4],[7,-9],[0,-14],[-3,-37],[-8,-24],[-4,-26],[2,-16],[0,-46],[1,-17],[-15,0],[-2,-15],[-8,-21],[-2,-13],[5,-9],[-20,-12],[-5,-12],[-2,-22],[-2,-8],[-16,-16],[-7,6],[-11,22],[-7,19],[-6,25],[-3,32],[4,-10],[0,11],[-6,7],[-2,18],[-6,30],[-1,14],[-9,36],[-9,17],[-6,25],[-6,34],[-2,33],[-8,39],[-1,14],[-7,14],[-2,12],[-4,5],[0,15],[-3,4],[-4,24],[-4,8],[-5,29],[-1,37],[-5,30],[-6,45],[1,7],[-3,22],[-1,23],[-3,24],[2,33],[4,12],[-2,36],[-3,-4],[-3,11],[2,16],[12,11],[-16,-3],[2,14],[-2,14],[9,5],[-13,4],[-2,-15],[-8,-7],[8,-18],[-6,-25],[-17,-17],[-14,-11],[-5,0],[-10,9],[-11,17],[-15,33],[-15,29],[0,10],[7,1],[0,-9],[14,12],[3,-3],[9,7],[7,23],[-10,-1],[-9,-10],[-13,5],[-11,10],[-9,15],[-4,19],[-6,14]],[[6893,6556],[5,7],[10,0],[0,19],[13,-3],[11,2],[5,-7],[6,0],[3,8],[13,7],[0,-8],[6,-3],[9,10],[-4,12],[3,3],[-5,27],[-6,14],[0,17],[-10,1],[-6,14],[2,35],[-9,2],[-10,11],[1,17],[10,20],[6,22],[7,12],[6,1],[4,-16],[4,-2],[9,7],[20,8],[0,9],[8,16],[5,21],[16,16],[9,29],[3,22],[12,8],[4,7],[-2,10],[6,11],[6,19],[10,12],[-4,2],[3,17],[-2,24],[7,10],[14,8],[1,10],[-8,8],[-11,2],[0,14],[-9,2],[0,13],[-9,10],[4,22],[-5,5],[1,10],[7,10],[-9,1],[1,16],[-5,3],[4,19],[13,6],[7,-5],[16,-2],[11,-9],[11,11],[17,3],[3,10],[5,1],[4,11]],[[7140,7205],[20,22]],[[4825,8298],[2,-37],[6,-29],[-6,-16],[-4,-28],[-10,1],[-8,-4],[-12,0],[-5,-10],[-7,0],[-4,-8],[-7,-1],[-12,-14],[-20,0],[-11,-8],[10,14],[-20,-4],[12,13],[-11,-6],[-7,10],[13,14],[-15,-2],[5,10],[13,-2],[-1,11],[8,12],[-10,-5],[12,12],[5,21],[10,8],[-16,-2],[-14,9],[-3,9],[6,13],[0,24],[-5,4],[22,4],[23,-3],[-5,4],[12,9],[3,8],[-15,-1],[-2,7],[10,6],[2,18],[15,2],[6,-6],[4,17],[13,-9],[-9,-9]],[[6560,6732],[-4,-9],[-5,0],[-16,-12],[0,7],[13,7],[13,13],[-1,-6]],[[6357,7396],[3,-38],[4,-9],[9,-7],[13,-2],[9,-5],[2,-13],[21,-24],[23,-9],[43,18],[16,-4],[-3,30]],[[6497,7333],[8,-1],[16,11],[1,13],[9,13],[9,7],[24,0],[3,10],[17,-4],[5,4],[3,-17],[23,-10],[8,-9],[10,3],[11,-10],[10,-21],[13,-7],[8,-22],[23,0],[2,-31],[-3,-8],[4,-5],[0,-15]],[[6689,6902],[14,-27],[0,-8],[6,-21],[10,-20],[14,-8],[5,-10],[5,-1],[-1,-12],[2,-18],[-1,-26],[11,2],[4,-8],[-4,-17],[0,-11],[-12,0],[-12,-7],[-2,-10],[-11,-7],[-7,-59]],[[6710,6634],[-5,-8],[-10,9],[-12,4],[-1,9],[-5,-6],[-24,3],[-2,4],[-12,-4],[-6,10],[-7,2],[-14,-2],[-4,8],[-17,5],[-4,19],[-4,42],[-6,17],[-11,3],[-8,-2],[-5,-8],[-9,-4],[-3,-11],[-6,2],[-13,-17],[-11,5],[-3,7],[-17,0],[-8,16],[-10,6],[-13,16],[-4,16],[-12,11],[-9,-1],[-8,6],[-9,35],[0,12],[-8,13],[2,10],[-6,0],[1,16],[-15,30],[0,10],[-5,6],[-11,-12],[-2,9],[-7,-1],[-9,13],[8,-1],[0,9],[-9,-8],[1,-20],[-11,-4]],[[6347,6908],[-3,15],[-11,14],[0,31],[-9,0],[0,23],[4,21],[-9,22],[-5,19],[-6,-1],[-14,21],[-16,15],[4,5],[-4,15],[-11,15],[-5,22],[3,14],[-4,8],[2,8],[6,-3],[-2,9],[7,21],[7,2],[1,7],[-6,16],[1,10],[6,2],[-4,9],[-6,-3],[-14,14],[-3,21],[-5,0],[-1,18],[-6,5],[2,12],[-3,7]],[[6243,7322],[0,10],[-6,6],[1,17],[-10,17],[6,20],[-4,0],[-3,45],[-5,13],[11,4],[4,19],[7,-7]],[[6347,6908],[-13,5],[-3,-3]],[[6331,6910],[-7,6],[-9,0],[-6,-5],[-8,-33],[-9,-20]],[[6292,6858],[-5,-2],[-46,8],[-62,91],[-11,18],[-47,49],[-34,10]],[[6087,7032],[4,8],[-7,3],[0,11],[-8,51]],[[6076,7105],[4,3],[43,44],[14,11],[7,22],[1,40],[3,8],[-2,23]],[[6146,7256],[0,0]],[[6146,7256],[0,20],[3,10],[13,5],[15,26],[-1,3]],[[6176,7320],[6,2],[6,13],[9,0],[10,-7],[12,-2],[8,4],[1,-18],[11,12],[4,-2]],[[4554,9014],[7,-14],[12,-7],[12,13],[-4,-20],[10,2],[-2,-20],[12,4],[0,-8],[21,-10],[-4,-10],[6,-8],[-13,-25],[-13,-4],[-2,-15],[-24,-8],[-39,-26],[-31,-6],[-1,-11],[-23,-7],[-27,8],[-12,0],[-28,20],[-42,-4],[4,9],[14,4],[10,10],[2,11],[-13,-6],[-9,29],[-32,1],[-11,-4],[-3,8],[23,2],[15,8],[25,-2],[-21,7],[22,16],[-39,7],[-20,-9],[-18,6],[7,8],[12,-7],[-8,15],[17,-5],[-9,12],[10,17],[20,-8],[-5,7],[9,16],[11,-11],[25,-14],[-2,-19],[9,-29],[0,13],[9,15],[9,-10],[5,13],[-5,20],[9,3],[13,-22],[6,-1],[-1,19],[22,6],[16,-26],[-6,27],[10,-1],[10,-11],[12,14],[6,-6],[13,3],[-3,19],[15,2]],[[5993,7068],[-6,-5],[0,-15]],[[5987,7048],[-10,8],[-6,-14],[0,-19],[6,-9],[-7,-11],[-2,-14],[10,1],[5,6]],[[5983,6996],[0,-9]],[[5983,6987],[0,-6]],[[5983,6981],[1,-8]],[[5984,6973],[-8,-34],[0,-21],[-6,-33]],[[5970,6885],[-2,-4]],[[5951,6980],[8,18],[-2,4]],[[5957,7002],[7,21],[6,44],[5,21]],[[5975,7088],[10,0],[1,9],[8,10]],[[5994,7107],[-1,-9],[3,-19],[-3,-11]],[[5434,7386],[-12,-29],[-3,-25],[6,-18],[-6,-11],[1,-8],[-10,1],[-8,6],[-3,10],[-7,8],[-7,-1],[-25,27],[-10,1],[-4,6],[0,19],[7,6],[6,-6],[4,10],[7,1],[10,-13],[9,4],[9,-2],[17,10],[4,-4],[12,11],[3,-3]],[[5256,7557],[8,-6],[8,-34],[-5,-14],[3,-13],[-2,-30],[-6,-24],[-10,6],[-5,-19],[-8,0],[-7,17],[5,39],[-4,1],[2,23],[-5,17],[-4,0],[2,16],[8,-2],[9,6],[11,17]],[[5380,7862],[-9,-16],[7,-7],[-4,-8],[3,-12],[8,-10],[-5,-1]],[[5380,7808],[1,7],[-18,1],[-3,-5],[-16,-12],[-4,2],[-1,-16],[9,-13],[-6,-7],[-2,-13],[2,-18],[8,-16],[9,-7],[19,-21],[12,-54],[18,-28],[12,-11],[25,0],[4,-9],[-8,-15],[19,-17],[13,-7],[14,-18],[13,-8],[0,-6],[12,-15],[2,-10],[-4,-18],[-9,6],[-5,23],[-11,0],[-14,11],[-11,-25],[-2,-21],[9,-5],[9,-11],[-1,-29],[-11,-1],[-5,-8],[1,-18],[-8,-10],[-8,-20],[-10,4],[0,15],[5,3],[3,12],[-3,8],[9,5],[2,12],[-4,8],[-2,21],[-4,6],[-2,20],[-7,11],[-5,-5],[-12,13],[2,8],[-6,18],[-8,1],[-5,8],[-7,3],[-10,22],[-10,1],[-8,-3],[-5,11],[-7,2],[-12,24],[-10,10],[-8,18],[-10,5],[-3,12],[-9,9],[1,6],[-8,2],[1,18],[-7,17],[0,14],[-5,13],[-7,1],[-16,17],[-15,5],[-14,-19],[-3,-11],[-17,-6]],[[5344,7711],[0,0]],[[5345,7596],[0,0]],[[2849,6246],[15,-3],[3,-8],[12,-7],[4,-14],[-9,-3],[-10,6],[-1,-7],[-6,3],[-1,-11],[-7,10],[-8,-1],[-7,10],[-3,10],[-8,2],[5,12],[10,5],[11,-4]],[[6087,7032],[-4,-6],[-57,-30],[15,-28],[13,-29],[-9,-10],[-4,-18],[-21,-8],[-7,-22],[-12,-17],[-31,9]],[[5970,6873],[0,12]],[[5984,6973],[-1,8]],[[5983,6987],[4,0],[0,25]],[[5987,7012],[0,36]],[[5993,7068],[7,-5],[10,-16],[12,-3],[54,61]],[[8563,6721],[-5,-10],[-7,-5],[-4,-21],[0,20],[7,8],[-3,7],[7,-1],[4,12],[1,-10]],[[8603,6820],[-13,-15],[0,9],[11,11],[2,-5]],[[8624,6937],[5,-5],[-7,-8],[2,13]],[[8639,6942],[-5,-5],[6,22],[-1,-17]],[[8616,7056],[0,-12],[-6,-7],[1,18],[5,1]],[[8578,7069],[-1,-10],[-6,2],[7,8]],[[8638,7135],[3,-16],[7,-3],[9,6],[1,-15],[-5,-9],[10,1],[0,-17],[5,-2],[-11,-22],[-6,-38],[0,-16],[-3,-14],[-7,5],[1,-11],[-12,-13],[2,20],[-5,12],[-2,-4],[0,-22],[-9,5],[4,18],[-5,12],[1,21],[2,-2],[8,19],[-2,11],[3,12],[-5,15],[-8,2],[7,-19],[-6,-11],[1,11],[-10,-10],[-6,18],[1,10],[4,-14],[5,-1],[-1,10],[-11,11],[1,10],[6,-2],[18,22],[2,9],[6,4],[7,-3]],[[8726,7162],[8,-9],[5,1],[-1,-13],[4,-10],[-10,-11],[-5,-23],[-8,15],[-5,2],[-13,-11],[0,-7],[-7,-11],[-1,-16],[-10,0],[3,9],[-6,1],[-6,31],[11,14],[2,17],[6,6],[5,-10],[10,2],[3,14],[8,9],[7,0]],[[8747,7160],[-3,-8],[-3,8],[8,15],[-2,-15]],[[8595,7181],[-2,-23],[-3,4],[1,16],[4,3]],[[8845,7375],[1,-10],[-6,-6],[-1,17],[8,13],[-2,-14]],[[8923,7564],[5,3],[-1,-34],[2,-14],[8,-11],[5,-22],[4,-26],[-5,-14],[0,-12],[-7,-6],[-5,-25],[1,-17],[-6,9],[-7,-6],[-3,-24],[3,-14],[-2,-39],[-5,-8],[-5,-19],[-1,-20],[8,-27],[-11,-7],[-2,-21],[-16,-17],[2,30],[5,11],[-8,0],[-4,-12],[1,-16],[-7,11],[-8,-5],[0,-21],[-9,-16],[-1,25],[-6,4],[-6,-11],[-4,-18],[-17,5],[-15,-6],[7,9],[-13,1],[0,16],[-5,-3],[-3,-22],[9,-9],[1,-10],[-7,3],[-10,-9],[0,-10],[-6,-8],[-3,-15],[-5,-7],[-10,5],[-1,8],[-9,11],[3,8],[-3,14],[10,17],[-2,9],[-11,-4],[-6,7],[-7,0],[-20,-18],[-10,1],[-3,-9],[-6,2],[-15,-9],[-1,9],[-8,-6],[-2,-24],[-11,13],[-16,-7],[-4,7],[-3,-8],[-1,25],[3,5],[12,-1],[3,10],[7,5],[17,28],[7,7],[-1,9],[17,8],[5,-8],[24,6],[7,7],[11,-2],[8,7],[-1,-12],[13,-4],[12,10],[-3,18],[5,16],[7,8],[10,28],[-1,26],[11,10],[6,1],[-3,-13],[-9,-5],[4,-6],[-2,-13],[10,-6],[3,10],[21,13],[10,12],[10,29],[14,15],[1,16],[9,23],[3,24],[4,10],[1,17],[-4,11],[-5,-3],[7,19],[1,11],[-5,13],[5,10],[7,3],[1,26],[9,-5],[3,-20],[3,9],[8,-6],[3,19],[-13,-5],[3,23],[10,-10]],[[8944,7799],[15,-24],[4,-13],[19,-27],[11,-7],[0,-6],[12,0],[3,-7],[13,-4],[15,25],[1,-8],[-7,-17],[-1,-9],[8,-28],[8,6],[-4,-12],[-6,0],[-8,-10],[-27,-4],[-11,-14],[-8,-20],[-3,-23],[-8,11],[-14,9],[-8,11],[-12,9],[-8,-3],[-12,-15],[-9,15],[-5,0],[-6,-18],[12,-8],[13,-20],[-13,-1],[-8,-7],[-6,-13],[-7,10],[5,14],[-3,17],[-7,6],[3,26],[12,7],[5,11],[-5,13],[6,8],[8,-9],[10,-3],[7,10],[-3,22],[9,14],[0,22],[3,6],[1,20],[-6,23],[3,12],[9,3]],[[6762,7807],[-15,8],[-3,11],[1,13],[12,14],[11,-3],[7,-11],[1,-13],[-4,-11],[-10,-8]],[[7140,7205],[-9,31]],[[6651,7782],[-20,19]],[[6631,7801],[12,18],[8,-37]],[[7227,7611],[-6,13],[-15,4],[-12,17],[-14,6],[-14,0],[-19,2],[-14,5],[-13,-5],[-16,1],[-3,-6],[-13,2],[-12,8],[-12,13],[-21,-10],[-5,-27],[3,-9],[-22,14],[-27,9],[-10,-1],[-10,-13],[-5,-15],[3,-3]],[[6970,7616],[-6,-3],[-4,-11],[-4,5],[-9,-16],[-20,-15],[0,-5],[-10,-5],[0,-10],[-13,-17],[1,-19],[-4,0],[-13,13],[4,14],[-5,7],[-33,-3],[-5,20],[-2,30],[-14,0],[2,57],[-8,-7],[-8,26],[-7,5],[-10,19],[-12,-10],[-37,4],[-32,-8],[-23,38],[-2,12],[-28,28]],[[6668,7765],[0,34],[-2,9],[-7,-1],[3,20],[17,-5],[8,16],[12,7],[2,14],[-11,2],[-3,9],[-13,3],[-8,-7],[4,-13],[17,0],[2,-11],[-4,-6],[-24,2],[-2,12],[-7,0],[7,-14],[-3,-17],[-8,-6],[-4,5],[4,13],[-15,-3],[-6,-23]],[[6627,7805],[-73,-31],[0,-212]],[[6554,7562],[-14,-3],[-15,32],[0,6],[-20,23],[-20,-3],[-14,-9],[-15,-21]],[[6456,7587],[-1,20],[6,15],[3,22],[-15,9],[-8,-3],[-6,18],[-12,0],[1,23],[-4,4],[-8,33],[-17,9],[1,17],[16,-1],[4,-6],[16,-2],[-17,20],[12,28],[9,5],[22,0],[11,-6],[10,2],[-15,10],[0,6],[9,18],[4,40],[-8,19],[-13,2],[-10,-10],[-16,14],[-9,3],[-12,-11],[-9,-2],[-18,-21],[-13,2],[-2,-14]],[[6367,7850],[-9,9],[-10,5],[0,12],[6,-6],[7,6],[-9,19],[-4,15],[-14,23],[-11,0],[-7,5],[-1,-9],[-7,7],[0,26],[-18,8],[8,30],[8,10],[-7,14],[3,28],[12,12],[-1,14],[9,9],[22,-37],[13,11],[-5,20],[0,13],[20,17],[0,15],[11,0],[15,12],[6,17],[5,6],[14,-3],[1,-11],[11,-1],[6,12],[11,6],[5,-16],[23,0],[9,-7],[1,-9],[7,-1],[6,-13],[10,-7],[-3,-16],[8,2],[1,24],[10,-13],[16,-15],[13,11],[11,20],[18,0],[5,-11],[11,1],[1,13],[22,-4],[0,-11],[10,-11],[16,-3],[1,-9],[7,4],[5,18],[9,-10],[15,-1],[17,10],[2,19],[4,6],[-7,11],[-10,1],[-3,8],[-16,3],[3,8],[-12,4],[11,15],[7,1],[10,11],[-10,23],[22,16],[17,-3],[1,7],[-13,9],[-14,3],[2,12],[-6,8],[5,11],[-6,3],[12,10],[4,-6],[43,7],[25,14],[25,5],[9,-4],[-1,10],[7,7],[15,-1],[15,6],[33,8],[13,6],[2,13],[10,0],[2,9],[8,-4],[-1,9],[8,-6],[13,0],[14,-11],[8,9],[14,-12],[1,-18],[6,-3],[-1,-23],[-6,0],[6,-13],[3,6],[11,-4],[10,5],[3,9],[9,-14],[-3,-13],[9,3],[-4,10],[11,-1],[3,-8],[11,-2],[8,7],[-3,-12],[-6,1],[-6,-17],[6,-8],[13,12],[14,-10],[1,12],[9,9],[7,-2],[12,11],[-2,4],[31,15],[12,8],[-7,-19],[-8,1],[3,-9],[34,-36],[7,-11],[42,-97],[12,-38],[15,7],[-1,14],[6,6],[15,-7],[-3,-15],[9,2],[2,-13],[11,3],[6,-4],[17,5],[18,12],[13,-7],[11,-20],[0,-15],[23,-14],[-2,-7],[9,-19],[19,-1],[6,-7],[12,20],[0,-10],[12,-22],[7,-9]],[[6163,5412],[-17,-50],[-9,-17],[0,-175],[1,-39],[15,-39],[0,-7]],[[6153,5085],[-6,-15],[-9,-4],[-4,-20],[-5,-9],[-5,0],[-9,-13],[2,-12],[-3,-18],[-6,-12],[-3,-25],[-4,-11],[-7,-30],[-6,-3]],[[6088,4913],[-21,33],[-19,27],[-5,13],[4,6],[-1,14],[-100,116]],[[5946,5122],[3,12],[-4,7],[0,10],[4,7],[9,-1],[-2,6],[11,4],[-4,11],[-10,-6],[2,-6],[-9,7],[-3,12],[1,12]],[[5944,5197],[4,21],[7,12],[2,15],[9,9],[2,18],[3,6],[0,26],[-3,18],[2,3],[-14,40],[-2,17],[2,13],[-8,5],[-3,24],[-2,2]],[[5943,5426],[11,23],[15,14],[14,9],[4,-7],[2,-16],[8,0]],[[7045,7454],[-13,-5],[-15,2],[-9,-5],[-2,-6],[-5,10],[-7,-7],[-2,12],[-8,8],[-12,-11],[-8,-1],[-4,11],[-36,-5],[-2,14],[7,20],[14,6],[18,-12],[1,7],[8,8]],[[6970,7500],[12,3],[11,-7],[9,15],[8,-3],[0,14],[7,-6],[4,9],[10,8],[-13,3],[-5,9],[-9,-1],[0,10],[-8,0],[-6,22],[-1,-10],[-6,-2],[0,-13],[-6,-1],[-12,7],[-4,14],[-4,-4],[-9,10],[8,7],[22,29],[-8,3]],[[6976,7489],[-6,4],[2,-14],[4,10]],[[6993,7480],[0,0]],[[6961,7477],[0,0]],[[7901,5783],[-6,7],[-11,2],[-7,-4],[-3,5],[5,13],[0,15],[-4,5],[-3,-16],[-9,2],[-2,38],[-3,3]],[[7858,5853],[0,7],[-6,22],[0,22],[-6,7],[0,21],[-3,7],[-2,25],[6,0],[10,26],[1,11],[9,8],[12,5],[9,-5],[5,3],[11,-2],[5,4],[6,-3],[2,-10],[4,8]],[[7921,6009],[3,-14],[13,-1],[3,-9],[6,-1],[2,7],[-6,19],[7,7],[6,-2],[3,6],[8,-14],[4,0],[8,11],[5,2],[2,10]],[[7985,6030],[0,-14],[-3,-2],[-2,-19],[3,-10],[0,-10],[5,-22],[-5,-20],[4,-24],[-2,-15],[-2,-6],[-4,5],[-8,-14],[-8,-7],[-8,-1],[0,-17],[-11,7],[-4,-13],[-1,-15],[9,-13],[1,-17],[-9,3],[-3,10],[-10,-2],[-3,-7],[-7,6],[1,-11],[-6,-13],[-9,0],[-2,-6]],[[627,5299],[5,-18],[-8,8],[3,10]],[[8522,7115],[1,-14],[-17,-6],[-2,8],[5,8],[13,4]],[[8508,7172],[1,-8],[-7,2],[6,6]],[[8575,7196],[-1,-14],[-5,11],[6,3]],[[8518,7361],[8,22],[5,6],[27,0],[7,17]],[[8565,7406],[7,-27],[14,-31],[6,-25],[4,-25],[-2,-7],[-1,-33],[4,-6],[-2,-25],[-9,-23],[-18,0],[-1,-15],[-3,6],[-17,1],[-2,-20],[-4,14],[0,-13],[-5,-9],[-3,13],[-6,-5],[-3,-11],[-4,3],[-4,-10],[-2,15],[-7,2],[0,9],[6,-7],[2,11],[-4,1],[-2,18],[2,17],[6,9],[-4,4],[8,7],[-7,10],[5,1],[-5,11],[-1,31],[-3,8],[3,12],[7,-1],[-6,42],[4,3]],[[5598,7616],[-9,-9],[-3,6],[-10,-8],[0,-11],[-5,0]],[[5557,7633],[8,15]],[[5565,7648],[9,17],[-2,6],[14,-7],[8,-19],[10,-5],[-6,-24]],[[6338,6909],[5,-15],[-4,-7],[-5,12],[4,10]],[[6345,6826],[-22,0],[-6,27],[-25,5]],[[6331,6910],[7,-26],[-6,2],[-7,-12],[10,-1],[2,-19],[8,-28]],[[7836,6473],[2,-9],[8,-12],[6,-22],[2,9],[5,-5],[0,-9],[-2,-23],[7,-19],[15,-11],[2,8],[9,10],[5,-4],[9,-13],[-1,-9],[-6,-3],[9,-6],[0,-8],[7,-2],[0,-11],[-2,-10],[-9,-12],[-8,6],[-4,-15],[-6,-7],[18,-21],[4,-8],[9,-5],[5,-6],[-2,-12],[6,-14],[5,0],[7,-30],[13,-24],[9,-17],[0,-18],[4,-11],[5,5],[4,-14],[8,-12],[4,-1],[-1,-8],[-6,-5],[2,-12],[7,-8],[5,-12],[-5,-33]],[[7921,6009],[9,11],[0,20],[1,5],[-3,11],[3,6],[2,24],[-5,5],[0,13],[-11,7],[0,8],[-8,15],[0,29],[2,20],[-3,9],[-7,7],[-6,14],[-7,24],[-18,8],[-2,-10],[-9,-15],[-9,-6],[-16,16],[-4,-9],[-19,-26],[-4,-7],[-5,6],[3,19],[4,9],[0,17],[-3,3],[5,14],[0,15],[3,7],[-3,6],[-1,19],[2,7],[-12,2],[-2,-7],[-7,0],[-3,9],[3,29],[-5,15],[-6,-5]],[[7780,6353],[0,15],[7,14],[4,-1],[0,13],[6,16],[3,0],[9,14]],[[5975,7088],[14,52],[1,19],[9,12],[0,7]],[[5999,7178],[13,-3],[4,-23],[-9,-14],[2,-8],[-6,2],[-6,-12],[3,-5],[-6,-8]],[[4790,5433],[-19,13],[-21,22],[-9,12],[-21,40],[-9,19],[-12,7],[-1,10],[-14,13],[-3,12]],[[4681,5581],[3,14],[6,12],[15,23],[0,16],[8,8],[1,17]],[[5693,6449],[0,-115],[-27,0],[0,-28]],[[5666,6306],[-66,66],[-3,4],[-45,45],[-34,36],[-45,45],[-30,31],[-27,-26]],[[5416,6507],[-22,-22],[-20,33],[-42,19]],[[5264,6924],[10,7],[11,30],[-5,31],[6,17],[5,1],[10,22],[19,18],[-2,10],[1,34]],[[5319,7094],[10,-6],[12,-14],[15,-2],[14,6],[6,-6],[17,-5],[8,-12],[20,-6],[5,-13],[0,-14],[7,-25],[4,-7],[17,-9],[10,0],[18,-8],[23,-18],[3,-7],[18,-22],[8,0],[14,14],[10,24],[1,18],[-6,24],[0,16],[3,12],[15,24],[14,13],[10,1],[5,7],[21,-3],[21,-14],[-1,-18],[6,-6],[19,-7],[2,-5],[25,-2],[5,-18]],[[3307,5973],[-4,11],[5,10],[-1,-21]],[[7235,5735],[7,-13],[17,-49],[5,-36],[5,-8],[4,-24],[0,-20],[-2,-22],[-12,-22],[-22,-17],[-9,5],[-4,7],[-7,43],[-1,50],[1,40],[2,10],[0,17],[6,17],[-2,7],[4,10],[6,1],[-14,10],[2,7],[7,-3],[7,-10]],[[5798,3530],[6,-12],[10,-10],[3,-14],[-4,-17],[-5,-7],[1,-10],[-8,-9],[-13,-4],[-5,-7],[-4,-22],[-8,2],[-16,35],[-5,22],[8,6],[12,35],[8,2],[4,10],[13,8],[3,-8]],[[5582,8366],[-1,0]],[[5581,8366],[1,0]],[[5652,8289],[0,9],[-14,16],[-6,-1]],[[5632,8313],[-3,6],[5,24],[-8,11],[-15,1],[-21,9]],[[5590,8364],[-6,32],[0,16]],[[5584,8412],[8,9],[22,11],[15,-4],[8,3],[29,-5],[4,-4],[22,8],[5,-12],[15,-2],[26,-28]],[[5759,8496],[14,-14],[-6,-26],[14,-17],[0,-23]],[[5584,8412],[-2,19],[2,24],[10,12],[0,15],[8,15],[22,11],[18,-21],[4,-17],[12,-7],[19,15],[-2,37]],[[3249,6221],[-2,2]],[[3247,6223],[2,-2]],[[4851,7247],[2,-14],[14,-21],[11,-5],[19,8],[6,-5],[15,7]],[[4919,7214],[2,-9],[17,-2]],[[4758,6776],[-3,0],[1,-30],[-18,-3],[-7,-11],[-16,-2],[-9,7],[-10,1],[-13,-7],[2,-15],[-4,-6],[-8,-25],[-8,-3],[-4,-23],[-3,-30],[-3,-13],[-6,-12],[-12,-16],[-6,-22],[-16,-16],[-4,-13],[-6,-53],[0,-16],[-12,-26],[1,-7],[-4,-14],[-11,-4],[-22,4],[-18,-1],[-12,-4]],[[4527,6416],[1,21],[4,20],[10,13],[4,26],[5,11],[-2,5],[13,42],[-4,0],[8,12],[11,26],[5,4],[5,17],[0,22],[10,45],[0,9],[9,16],[7,4],[10,14],[10,53],[7,16],[24,8],[16,14],[11,23],[15,15],[21,49],[5,19],[1,14],[-7,13],[0,26],[2,26],[3,11],[9,18],[3,24],[-1,7],[11,17],[10,23],[26,19],[21,25],[15,48],[2,15],[9,39],[14,7]],[[5206,7702],[-2,-1]],[[5783,7801],[-3,21],[1,26],[3,22],[-4,18],[-6,5],[-17,36],[-10,30],[-8,3]],[[5739,7962],[20,10],[14,-2],[6,-9],[21,-8],[10,-13],[-1,-25],[7,-10],[5,2],[0,-20],[10,-9],[-1,-16],[6,-9],[-15,0],[-3,6],[-7,-6],[-1,9],[-7,-4],[1,-26],[-13,-19],[0,-11],[-8,-1]],[[6384,4200],[0,8],[5,14],[-5,-22]],[[6370,4487],[-2,-11],[7,-4],[1,-18],[7,-8],[4,-13],[-1,-9],[5,-25],[3,-37],[0,-29],[8,-27],[-4,-34],[-3,-9],[-6,7],[-3,25],[-8,-7],[3,-23],[-2,-5],[5,-11],[-1,-25],[-5,-13],[-6,-24],[2,-29],[-4,-39],[-3,-11],[-10,-59],[-2,-19],[-7,-32],[-3,-29],[-10,-57],[-4,-16],[-2,-24],[-7,-48],[-1,-16],[-4,-13],[-8,-47],[-14,-15],[-11,-2],[-13,-11],[-6,-9],[-12,-2],[-11,17],[-10,2],[-10,15],[-2,20],[-7,14],[-1,45],[3,10],[-4,6],[-1,16],[-6,12],[-4,36],[3,27],[4,6],[0,17],[7,4],[11,46],[4,7],[6,29],[-3,4],[2,24],[-6,18],[1,16],[-6,22],[-1,35],[-3,15],[15,49],[0,30],[12,-1],[11,16],[10,-2],[0,7],[8,4],[4,-6],[1,9],[6,5],[18,25],[3,-7],[-3,-10],[7,2],[-4,18],[4,5],[2,12],[6,8],[-3,-22],[11,28],[-3,11],[3,11],[4,-2],[3,11],[-4,9],[0,19],[7,-1],[1,-10],[4,-1],[0,14],[5,1],[-1,9],[6,-4],[3,5],[1,16],[3,8],[-2,22],[3,13],[5,4],[3,18],[2,-8]],[[2590,6367],[-7,-17],[2,17],[5,0]],[[1889,6595],[7,-4],[1,-9],[-8,13]],[[1800,6801],[-5,-1],[5,12],[0,-11]],[[1880,6866],[3,-12],[-3,-16],[-7,7],[2,17],[5,4]],[[1847,6884],[4,-14],[5,-1],[2,-17],[-11,17],[-3,9],[3,6]],[[2186,6889],[0,-8],[7,-2]],[[2193,6879],[11,-20],[1,-12],[9,-31],[6,-12],[9,-27],[7,-6],[-1,-15],[2,-15]],[[2237,6741],[3,-16],[3,2],[2,-14]],[[2245,6713],[2,-9],[20,-12],[4,-8],[16,-2],[9,-10],[5,6]],[[2301,6678],[0,-14],[-8,-31],[-6,-38],[-2,-30],[-1,-43],[1,-16],[-4,-22],[3,-29],[5,-34],[15,-57],[9,-17],[9,-27],[3,-25],[5,-5],[1,-9],[7,-19],[7,-4],[11,2],[5,-9],[6,-2],[8,-21],[10,3],[16,11],[17,3],[15,13],[10,2],[6,-12],[10,-3],[6,17],[-5,8],[14,16],[5,11],[1,21],[7,14],[-1,6],[1,39],[3,15],[16,17],[19,4],[17,12],[14,2],[20,-9],[6,9],[6,-10],[2,-17],[-3,-16],[-9,-18],[-7,-19],[-1,-19],[-8,-16],[9,-8],[-6,-40],[-3,-10],[-2,-23],[-3,14],[-4,3],[2,18],[-5,-4],[-3,-15]],[[2437,6020],[-20,42],[-19,33],[-11,16],[-10,10],[-1,-6],[-8,1],[-4,13],[-5,-9],[9,-4],[-11,-1],[-8,-12],[-15,-9],[-7,-8],[-8,-2],[-15,10],[-4,6],[-17,3],[-8,13],[-13,6],[-6,14],[-5,0],[-15,8],[-5,0],[-5,9],[-31,22],[-6,11],[-13,14],[-4,13],[-7,6],[-5,-4],[-32,20],[-8,21],[-9,14],[-12,13],[-15,12],[-3,14],[-5,6],[-8,22],[0,10],[-4,8],[3,8],[10,6],[-7,15],[7,12],[1,22],[-6,8],[-7,23],[-2,32],[-9,17],[-15,34],[-12,32],[-21,28],[7,-7],[0,9],[-5,-1],[-9,13],[-6,18],[7,0],[-22,24],[0,5],[-9,-3],[6,9],[-7,-1],[-8,9],[0,14],[4,9],[0,19],[-4,9],[-10,3],[-5,23],[-9,2],[-7,13],[-2,26],[2,3],[-14,4],[-8,12],[-5,13],[-5,5],[-13,29],[-2,20],[-5,2],[1,9],[-11,23],[0,16],[-10,36],[3,20],[-16,10],[-1,10],[-7,6],[-9,-6],[-10,15],[-8,2],[0,-41],[4,-8],[3,-27],[-1,-19],[7,-21],[4,-1],[17,-27],[3,-23],[7,-3],[11,-32],[3,-25],[4,-12],[8,-6],[4,-20],[6,-7],[-1,-6],[8,-25],[-3,20],[8,-10],[0,-9],[5,-13],[1,-29],[9,-25],[10,-36],[-2,-15],[3,-15],[8,-8],[0,13],[14,-16],[4,-23],[7,-10],[0,-14],[-11,-19],[-7,0],[-6,36],[-8,9],[-12,22],[-14,16],[-5,14],[-4,-3],[-4,14],[-3,-1],[-2,25],[3,3],[0,27],[-9,30],[-3,0],[-17,21],[-1,21],[-4,-13],[-10,-1],[-5,13],[-8,9],[-10,6],[0,9],[-16,20],[-1,8],[15,-5],[7,6],[5,-13],[-1,17],[2,28],[-9,26],[-4,3],[-12,26],[-6,2],[-14,19],[-4,12],[0,19],[-5,4],[-1,26],[-7,9],[0,11],[-10,22],[1,15],[-8,14],[-6,28]],[[1746,7056],[66,10],[-1,-12],[46,-30],[58,-37],[79,0],[0,26],[46,0],[11,-20],[8,-8],[14,-26],[6,-4],[7,-12],[6,-21],[-1,-10],[5,-21],[14,-20],[25,-19],[8,14],[4,30],[8,2],[3,6],[5,-5],[20,-2],[3,-8]],[[2290,6649],[-4,-5],[0,-32],[-2,-53],[6,67],[4,13],[-4,10]],[[5582,7536],[0,0]],[[5586,7536],[-4,1]],[[5581,7537],[0,0]],[[5575,7539],[-2,10]],[[5598,7616],[20,7],[2,-4]],[[5117,6285],[0,-124],[-1,-33],[-4,-7],[-4,-29],[-11,-17],[0,-8],[-14,4],[0,-5],[-47,-3],[-9,-17],[-9,-3],[-13,3],[1,-5]],[[4683,5897],[-1,36],[-6,21],[-5,-5],[-8,23],[4,5],[-2,28],[-5,6],[1,18],[-2,5]],[[4659,6034],[5,-2],[7,8],[0,24],[3,11],[6,7],[14,-22],[3,-2],[4,13],[12,1],[14,-4],[13,7],[65,0],[41,0],[5,45],[-8,15],[-1,33],[-2,21],[-1,36],[-2,22],[-6,109],[0,17],[-3,39],[-6,104],[0,14],[-3,39],[0,16],[-3,37],[50,0]],[[7737,5862],[0,-11],[-4,-2],[-1,13],[5,0]],[[7733,5907],[-2,-14],[-1,20],[3,-6]],[[7622,6095],[-2,9],[7,13],[2,-6],[-7,-16]],[[7710,6117],[-4,12],[2,5],[2,-17]],[[7602,6269],[-2,-10],[-5,9],[7,1]],[[7604,6305],[6,-6],[-6,-6],[-3,10],[3,2]],[[7780,6353],[-9,6],[0,-6],[-10,2],[3,-11],[-6,-6],[-8,1],[-1,-17],[-21,-7],[-6,8],[0,-9],[-5,-4],[-2,-10],[1,-18],[-4,-10],[3,-19],[-10,-8],[5,-6],[5,-22],[-2,-10],[11,-23],[4,-17],[7,-8],[-1,-11],[6,-28],[6,5],[-2,-15],[-7,-3],[0,-40],[-9,-4],[-2,-12],[2,-16],[6,-13],[3,-15],[11,-14],[4,-11],[3,-67],[6,-9],[1,-25],[2,1],[3,-19],[-6,-12],[-1,-12],[-5,-17],[-6,-8],[0,-8],[-5,-4],[-2,-23]],[[7742,5779],[-7,-20],[0,24],[-1,18],[7,10],[1,45],[-5,2],[4,20],[-6,11],[5,21],[-3,32],[-9,31],[-4,-1],[0,27],[-3,9],[-5,30],[0,32],[-2,26],[-4,14],[2,25],[-8,-2],[-5,13],[0,18],[-3,12],[-6,8],[0,-23],[-2,-16],[-5,-11],[-11,3],[2,-12],[-16,-8],[-2,-16],[-7,-13],[-9,8],[-6,-4],[0,12],[-5,-9],[-3,5],[3,21],[-12,-19],[-1,11],[4,22],[2,38],[4,9],[0,22],[-2,3],[-2,30],[-6,24],[-5,8],[0,20],[-2,-4],[-1,-16],[-7,9],[-6,22],[9,-10],[6,14],[-11,14],[3,13],[-4,-3],[-6,11],[-10,-1],[2,16],[-4,-12],[-5,6],[5,4],[-5,9],[0,-11],[-7,22],[-3,3],[-3,21]],[[5533,7690],[8,-17],[11,-8],[13,-12],[0,-5]],[[5538,7620],[0,-3]],[[5537,7617],[-6,0],[7,-10]],[[5537,7593],[-14,24],[-10,8]],[[8263,7933],[2,-6],[9,9],[-4,10]],[[7439,8014],[9,6],[1,10],[19,0],[8,3],[15,13],[-2,11],[25,18],[5,0],[8,12],[11,0],[12,16],[9,-2],[7,10],[7,-10],[9,6],[2,-10],[33,-2],[3,-22],[8,-10],[8,1],[15,-8],[9,7],[21,-9],[11,2],[9,-10],[7,11],[15,6],[5,15],[2,14],[-8,6],[-6,22],[7,27],[5,0],[3,14],[8,4],[7,20],[11,-11],[11,-3],[9,-10],[14,0],[23,-15],[7,1],[17,-9],[2,-43],[17,-15],[11,-7],[20,-3],[13,10],[19,4],[4,6],[21,-6],[4,-6],[13,3],[14,-20],[22,-3],[-1,-15],[17,-20],[16,1],[31,-10],[3,4],[9,-6],[20,14],[18,1],[11,8],[10,-2],[8,5],[3,12],[27,27],[17,-1],[17,-20],[9,-1],[12,8],[12,-5],[3,-6]],[[5913,3637],[-22,0]],[[5891,3637],[1,15],[-3,17],[1,16],[-3,3]],[[5887,3688],[1,16],[0,71],[-4,30],[-3,5],[-6,24],[1,14],[-7,44]],[[5869,3892],[31,64],[-2,10],[4,10],[-1,17],[6,7],[9,29],[1,14],[-6,6],[1,36],[-5,2],[0,11],[6,3],[-1,14],[4,4],[-2,36],[3,14],[-1,17],[-5,22],[4,14],[-7,-1],[-1,6],[-13,9],[-9,1],[-5,12],[-5,1],[-7,10],[-9,-2],[-2,4],[-13,-1],[0,21]],[[5844,4282],[-1,18],[-4,20],[19,14],[14,6],[19,16],[4,1],[27,19]],[[5922,4376],[6,-21],[7,-13],[1,6],[17,6],[5,-11],[2,-41],[-5,-11],[0,-9],[-5,-10],[5,-13],[1,-14],[9,-15],[5,-13],[5,-4],[0,-17],[5,0],[-2,38],[4,19],[9,2],[3,5],[1,35],[-1,16],[3,15],[-2,14],[-21,54],[-6,11]],[[5968,4405],[-2,10],[-1,28],[2,8],[-4,14],[0,16],[6,10],[2,25]],[[5971,4516],[19,0],[5,10],[9,-10],[1,-7],[15,1],[7,6],[12,-8],[11,10],[1,13],[7,4],[11,-8],[11,13],[11,0],[5,9],[9,4],[18,27]],[[6123,4580],[6,-13],[-7,-32],[0,-23],[3,-18],[0,-28],[3,-20],[-6,-8],[5,-1],[-2,-39],[4,-23],[-4,-8],[6,-2],[-3,-8],[6,-5],[0,-22],[-5,-7],[1,-8],[-3,-24],[-13,-26],[-3,-14],[-7,-7],[3,-7],[-21,-26],[-1,-7],[-11,-2],[-16,-16],[-6,-3],[-20,-22],[-11,-32],[-8,-15],[-2,-13],[-5,5],[1,-12],[-4,6],[-13,-18],[-6,-17],[-16,-26],[-3,4],[0,-25],[-3,-12],[6,-15],[3,0],[4,-39],[4,-16],[2,-20],[-1,-24],[5,16],[2,-16],[-2,-10],[3,-20],[-7,-50],[6,-4],[-3,-17],[-9,-26],[-13,-11],[-26,-17],[-11,-10],[-12,-16],[-5,-18],[-4,-6],[3,-12],[7,-5],[-1,-33]],[[4659,6034],[-6,12],[-12,16],[-1,13],[-8,8],[-2,17],[-5,13],[-10,-2],[-6,16],[-8,14],[-16,0],[-20,-9],[-19,1],[-1,-15],[-3,-3],[-2,-22]],[[4540,6093],[0,30],[2,18],[8,33],[4,26],[0,28],[-3,40],[-5,20],[-6,11],[9,24],[0,28],[-9,26],[0,-9],[-5,11],[-4,19],[-4,-3],[-1,-16]],[[4526,6379],[-1,6],[3,26],[55,0],[55,0],[0,15],[-4,71],[3,10],[12,16],[17,11],[0,146],[56,0],[36,0],[0,74]],[[6603,4026],[2,-11],[-3,-12],[-9,-1],[0,15],[4,13],[6,-4]],[[5969,4525],[0,2]],[[5969,4527],[0,-2]],[[5964,4534],[0,2]],[[5964,4536],[0,-2]],[[5952,4624],[-3,6]],[[5949,4630],[3,-6]],[[5946,4634],[0,1]],[[5946,4635],[0,-1]],[[5941,4623],[2,-16],[8,-22],[-1,-51],[3,-25],[-8,-21],[0,-15],[4,-4],[0,-16],[4,-12],[-1,-26],[2,-9],[7,-10],[-2,-24],[7,-10],[2,11],[8,-16],[4,0],[-6,34],[-6,2],[0,12]],[[5922,4376],[-7,-1],[-2,12],[-6,14],[6,8],[4,49],[9,3],[5,11],[-4,0],[-4,11],[2,15],[-3,27],[5,15],[-4,17],[7,6],[5,11],[-4,20],[-6,8],[1,15],[-4,12],[-7,1],[-1,11]],[[5914,4641],[10,-5],[4,-7],[9,1],[4,-7]],[[8093,5320],[-2,3],[0,20],[2,-2],[0,-21]],[[8269,5423],[5,-1]],[[7786,5497],[-1,-11],[-3,11],[4,0]],[[7773,5553],[-3,-8],[-3,8],[6,0]],[[7834,5543],[9,-7],[3,-14],[18,-29],[9,-33],[1,-32],[-4,-8],[0,-23],[4,-12],[-2,-6],[1,-32],[10,-15],[3,-23],[8,-23],[1,-24],[-16,4],[-4,-10],[-5,15],[-15,19],[-7,11],[-10,9],[-11,21],[-14,15],[2,9],[-2,17],[-6,17],[-11,19],[2,9],[-4,6],[1,21],[-2,19],[-6,11],[2,6],[-2,23],[0,26],[-7,25]],[[7780,5554],[2,15],[4,-9],[12,-7],[2,-11],[7,1],[0,-19],[-3,-9],[3,-8],[5,9],[9,7],[6,-10],[7,30]],[[8045,5303],[0,-10],[8,-13],[9,1],[16,-8],[6,-6],[0,16],[5,22],[0,18],[4,0],[2,16],[5,8],[11,2],[20,10],[9,9],[12,33],[7,12],[6,19],[1,16]],[[8193,5464],[1,-4]],[[8198,5465],[6,1],[6,15],[-6,9],[6,11],[6,0],[3,14],[4,4],[1,17],[6,6],[1,8],[8,18],[3,19],[3,-3],[-2,-22],[6,8],[3,15],[4,-2],[1,-18],[7,-3],[6,-10],[-4,-13],[5,-16],[6,9],[3,-14],[8,-1],[9,-15],[15,-10],[0,-11],[-15,-13],[-7,-1],[-2,6],[-7,-8],[5,-14],[9,-13],[-18,-12],[-11,10],[-1,-14]],[[8256,5598],[-5,-6],[0,10],[6,4],[-1,-8]],[[5649,4167],[22,9],[17,-1],[7,-5],[6,-12]],[[5554,3757],[1,-13],[0,-196],[-12,-8],[-2,-9],[-7,-5],[-3,-11],[-11,7],[-16,-4],[-16,13],[-5,-1],[-2,28],[-4,0],[-3,11],[-5,-2],[-4,-12],[0,-11],[-8,-7]],[[5457,3537],[-5,4],[-15,27],[-12,41],[-2,21],[-5,18],[2,11],[-5,7],[0,21],[-3,11],[-1,23],[1,20],[-11,53],[1,33],[-2,25],[3,10],[-1,27],[-14,39],[-4,18],[-13,37],[-5,37],[-3,3],[-4,20],[-7,22],[-3,18],[-8,23],[-8,14],[-5,21],[-3,36],[1,12]],[[9665,3952],[5,-3],[-1,-13],[-7,3],[-2,12],[5,1]],[[9646,3990],[4,-27],[-9,7],[-1,8],[6,12]],[[9555,4026],[7,-13],[6,0],[16,-24],[5,-3],[11,-30],[7,-3],[15,-20],[4,-10],[11,-14],[2,-10],[-3,-5],[-12,8],[-2,-4],[-6,8],[-2,13],[-4,-1],[-7,14],[-13,7],[-4,13],[-12,16],[-1,8],[-6,6],[-12,44]],[[5416,6507],[4,-53],[1,-34],[12,-31],[-1,-12],[11,-21],[-7,-29],[0,-21],[-6,-142],[-1,-9],[-22,-46],[-12,-29],[-13,-39],[0,-11],[-9,-19],[4,-39]],[[5377,5972],[-6,1],[-4,-10],[-5,0],[-14,-18],[-2,-10],[-10,2],[-7,9],[-12,6],[-22,1],[-13,-6],[-7,-7],[-8,-20],[-18,2],[-10,7],[-15,20],[-9,1],[-10,-12],[-6,0],[-3,-7],[-7,4],[-4,15],[-12,21],[-3,-3],[-16,14],[-8,-8],[-12,2],[-11,-6],[-9,-11],[-1,-28],[-4,-14],[-8,-13],[-1,-25],[1,-21],[-2,-2]],[[5377,5972],[13,-36]],[[5238,5460],[-5,-4],[-6,14],[5,-21],[-2,-4],[-17,-3],[-14,10],[0,-10],[-4,-4],[0,13],[-4,2],[3,-18],[-25,-6],[-7,6],[-8,17],[-3,12],[-3,27],[-4,8],[-3,17],[-6,13],[-13,20],[-15,4],[-12,-1],[4,6],[-5,2],[0,-9],[-19,-1]],[[2691,6046],[-6,-4],[4,-35],[-7,-20],[-4,-40],[2,-21],[-1,-19],[2,-10],[-4,-2],[1,15],[-5,-4],[4,-12],[-5,-31],[3,2],[1,-14],[-6,-11],[1,-16],[5,-12]],[[2619,5821],[-6,13],[-12,18],[-7,15],[-4,17],[-26,41],[4,10],[6,-5]],[[5093,8141],[24,0]],[[5162,8210],[-10,-17],[-10,7],[15,13],[5,-3]],[[5118,8141],[-21,6],[1,7],[9,1],[7,-11],[-3,33],[8,7],[6,13],[6,36],[10,-1],[14,21],[11,5],[24,3],[9,-12]],[[5140,8230],[7,-10],[-8,-8],[0,-15],[12,-5],[12,14],[-12,20],[-2,13],[-9,-9]],[[5157,8665],[-10,4],[10,9],[0,-13]],[[5249,8849],[3,-8],[-16,-5],[-3,7],[16,6]],[[5244,8857],[-2,-7],[-13,0],[15,7]],[[5344,8955],[3,-6],[-12,-11],[9,17]],[[5387,9114],[3,-5],[-17,-6],[5,13],[9,-2]],[[5420,9124],[-11,-11],[-15,-6],[9,15],[17,2]],[[5441,9154],[2,-15],[8,12],[8,-5],[-1,-15],[-21,-8],[-4,-7],[-17,-3],[6,18],[6,0],[6,23],[7,0]],[[5421,9152],[6,-15],[-9,-5],[-18,7],[21,13]],[[5439,9158],[-11,-3],[20,19],[-9,-16]],[[5492,9188],[10,-7],[-3,-14],[-32,-8],[9,12],[-6,8],[22,9]],[[5523,9207],[6,-7],[-8,-11],[-17,-2],[5,15],[14,5]],[[5533,9218],[12,-6],[-15,-10],[-9,7],[12,9]],[[5652,9249],[5,-8],[-16,-11],[-6,7],[17,12]],[[5649,9262],[-11,-16],[-24,-4],[7,13],[17,-3],[11,10]],[[5856,9203],[2,-15],[-17,4],[-10,-15],[-16,-3],[-11,-16]],[[5572,9158],[-14,0],[7,-8],[-11,-20],[0,-11],[-42,13],[-8,-3],[1,-19],[-8,-13],[-16,8],[-15,-11],[-5,-16],[-14,-13],[9,-12],[-1,-10],[-27,-31],[2,-13],[-12,-7],[-15,-1],[3,-17],[-3,-30],[-5,-12],[-20,-30],[14,-8],[1,-15],[-5,-10],[-21,5],[-15,-8],[-14,-21],[-5,-18],[6,-16],[-4,-24],[7,-20],[-5,-30],[20,-20],[-4,-18],[-13,-4],[10,-29],[-3,-21],[-10,-13],[-7,0],[-6,-16],[4,-21],[-6,-21],[-5,6]],[[5317,8580],[-2,7],[-16,4],[-5,22],[-5,-3],[1,-15],[-5,-12],[-15,-2],[-28,-36],[-16,-16],[-15,-5],[-30,5],[4,7],[-19,9],[-10,9],[-4,11],[2,18],[14,-10],[-5,13],[9,14],[-12,11],[2,-11],[-10,-4],[-8,9],[8,18],[11,0],[-5,7],[7,5],[5,15],[10,13],[-13,-9],[-6,-16],[-6,16],[-6,-8],[-6,8],[3,14],[12,-3],[-1,14],[-10,-9],[-10,14],[3,16],[10,0],[-13,10],[0,10],[11,7],[-11,5],[11,16],[33,-6],[-31,8],[-7,-3],[7,17],[13,1],[25,16],[-12,-3],[12,13],[22,-8],[-1,10],[-16,2],[-2,12],[10,5],[7,-6],[16,2],[4,11],[12,-2],[-5,11],[34,19],[7,-14],[24,5],[-2,8],[19,14],[2,9],[-18,-7],[2,-9],[-26,-14],[-12,16],[15,11],[-3,9],[14,10],[12,17],[13,-11],[0,17],[11,5],[4,17],[19,3],[-10,6],[10,12],[-8,12],[27,33],[-8,8],[9,16],[12,10],[-7,6],[20,4],[10,13],[22,-3],[0,5],[-28,1],[28,31],[-15,-9],[4,15],[30,7],[-22,1],[23,8],[5,-17],[6,8],[-11,14],[17,8],[32,-1],[-9,8],[-29,-5],[2,11],[24,6],[6,22],[10,6],[4,14],[19,5],[11,13],[26,10],[8,-11],[15,2],[11,14],[19,-17],[-5,14],[-18,15],[28,3],[20,-6],[5,-14],[11,25],[29,23],[0,11],[37,-7],[-19,-17],[-9,-26],[8,-1],[6,15],[33,35],[-3,-34],[17,22],[11,6],[-8,10],[28,3],[8,-5],[-19,-29],[14,2],[11,20],[9,1],[21,-14],[8,4],[27,-25],[-16,-2],[-10,-10],[-39,6],[-3,-4],[29,-8],[-2,-12],[34,3]],[[5713,9281],[11,-11],[-15,-3],[-6,9],[10,5]],[[4778,9282],[-1,-9],[-15,-2],[16,11]],[[5647,9686],[-7,-11],[38,-10],[-33,-33],[-23,0],[10,17],[-53,-6],[22,27],[-22,9],[23,8],[45,-1]],[[5596,9708],[21,-5],[1,-13],[-43,-4],[-15,17],[36,5]],[[5313,9706],[24,-18],[-29,12],[-16,19],[13,4],[8,-17]],[[5467,9783],[4,5],[53,-31],[2,-16],[23,1],[8,-9],[40,-9],[-5,-12],[-44,-1],[-22,-10],[3,-21],[-18,-4],[-5,-31],[-14,1],[-11,-30],[-12,-11],[3,-11],[-20,6],[-35,25],[-18,3],[-9,22],[50,-2],[-31,7],[59,9],[-36,4],[-50,-9],[-5,19],[40,3],[17,12],[27,1],[-3,22],[-14,-14],[-16,-1],[-1,23],[-28,-21],[10,-6],[-25,-10],[-23,-1],[-17,20],[-20,10],[21,16],[-19,4],[10,14],[-23,-12],[-16,26],[31,17],[9,-10],[47,12],[-3,-10],[-33,-9],[37,-1],[19,16],[20,-12],[5,-15],[28,-25],[-14,23],[-7,33],[24,9],[7,-9]],[[5642,9812],[113,-16],[-1,-15],[-37,-13],[-5,-13],[-38,-5],[-6,-7],[-32,2],[-1,11],[-57,-2],[-32,10],[22,8],[39,1],[0,7],[-66,-7],[-28,4],[-12,23],[33,-5],[33,19],[53,-25],[3,26],[19,-3]],[[9617,2273],[0,-19],[-6,6],[6,13]],[[9665,2494],[6,-10],[0,-14],[-12,-2],[-5,-8],[1,13],[5,6],[-1,14],[6,1]],[[96,2665],[10,-1],[-9,-6],[6,-11],[-9,-5],[3,13],[-9,8],[8,2]],[[9802,2850],[-4,0],[-2,-14],[9,-2],[1,-21],[4,-9],[10,14],[6,3],[3,-10],[3,13],[9,-2],[-4,-7],[3,-10],[-6,-8],[6,-18],[-8,-17],[-3,-13],[-9,-13],[-6,-23],[-15,-16],[-1,-24],[9,-5],[1,-9],[-7,-4],[-10,10],[-7,-9],[-25,-22],[-4,-20],[0,-17],[-7,-15],[-5,-25],[0,-16],[-8,-3],[-17,-24],[-4,-11],[-13,-7],[-11,0],[-1,6],[-13,-4],[-5,16],[-11,-2],[-2,10],[-8,3],[-3,-7],[-16,3],[1,13],[-9,0],[0,10],[9,6],[-2,8],[4,17],[8,-7],[-4,16],[36,56],[2,7],[10,1],[19,21],[8,4],[16,27],[14,12],[13,29],[6,37],[9,4],[8,16],[1,31],[15,21],[7,0]],[[9872,3102],[4,-10],[-7,5],[3,5]],[[9807,3201],[-1,-14],[3,-11],[8,-8],[8,2],[10,-9],[2,-9],[5,4],[1,-13],[5,-10],[-2,-23],[9,-16],[-3,-21],[7,-17],[8,0],[4,-17],[5,3],[-4,18],[3,20],[3,-14],[7,-9],[1,-35],[2,-7],[14,-7],[19,-13],[10,4],[5,14],[8,7],[8,0],[7,-10],[-6,-15],[-1,-32],[-10,-9],[-2,-34],[-1,12],[-12,1],[-10,-8],[-4,-10],[1,-13],[4,-3],[-5,-25],[-8,-21],[-6,-9],[-9,-30],[-8,-14],[-13,-14],[-3,11],[-9,-1],[-8,12],[4,4],[10,24],[4,27],[-5,17],[-15,10],[-6,12],[-9,4],[-6,8],[1,14],[22,19],[3,41],[4,20],[-3,30],[4,10],[-3,8],[-8,-6],[-2,16],[-6,19],[7,-12],[-2,22],[-11,8],[1,-9],[-26,61],[2,16],[-12,29],[10,1]],[[6629,6344],[-1,12],[8,19],[-7,-31]],[[6474,6141],[-8,37],[-2,0],[-11,55],[-10,44]],[[6443,6277],[13,8],[52,37],[19,12],[9,56],[9,61],[-13,39]],[[6566,6621],[6,-28],[6,-15],[10,-17],[31,-18],[8,2],[6,-11],[13,-39],[7,-13],[8,-2],[0,-17],[-9,-27],[-4,-19],[-12,-17],[-11,-42],[-8,1],[1,11],[-5,-3],[-3,-13],[-4,-4],[-1,-20],[-3,-10],[2,-31],[2,-11],[-3,-4],[-15,-2],[-8,-6],[-7,-12],[-3,-28],[-5,-10],[-5,1],[-21,-7],[-6,-19],[2,-9],[-7,-20],[-8,-3],[-4,5],[-16,-3],[-12,-14],[-7,0],[-7,-6]],[[6557,6684],[2,8],[9,-6],[-5,-27]],[[6893,6556],[-1,-9],[-8,10],[-6,-3],[-8,15],[-5,42],[-13,5],[1,20],[-5,7],[-3,13],[-7,1],[2,-7],[-16,-8],[-13,2],[-1,-4],[-23,-1],[-19,6],[-4,-11],[-28,4],[-5,-6],[-17,-8],[1,8],[-5,2]],[[2729,5623],[3,-19],[-7,12],[4,7]],[[2836,5599],[-8,16],[-7,31],[5,4],[0,10],[5,8],[-5,3],[-4,-7],[-3,16],[-10,15],[-6,5],[-10,2],[-9,-12],[0,-13],[-8,-11],[-12,-10],[0,-8],[10,-19],[4,-14],[-10,-6],[-2,-9],[-13,-2],[0,7],[-8,30],[-1,-14],[-10,8],[-3,19],[-9,8],[-6,-1],[0,8],[-8,-4],[-9,2],[-2,-16]],[[2706,5734],[6,-10],[3,-23],[13,-4],[-4,11],[5,-3],[6,-15],[10,-1],[9,5],[7,12],[14,8],[14,22],[10,-4],[7,2],[-2,-7],[16,-2],[17,-19],[3,-9],[10,-15]],[[3073,4289],[-8,13],[-7,0],[2,-20],[-3,4],[-3,-15],[17,-10],[-2,-8],[7,-8],[4,3]],[[3084,4249],[-2,-19]],[[3044,4127],[-14,19],[0,3],[-13,15],[0,13],[-3,10],[-18,16],[-6,15],[-10,5],[-17,20],[-17,13],[-3,8],[-32,34],[-1,9],[-9,19],[-10,12],[-6,25],[-4,2],[0,15],[3,23],[-10,34],[0,7],[-8,20],[1,6],[-7,9],[-3,11],[-2,23],[-4,10],[-8,9],[1,11],[-4,20],[-12,36],[-1,20],[-4,9],[-2,18],[-5,8],[-4,33],[-6,23],[-14,29],[-6,35],[-7,12],[-6,16],[-16,16],[-11,17],[0,11],[8,6],[-2,16],[-7,11],[3,15],[-8,19],[2,25],[12,23],[0,5],[14,21]],[[8339,5486],[-9,-12],[-3,4],[12,8]],[[8361,5534],[5,-6],[-8,-6],[3,12]],[[8390,5552],[-3,0],[-4,14],[7,5],[7,-7],[-7,-12]],[[8493,5581],[-3,9],[3,5],[0,-14]],[[8251,5645],[-2,-13],[-1,14],[3,-1]],[[8489,5736],[9,-8],[3,-13],[4,4],[-1,-13],[4,-7],[0,-10],[-6,-9],[8,-6],[-1,-20],[3,3],[-2,-23],[5,-6],[1,-27],[-4,-16],[-6,-12],[-1,-28],[-4,20],[1,8],[-6,19],[-1,14],[-5,-4],[0,-9],[-5,-8],[-3,-22],[6,-6],[3,-20],[-1,-12],[-7,-21],[-7,13],[3,8],[-3,9],[-3,-14],[-10,5],[-13,14],[-5,15],[0,20],[-2,0],[1,19],[6,8],[0,9],[-5,11],[-15,13],[-3,-12],[1,-15],[-4,9],[-4,-1],[0,12],[-4,-14],[-6,0],[1,16],[-9,-3],[-7,-26],[-2,-17],[-3,-3],[-5,9],[7,30],[-1,11],[7,16],[16,6],[3,21],[8,1],[2,11],[3,-6],[6,1],[4,-13],[0,-15],[11,6],[2,17],[3,4],[6,-8],[3,5],[0,23],[4,1],[5,-9],[5,10],[7,1],[0,17],[-4,21],[2,8],[5,-12]],[[8503,5750],[-4,-2],[2,14],[2,-12]],[[8453,5767],[7,-6],[-1,-12],[-7,-13],[-12,2],[-2,9],[7,10],[3,10],[5,0]],[[8479,5754],[-4,9],[3,3],[1,-12]],[[8490,5782],[1,-31],[-5,11],[0,15],[4,5]],[[8332,5791],[-6,-5],[2,10],[4,-5]],[[8408,5792],[-5,-9],[0,11],[4,7],[1,-9]],[[8423,5815],[8,-4],[1,-7],[-7,-25],[-1,-15],[-4,-13],[0,-19],[5,-11],[-2,-12],[-7,-5],[-3,15],[-9,8],[-5,15],[2,15],[11,6],[-1,23],[4,23],[8,6]],[[8444,5821],[1,-35],[-2,-9],[-9,-14],[0,-7],[-6,-27],[-3,-4],[2,34],[9,27],[5,33],[3,2]],[[8319,5836],[0,-30],[6,-17],[-10,-11],[-4,-14],[-13,-9],[1,-12],[-9,-26],[-10,-10],[-1,-9],[-8,-14],[-6,-2],[-1,-9],[-9,0],[19,43],[4,0],[9,23],[7,11],[6,20],[12,17],[4,32],[0,14],[3,3]],[[8456,5842],[7,-8],[4,7],[6,-10],[-1,-30],[5,-8],[2,-19],[-8,-4],[2,-10],[-8,7],[-1,14],[2,19],[-2,11],[-5,5],[-4,-4],[1,30]],[[8456,5856],[5,-12],[-5,0],[0,12]],[[8396,5860],[10,-14],[4,6],[3,-11],[7,8],[-1,-24],[-9,-10],[-1,-11],[-6,-6],[-9,-2],[-6,-13],[-2,20],[4,17],[0,39],[-6,1],[3,10],[9,-10]],[[8332,5870],[2,-13],[-3,-2],[-2,15],[3,0]],[[8331,5890],[11,-11],[0,-5],[-10,1],[-1,15]],[[8405,5890],[-5,12],[6,0],[-1,-12]],[[8469,5906],[10,-3],[2,-13],[5,-4],[-2,-6],[1,-33],[6,-24],[-14,0],[-2,10],[-4,0],[-4,10],[6,17],[-5,0],[-6,16],[-8,11],[-3,20],[7,-3],[11,2]],[[8426,5905],[6,-6],[5,-13],[4,-1],[4,-15],[0,-12],[-17,28],[-8,-17],[3,13],[-1,26],[4,-3]],[[8392,5910],[-3,-30],[-3,11],[2,17],[4,2]],[[8434,5912],[3,-18],[-5,16],[2,2]],[[8421,5926],[-7,8],[2,6],[5,-14]],[[8360,5962],[15,-22],[-1,-23],[-3,-26],[-4,-5],[-9,17],[-4,15],[0,14],[-7,12],[-4,18],[10,-4],[7,4]],[[8385,5963],[7,-9],[-4,-11],[-5,8],[2,12]],[[8450,5993],[5,-11],[0,-12],[-7,-8],[-4,7],[3,5],[0,20],[3,-1]],[[8387,6049],[2,-18],[-3,-5],[-3,23],[4,0]],[[8358,6252],[7,4],[10,-14],[13,-6],[4,13],[3,0],[2,-15],[-4,-8],[-1,-29],[3,-15],[4,0],[2,-28],[-8,-32],[1,-4],[-18,-18],[2,-10],[-7,-28],[9,-32],[-3,-1],[4,-30],[5,-10],[10,-2],[-3,13],[8,9],[8,-1],[9,-20],[-1,-12],[5,-3],[3,17],[17,-13],[1,-4],[-12,-1],[0,-8],[5,-8],[4,-16],[6,-8],[2,-12],[-2,-14],[-6,5],[-1,13],[-7,1],[-8,7],[0,14],[-3,11],[-7,6],[-5,16],[-9,7],[2,-18],[5,-15],[-3,-12],[-7,25],[-17,19],[-8,-8],[1,-6],[-11,-4],[-4,16],[-6,2],[-2,-7],[-1,24],[11,17],[-4,14],[-9,-4],[2,-13],[-4,-3],[-4,23],[-7,4],[-1,23],[-4,8],[1,26],[-4,3],[0,23],[9,-15],[9,5],[-3,17],[0,21],[4,10],[-1,11],[0,43],[5,23],[-1,10],[10,4]],[[8740,5620],[-2,-13],[-3,3],[5,10]],[[9256,4529],[13,-10],[0,-5],[-10,3],[-3,12]],[[9195,4611],[7,-2],[-2,-10],[-8,2],[-5,23],[8,-13]],[[9184,4640],[3,2],[5,-15],[-14,1],[0,16],[6,-4]],[[9176,4644],[-1,-9],[-5,5],[-1,9],[6,1],[1,-6]],[[9234,4667],[10,-3],[5,-11],[-10,2],[-5,12]],[[8989,4680],[-11,16],[11,-11],[0,-5]],[[8981,4701],[6,0],[1,-7],[-7,7]],[[9105,4867],[7,-7],[-1,-11],[-7,10],[1,8]],[[9299,4867],[8,-4],[3,-17],[6,-8],[1,-9],[5,-4],[8,-16],[2,-14],[-7,-8],[-5,1],[-10,17],[1,14],[-14,25],[0,19],[2,4]],[[9089,4870],[-4,0],[-2,11],[3,3],[3,-14]],[[9296,4889],[-2,-21],[-1,25],[3,-4]],[[9228,4941],[-2,-6],[7,-2],[0,-17],[-5,-20],[-8,-1],[5,-25],[-8,-9],[-11,3],[2,-8],[-14,-21],[-15,-13],[-24,-2],[-3,10],[-6,4],[-6,-5],[-2,7],[-10,12],[-9,7],[4,14],[11,-5],[3,4],[7,-8],[20,6],[2,24],[4,-27],[8,6],[8,-5],[8,6],[0,10],[10,20],[7,-3],[2,5],[-2,23],[-3,16],[7,0],[5,-8],[2,8],[6,0]],[[8915,5033],[7,-1],[25,-25],[25,-17],[13,-4],[9,-11],[5,-11],[15,-2],[0,-8],[9,-6],[5,-15],[8,-3],[13,-25],[-1,-38],[14,-4],[18,-16],[5,-7],[12,-3],[9,-22],[0,-18],[-25,-3],[0,-12],[5,-13],[1,-15],[7,-6],[8,-21],[12,-8],[3,-30],[7,-9],[2,-19],[21,3],[-4,-19],[1,-9],[7,-6],[15,-2],[1,-5],[-9,-5],[8,-16],[10,-7],[12,-3],[-4,-5],[-9,-1],[10,-10],[-7,-9],[-13,6],[2,7],[-9,8],[-7,-1],[-8,6],[-12,0],[1,5],[-11,-3],[-2,5],[-17,1],[-11,33],[-5,2],[-7,22],[-8,6],[-4,23],[-10,30],[-13,9],[-5,-1],[-7,8],[-9,2],[-6,12],[-6,-1],[2,-13],[-7,10],[1,-8],[-13,8],[4,-19],[-11,-4],[1,-12],[-18,-5],[-6,1],[11,-10],[7,-15],[1,-11],[-22,-23],[-11,10],[-20,-3],[-6,4],[-3,-5],[-6,7]],[[9195,5027],[10,-11],[11,-17],[7,-3],[14,-33],[11,-10],[5,-22],[-2,-14],[-5,-10],[-6,14],[1,21],[-5,19],[-10,21],[-6,2],[-9,16],[-5,4],[-9,15],[-10,7],[8,1]],[[9172,5046],[6,-5],[0,-12],[-8,0],[-3,9],[5,8]],[[9079,5070],[12,-5],[-3,-8],[-17,0],[0,11],[8,2]],[[9154,5105],[6,-13],[-6,5],[0,8]],[[5544,8319],[0,-1]],[[5544,8318],[4,-1]],[[5548,8317],[63,-4],[21,0]],[[5655,8150],[1,-13],[14,-27],[-5,0],[4,-18],[-10,-8],[-18,-24],[-13,-25],[4,-28],[-6,2]],[[5626,8009],[-15,8],[-11,12],[-16,-2],[-4,-6],[-6,6],[-10,0],[-14,-12],[-1,12],[-10,11],[-7,-11],[-9,7]],[[5396,8275],[8,-3],[0,13],[-10,0]],[[5394,8289],[54,20],[12,16],[10,2],[11,9],[27,5],[7,-23],[12,-6],[17,7]],[[3138,6248],[29,-2],[9,-6],[2,-7],[-7,-13],[-9,-5],[-17,3],[-12,-1],[1,15],[-3,7],[3,10],[4,-1]],[[8625,7631],[5,-14]],[[8630,7617],[-7,4],[-11,-15],[-11,-27],[4,-15],[-3,-11],[1,-19],[-11,-5],[-7,-16],[-13,-11],[-8,-14],[-9,1],[-4,-9],[-10,-8],[2,-9],[-6,-13],[2,-13],[9,-2],[17,-29]],[[8518,7361],[-8,4],[-8,-9],[-8,15],[-7,1],[2,-14],[-10,9],[-7,-2],[3,9],[-13,4],[9,5],[-3,9],[10,20],[-3,4],[4,21],[5,14],[-4,8],[-16,7],[-11,14],[1,12]],[[4525,7072],[11,-2],[-3,-7],[-10,3],[2,6]],[[4286,7362],[15,1],[0,-6],[-10,-3],[-5,8]],[[4220,7396],[-11,-2],[-2,9],[13,-7]],[[4248,7409],[-8,0],[0,8],[6,0],[2,-8]],[[4794,7325],[-12,-12],[-21,8],[-10,-7],[4,24],[1,44],[-4,18],[-8,-2],[-1,11],[8,6],[-2,7],[-4,-11],[-9,1],[4,38],[6,7],[7,36],[-1,3],[7,47],[-6,50],[3,7]],[[3492,3797],[-1,-17],[-4,-23],[-1,-22],[-3,-17]],[[5949,6986],[8,16]],[[5987,7012],[-4,-16]],[[853,4163],[-9,-2],[-1,11],[5,3],[5,-12]],[[6422,6601],[-8,-2],[-3,9]],[[6411,6608],[1,10],[-3,15],[1,20],[3,6],[4,24],[6,6],[4,-12],[5,-2],[1,-9],[-4,-14],[4,-14],[0,-15],[-4,-17],[-7,-5]],[[5783,7801],[3,-8],[11,-6],[14,12],[10,-3],[2,-9]],[[5823,7787],[-1,-22],[-14,-4],[-3,13],[-4,-3],[-6,-35],[1,-21],[-3,-13]],[[5630,7730],[-6,15],[8,5],[-10,9],[-6,-14],[-5,9],[-10,2],[-9,9],[5,16],[-15,12],[-6,9],[1,16],[-13,13],[-2,7]],[[5635,7944],[10,8],[7,-5],[20,-6],[10,3],[9,-14],[10,11],[26,6],[3,12],[9,3]],[[9064,7741],[7,1],[-12,-10],[-16,-24],[15,37],[6,-4]],[[9133,7793],[-15,-6],[-10,-15],[-5,0],[-7,-11],[-18,-19],[10,17],[-3,3],[25,28],[9,0],[12,15],[2,-12]],[[9182,7845],[-21,-27],[-10,-9],[15,27],[16,9]],[[9227,7898],[-1,-8],[-10,-14],[11,22]],[[9301,8041],[-1,-17],[-6,3],[7,14]],[[9336,8091],[-7,-15],[-9,-4],[-5,-11],[-5,16],[15,9],[4,15],[7,3],[0,-13]],[[9344,8100],[-7,6],[7,7],[0,-13]],[[8967,8309],[5,-11],[-3,-7],[8,-35],[4,-38],[-6,-46],[5,-11],[-2,-12],[6,0],[9,-69],[10,-33],[0,-7],[8,-36],[-9,14],[-23,9],[3,-6],[-10,-7],[-2,-16],[-12,-57],[6,-26],[8,-11],[0,-11],[5,-21],[9,4],[1,-28],[-3,-6],[-2,22],[-17,3],[-2,6],[-7,-5],[-6,-32],[-5,-9],[-3,6],[-4,29],[7,30],[-3,31],[7,21],[-3,26],[-5,12],[7,55],[0,46],[-3,10],[1,17],[5,19],[-5,18],[-11,14],[-1,38],[4,5],[3,26],[-4,26],[13,9],[1,-9],[10,9],[-4,8],[9,2],[-2,12],[-10,21],[5,-2],[5,11],[3,-8]],[[9669,8321],[-19,19],[4,0],[15,-19]],[[8810,8355],[-14,-11],[8,11],[6,0]],[[8827,8358],[9,-8],[-12,-22],[-6,15],[-6,1],[8,17],[7,-3]],[[5548,8317],[18,15],[-10,2],[-12,-16]],[[5544,8319],[10,17],[0,12],[12,-1],[15,19]],[[5582,8366],[-12,-19],[12,-3],[7,5],[1,15]],[[9609,8371],[18,-27],[1,-11],[-13,14],[-4,13],[-7,6],[5,5]],[[9571,8591],[3,-16],[-8,-2],[-23,-18],[9,26],[19,10]],[[5777,8600],[3,-1]],[[6924,9029],[21,-5],[-5,-13],[-16,18]],[[6396,9167],[-24,-22],[-23,-4],[-10,9],[1,19],[15,16],[13,1],[28,-19]],[[9482,9188],[-3,-8],[6,-25],[-10,6],[-2,19],[9,8]],[[9705,9201],[-6,-12],[-29,7],[-11,8],[14,11],[32,-8],[0,-6]],[[6648,9234],[5,-8],[26,-17],[0,-11],[-25,-1],[-5,11],[-10,-2],[-13,12],[-1,15],[13,8],[10,-7]],[[6464,9295],[14,-14],[-6,-11],[-7,12],[-15,9],[14,4]],[[0,9271],[9990,-7],[-25,-4],[-4,14],[8,11],[30,17],[-9999,-31]],[[8829,9305],[-3,-9],[-20,5],[23,4]],[[0,9302],[26,4],[18,-3],[27,-17],[-12,-12],[-42,-8],[-17,5],[0,31]],[[7160,9347],[-27,1],[22,18],[21,-9],[-16,-10]],[[8580,9366],[-7,-7],[-15,7],[22,0]],[[8592,9374],[-28,2],[18,7],[10,-9]],[[7209,9382],[0,-11],[-19,1],[-8,7],[16,13],[11,-10]],[[7078,9392],[-5,-14],[-16,10],[21,4]],[[6536,9406],[31,-6],[-8,-26],[-15,-9],[-7,-32],[5,-18],[16,-29],[23,-20],[19,-10],[-49,-5],[-16,3],[-2,-8],[-14,12],[-18,-1],[-11,7],[-11,34],[-11,-4],[-10,10],[-19,-6],[-8,6],[-3,22],[11,12],[15,-5],[9,22],[11,9],[-20,7],[7,8],[21,1],[-7,12],[17,12],[13,-2],[20,9],[11,-5]],[[6970,9416],[1,-13],[11,-6],[-42,-7],[3,20],[27,6]],[[8951,9436],[32,-18],[0,-21],[-33,3],[-40,10],[-27,-4],[2,8],[17,1],[17,22],[32,-1]],[[8903,9439],[-10,16],[20,5],[2,-17],[-12,-4]],[[8148,9464],[-16,-15],[-37,13],[18,14],[34,-4],[1,-8]],[[7281,9528],[-4,-16],[-14,11],[18,5]],[[9075,9530],[47,-4],[5,-12],[15,3],[49,-6],[-8,-15],[-25,-8],[-43,2],[-58,24],[7,20],[11,-4]],[[8773,9524],[-11,-1],[6,29],[14,-16],[-9,-12]],[[8863,9565],[40,-20],[10,14],[19,1],[-8,10],[35,-19],[29,1],[50,-20],[-19,-5],[5,-8],[-16,-15],[-40,6],[-11,13],[15,13],[-3,8],[-25,-4],[5,-18],[12,-15],[30,-9],[-38,-6],[-14,10],[-49,-10],[-6,8],[-17,-18],[-33,8],[-25,20],[-2,34],[18,1],[-9,9],[42,18],[5,-7]],[[7674,9577],[3,-9],[-30,3],[27,6]],[[8125,9595],[2,-10],[-18,11],[16,-1]],[[9145,9596],[-23,0],[29,8],[-6,-8]],[[6893,9615],[24,-15],[-21,-24],[-51,-17],[-116,-32],[-47,-18],[0,-15],[-22,-8],[-2,-8],[-17,8],[1,-16],[-26,8],[15,-17],[-16,-8],[-16,-31],[-24,-20],[-36,4],[-11,6],[-20,-6],[-4,9],[24,12],[-30,-4],[-2,8],[26,12],[-3,6],[26,13],[-3,20],[24,4],[-14,7],[18,4],[-18,4],[-3,9],[21,-4],[14,19],[19,-4],[-5,11],[38,20],[23,3],[14,11],[23,-2],[0,12],[52,-5],[61,15],[49,28],[35,1]],[[7679,9622],[-33,-4],[35,11],[-2,-7]],[[8666,7787],[3,-13],[-2,-13],[9,-14],[7,9],[6,22]],[[6367,7850],[-12,-15],[-2,-14],[-4,9],[-10,-14],[-17,0],[-7,-31],[-8,-23],[-10,-8],[0,-13],[14,-11],[8,-28],[-2,-14],[6,19],[-5,-26],[0,-21],[7,-10],[4,-16],[12,-26],[2,-11],[6,-4]],[[6110,7681],[-15,21],[-1,6],[-18,24],[-15,7],[-11,15],[-9,1],[-8,19],[-17,11],[8,3],[-1,11],[8,-6],[11,2],[5,-4],[0,16],[-4,2],[8,10],[2,14],[4,-6],[2,11],[11,0],[-13,17],[-5,0],[-4,15],[6,-3],[13,14],[24,9],[0,13],[-30,-8]],[[6061,7895],[-1,12],[5,17],[11,5],[3,10],[25,-3],[0,13],[6,12],[-8,29],[10,5],[-8,3],[11,26],[-1,14],[-10,-2],[-5,10],[-7,0],[-5,9],[-6,-5],[-8,10],[-18,-4],[-8,11],[-8,20],[-16,-6],[-6,-7],[-10,4],[-5,8],[-13,-5],[-6,10],[2,10],[-4,19],[-7,12],[-11,-3],[-13,12],[-3,17],[8,9],[-8,8],[-1,10],[-11,13],[-13,1],[-9,-8],[-15,5],[-1,-11],[-12,-7],[-3,5]],[[5767,8523],[9,-9],[6,9],[-6,10],[-10,-2],[7,19],[-4,30]],[[5773,8590],[9,11]],[[5778,8608],[-1,16],[11,-5],[3,11],[10,-4],[7,12],[29,-8],[2,8],[-9,9],[-25,2],[-10,28],[-16,-9],[-7,2]],[[5856,9203],[15,-9],[19,18],[16,-11],[14,-3],[-7,-8],[-20,4],[6,-7],[19,-3],[-6,-7],[19,4],[5,-5],[35,-7],[23,-1],[52,-28],[21,-21],[14,-2],[16,-14],[13,-3],[30,-21],[1,-23],[7,-2],[-5,-24],[-21,-24],[-30,-15],[-22,-4],[-28,5],[-22,9],[-27,3],[-27,15],[-36,7],[-24,23],[-11,0],[8,-15],[18,-11],[3,-9],[13,-6],[-4,-7],[14,-3],[21,-20],[-4,-21],[-6,-7],[13,-46],[-6,-4],[16,-15],[15,2],[12,-18],[31,-13],[16,9],[1,21],[-25,5],[-16,19],[-3,12],[10,2],[7,12],[18,-9],[10,-13],[0,-9],[10,10],[31,-15],[9,7],[18,-7],[-4,22],[-19,30],[4,9],[18,12],[6,9],[18,5],[22,27],[11,-8],[20,3],[22,-21],[1,11],[11,23],[0,16],[-20,19],[10,28],[3,31],[-25,18],[18,-4],[37,0],[18,-6],[16,-18],[5,-18],[-38,-5],[-12,-22],[17,-9],[8,-17],[20,-5],[34,13],[5,22],[-3,11],[26,7],[1,6],[24,9],[31,22],[8,-1],[31,13],[-1,-12],[16,4],[-12,10],[32,18],[15,-3],[-7,-14],[6,-13],[-21,-8],[29,-3],[7,6],[11,-7],[1,12],[29,14],[38,-5],[18,17],[25,8],[15,-13],[-10,-8],[1,-13],[16,-4],[8,10],[-6,7],[20,5],[13,11],[0,10],[-22,28],[15,6],[2,10],[74,-10],[20,-7],[19,-15],[62,-29],[33,-25],[2,-9],[17,25],[7,19],[-21,2],[-10,16],[-1,12],[-35,14],[3,16],[12,3],[-6,9],[6,15],[-1,20],[-16,-3],[-2,17],[8,14],[28,12],[15,17],[14,51],[12,16],[5,-5],[52,1],[39,-11],[1,-25],[-16,-26],[1,-7],[-15,-11],[8,-13],[16,-10],[5,-15],[-2,-25],[-10,-9],[8,-25],[-5,-11],[3,-21],[-3,-16],[5,-8],[26,-20],[-15,-16],[3,-22],[-18,-13],[-9,-27],[-20,-14],[2,-15],[-15,-1],[-10,-7],[-22,21],[-22,-6],[8,-15],[27,-10],[22,2],[24,-8],[10,6],[2,16],[13,2],[26,20],[1,17],[24,24],[-1,25],[-11,15],[3,17],[29,12],[31,4],[1,-11],[19,-15],[-5,-15],[5,-20],[-7,-7],[18,-13],[18,-1],[-25,13],[0,18],[20,10],[-11,14],[-5,24],[-19,5],[-24,13],[-17,1],[-20,-10],[-27,5],[3,18],[-10,15],[6,25],[17,20],[-21,41],[-15,12],[14,22],[39,16],[5,17],[-4,28],[15,-7],[6,-30],[-13,-17],[7,-17],[-5,-18],[11,-4],[57,-7],[6,-11],[12,0],[-4,17],[-17,2],[-39,16],[-8,20],[27,8],[17,-13],[15,3],[-5,14],[-15,-2],[15,14],[16,5],[28,-3],[51,-35],[23,-3],[18,5],[14,-7],[-14,-16],[-16,-6],[-2,-17],[7,-12],[-10,-12],[11,2],[0,11],[10,11],[9,-6],[-4,-27],[-10,-9],[14,-10],[-7,14],[18,0],[6,8],[-17,44],[13,23],[-6,11],[-32,15],[-3,11],[-26,4],[-14,11],[4,23],[-11,9],[2,28],[39,5],[43,-1],[59,10],[40,3],[-23,-18],[25,2],[10,13],[-19,21],[-22,4],[14,18],[-21,4],[13,10],[16,-7],[68,47],[67,8],[66,16],[-28,9],[19,3],[22,-5],[25,7],[21,-3],[-16,-13],[58,10],[32,12],[29,-10],[-29,24],[18,-3],[40,4],[1,26],[63,39],[43,3],[33,-17],[-21,-13],[-24,-3],[82,-7],[6,-6],[-27,-21],[36,-1],[4,12],[38,1],[19,-4],[27,5],[47,-24],[3,-16],[19,4],[3,-28],[-21,5],[1,-12],[22,-1],[-2,-14],[-20,-17],[-20,-6],[-12,-13],[-47,-16],[-2,-9],[-32,-15],[-20,-19],[-27,-1],[-12,-18],[-17,-2],[-6,-15],[-15,-12],[23,6],[7,17],[37,-2],[15,8],[51,12],[23,10],[-7,6],[-25,-5],[-6,8],[13,10],[25,-6],[7,7],[8,-13],[19,-6],[22,5],[-2,12],[16,-20],[-8,-12],[44,9],[19,7],[100,-13],[-18,-4],[1,-11],[38,-12],[36,-5],[25,2],[21,-8],[-7,11],[19,-6],[11,17],[-8,10],[3,16],[17,-2],[10,10],[23,-14],[29,0],[12,-16],[7,15],[30,-4],[7,-12],[34,-14],[-34,-12],[30,-6],[-39,-3],[20,-10],[18,-1],[6,-12],[-15,-11],[-19,8],[27,-37],[13,-27],[40,-21],[13,12],[18,43],[10,14],[13,-19],[23,-12],[22,0],[4,6],[31,8],[22,-6],[19,-11],[11,-13],[7,27],[16,4],[12,-13],[17,2],[-3,27],[15,17],[-29,0],[12,16],[37,2],[4,10],[-12,9],[23,-1],[23,-9],[38,0],[50,-8],[39,-12],[-37,1],[-16,4],[-13,-15],[27,6],[42,2],[-26,-26],[10,16],[-12,4],[-3,-17],[-23,-12],[29,4],[30,31],[36,0],[34,-9],[13,-13],[-12,-9],[-7,7],[-9,-11],[25,-2],[-2,-11],[20,2],[0,-13],[24,3],[18,-20],[-13,0],[26,-9],[28,3],[65,12],[45,-1],[26,-6],[33,-17],[11,-25],[-11,-19],[3,-8],[31,-8],[3,-28],[11,-11],[-10,-25],[14,22],[-2,26],[19,17],[51,7],[23,-12],[23,2],[11,-5],[24,-1],[21,16],[16,-13],[2,-19],[29,-8],[7,-18],[22,4],[17,12],[-13,32],[-11,-1],[11,11],[-1,19],[41,-7],[22,-1],[17,-10],[1,9],[37,-6],[20,2],[28,-7],[71,-27],[17,-16],[-9958,-15],[3,-12],[28,-11],[2,-9],[12,1],[20,-19],[16,-2],[-10,-7],[12,-5],[0,10],[12,-7],[8,-20],[10,-2],[-3,-18],[5,-13],[-7,-6],[14,-8],[-1,-14],[17,13],[-11,3],[9,6],[-2,17],[-9,6],[27,1],[20,-12],[-5,9],[32,-6],[10,-17],[13,-7],[10,-17],[5,4],[17,-14],[-9,0],[-14,-11],[-5,-15],[-21,13],[11,-20],[-32,3],[4,-27],[-19,-12],[-8,-11],[16,-5],[6,-9],[-13,-1],[-12,-9],[-23,10],[-2,8],[-16,10],[-33,12],[-4,29],[-29,10],[-12,-10],[-30,4],[-11,27],[9,7],[2,15],[-7,-11],[-28,-4],[0,-16],[13,-11],[-7,-23],[9982,-11],[-10,-13],[-34,-9],[-21,8],[-1,8],[-16,9],[12,-16],[-24,2],[-11,7],[20,-23],[20,12],[-3,-16],[17,-17],[8,8],[12,-25],[2,-16],[-5,-13],[18,-9],[2,-20],[7,-16],[-12,-7],[0,-10],[-28,12],[-22,3],[-10,16],[2,-16],[-21,-16],[-25,-11],[-25,-18],[-12,2],[-7,-10],[-8,4],[-1,-10],[-10,-10],[-11,2],[5,-8],[-22,-13],[-3,-12],[-17,-4],[-1,-9],[-15,-7],[-10,-16],[-6,-18],[-8,8],[-7,21],[-13,9],[-32,0],[-35,-20],[-16,-23],[-4,0],[8,39],[-33,-24],[-5,-14],[-7,-2],[-2,11],[-30,3],[2,-9],[-9,-4],[-5,-19],[4,-12],[-12,-10],[4,-10],[-18,-16],[-10,-26],[1,-19],[13,-7],[1,11],[18,-8],[3,-6],[-15,-21],[1,-36],[11,1],[4,-32],[-9,-10],[-12,13],[8,11],[-6,4],[-8,-7],[6,-6],[-16,-12],[-7,-25],[-1,-16],[11,-34],[-11,-14],[-13,-1],[-6,6],[-15,-9],[-13,-15],[-6,-22],[4,-13],[-3,-6],[5,-22],[-13,10],[-9,-5],[-21,-25],[1,-26],[-7,-19],[-10,-20],[-11,-7],[-2,-8],[-17,-22],[-9,17],[-1,40],[-4,33],[-7,23],[-4,46],[-9,60],[-2,29],[4,46],[6,29],[6,15],[17,15],[7,17],[-5,22],[16,0],[7,14],[15,0],[20,19],[24,33],[3,13],[13,12],[5,12],[8,2],[18,25],[14,14],[-1,8],[30,21],[21,9],[-8,4],[15,18],[-7,9],[8,12],[2,33],[14,12],[17,-5],[-18,17],[-15,-1],[-22,-8],[3,-11],[-8,-6],[3,-9],[-6,-15],[10,-9],[-10,-7],[-5,11],[-10,-2],[-12,-18],[-32,-32],[-19,-14],[8,27],[-17,-7],[5,11],[-3,9],[14,29],[-3,10],[-12,-14],[-10,-2],[-3,12],[-13,2],[-26,-10],[-15,3],[-22,-15],[-1,-18],[-20,-20],[0,-9],[-27,-20],[-13,-28],[-7,-1],[-2,-23],[14,5],[16,-14],[-1,-7],[-11,-3],[-8,5],[-13,-10],[-19,11],[0,-8],[-10,-2],[-2,-8],[-16,8],[-9,-11],[-17,-2],[-9,15],[10,4],[18,-1],[6,4],[-15,8],[-10,14],[-13,-8],[-12,2],[-2,7],[-23,8],[-16,-8],[5,-5],[-14,-5],[6,-12],[-14,2],[-2,7],[-12,0],[-10,-9],[-31,13],[-3,-16],[-8,-3],[-6,9],[4,6],[-27,-1],[-32,2],[-19,-3],[-25,-13],[-19,-30],[-17,-11],[-8,-13],[-5,-20],[-15,-9],[-4,-11],[-11,-12],[-14,-9],[-22,-32],[-12,-26],[-26,-27],[-8,-4],[-15,-23],[-19,-15],[0,-12],[14,-9],[30,5],[0,-28],[-4,-21],[12,0],[5,14],[-6,6],[10,10],[8,-2],[-8,-11],[9,-11],[-12,-22],[16,4],[11,9],[7,14],[1,-9],[-10,-15],[7,-3],[8,26],[-1,20],[16,-8],[9,5],[17,-12],[0,-11],[27,-32],[6,-10],[-13,-12],[8,-5],[1,-15],[-4,-13],[11,-12],[-6,-3],[3,-9],[-9,-16],[-6,-3],[0,-12],[-6,-8],[0,-18],[-4,-4],[-3,-20],[1,-32],[3,-23],[-6,-17],[1,-17],[-6,-17],[0,-14],[-26,-38],[-7,-28],[-13,-18],[-5,-27],[-18,-41],[-15,-25],[-10,-11],[-8,-20],[-6,-6],[-5,-15],[-7,-5],[-11,-25],[-3,-14],[-5,0],[-1,-12],[-18,-20],[-9,-6],[-7,-11],[-8,0],[-12,-10],[-6,7],[-4,-4],[-12,10],[-3,-4],[-1,23],[-9,-11],[1,15],[-16,-21],[-1,-11],[-14,-11],[-4,-17]],[[7858,9748],[0,-12],[30,4],[14,-16],[16,-1],[8,-19],[-16,-10],[-31,-5],[-68,-3],[-33,-14],[-21,5],[21,17],[6,19],[36,39],[19,-6],[2,11],[17,-9]],[[7118,9769],[37,-6],[-27,-3],[-10,9]],[[7523,9794],[79,-8],[-18,-13],[-55,8],[-6,13]],[[6659,9787],[-27,3],[21,7],[6,-10]],[[7715,9797],[-5,-21],[25,17],[20,0],[24,-16],[-9,-24],[-19,-5],[25,-18],[-39,-10],[-38,4],[-11,8],[-50,2],[-18,12],[-1,14],[-33,3],[29,14],[23,19],[77,1]],[[6585,9810],[-4,-16],[-28,0],[1,14],[31,2]],[[6481,9813],[15,-7],[-35,-6],[20,13]],[[6646,9809],[-52,-12],[-13,20],[42,0],[23,-8]],[[6329,9836],[-38,-20],[-39,11],[77,9]],[[6729,9835],[-5,-10],[-29,-12],[-38,1],[-13,13],[14,11],[65,2],[6,-5]],[[6537,9839],[-13,-8],[-22,8],[35,0]],[[6388,9840],[7,-8],[30,3],[-9,-14],[-60,-9],[4,-14],[-38,-4],[16,15],[-22,8],[63,10],[-18,7],[27,6]],[[7225,9845],[-28,-9],[2,9],[26,0]],[[6560,9854],[57,-11],[-29,-1],[-28,12]],[[6542,9848],[13,2],[47,-13],[-19,-7],[-41,18]],[[6797,9859],[20,-16],[-28,-11],[-36,-3],[-17,9],[46,10],[15,11]],[[7536,9852],[-37,1],[2,7],[38,-2],[-3,-6]],[[7665,9859],[54,-29],[-20,-3],[0,-24],[-75,-6],[-22,-7],[-63,20],[36,9],[15,17],[-22,-3],[16,14],[81,12]],[[6577,9869],[28,-6],[-38,-6],[10,12]],[[6605,9878],[14,-9],[-44,4],[30,5]],[[5846,5121],[2,-14],[5,-5],[3,-11],[1,-26],[-1,-18],[-8,-2]],[[5801,5040],[6,7],[8,22],[-4,17]],[[5821,5103],[7,4],[4,-9],[5,7],[5,16],[4,0]],[[4526,6379],[-1,15],[2,22]],[[6163,6147],[4,4],[4,-6],[-8,2]],[[6345,6826],[6,-29],[6,-11],[0,-14],[11,-4],[-4,-5],[5,-5],[11,-23],[8,-6],[0,-16],[6,-10],[-2,-18],[-4,4],[7,-31],[8,-17],[0,-12],[8,-21]],[[6422,6601],[7,-4],[-5,-9],[8,-8]],[[6443,6277],[-4,-2],[-58,-16],[-17,-4],[-27,-27],[-16,-40],[-3,-19],[-9,-11],[-5,1],[-7,19],[-11,-3],[-25,5],[-5,6],[-16,1],[-15,-5],[-11,0],[-7,10],[-9,-11],[-1,-24],[2,-15],[-11,-16]],[[6188,6126],[-2,21],[-5,8],[0,8],[-6,9],[0,15],[-15,23],[-9,25],[0,8],[-7,16],[-2,14],[-11,49],[-18,29],[-9,3],[-6,13],[-13,43],[3,7],[-7,28],[4,20],[0,19],[-8,23],[0,8],[-14,46],[-18,21],[-2,-3],[-12,35],[3,0],[0,20],[-4,7],[-4,18],[-8,11],[1,11],[-5,5],[-8,30],[-4,7],[-8,26],[-7,15],[-6,24],[-8,14],[-6,-3],[-6,7],[5,20],[4,47]],[[6024,6449],[0,-20],[6,-21],[2,-34],[2,-65],[5,-40],[4,-8],[10,-8],[5,-9],[1,-10],[10,-6],[3,-8]],[[5946,5727],[-6,5],[3,17],[-2,21],[-20,35],[-3,45],[2,5],[2,31],[-13,0],[0,-12],[-18,0],[7,-17],[0,-27],[2,-11],[-14,-24],[-1,-9],[-18,-39],[-13,-4],[-14,23],[-7,8],[-11,-12],[-4,-17],[-13,-9],[-5,-10],[1,-6],[-23,0],[-4,15],[-22,1],[-14,-7],[-11,27],[-8,12],[-2,15],[-21,-7],[-3,-21],[-5,-6],[0,-19],[-3,-6],[-3,-29],[-11,-12]],[[5634,5812],[3,13],[-1,15],[-4,-1],[-7,16],[3,23],[-5,-2],[0,34],[-7,7],[-6,-7],[-5,9],[6,21],[7,14],[-5,25],[4,9],[9,9],[-4,7],[-1,18],[8,6],[0,10],[7,15],[2,15],[-2,11],[7,9],[12,2],[11,-2],[0,218]],[[5943,5426],[-14,-28],[-9,2],[-3,6],[-5,-5],[-13,-3],[-6,-13],[-7,5],[-4,12],[-7,-8],[-11,7],[-8,-17]],[[4535,5893],[-1,42]],[[4540,5965],[-5,11],[-1,13],[-14,41],[-8,3],[11,9],[8,18],[9,33]],[[7884,5266],[4,-3],[-4,-7],[-7,2],[7,8]],[[3953,2073],[22,-4],[11,-7],[17,-21],[3,-11],[-10,-7],[-10,20],[-12,11],[-22,11],[1,8]],[[9445,4521],[15,-17],[-6,0],[-3,9],[-8,4],[2,4]],[[9612,4569],[-6,-12],[-3,7],[9,5]],[[9481,4595],[13,-14],[8,0],[5,-13],[0,-8],[-12,4],[-9,10],[-1,11],[-6,3],[2,7]],[[9483,4641],[4,-12],[0,-10],[-5,7],[1,15]],[[9442,4640],[13,0],[11,-20],[-4,-9],[-10,7],[-13,1],[-6,13],[0,16],[3,2],[6,-10]],[[9388,4691],[3,-9],[-6,0],[3,9]],[[9371,4689],[-5,3],[5,6],[0,-9]],[[9466,4701],[6,-16],[-2,-11],[5,-5],[7,-34],[-14,21],[-3,10],[-5,37],[6,-2]],[[9378,4711],[4,-3],[3,-19],[-7,4],[-2,13],[-9,-2],[-1,6],[6,13],[5,-1],[1,-11]],[[9365,4716],[-5,1],[-1,9],[4,5],[2,-15]],[[9349,4747],[6,-9],[-4,-9],[-5,14],[3,4]],[[9405,4746],[4,0],[9,-16],[12,-12],[9,-15],[1,-13],[-7,12],[-11,9],[-18,25],[-3,13],[4,-3]],[[9349,4800],[13,-15],[3,-16],[10,-7],[-2,-7],[-15,13],[-7,18],[-6,9],[4,5]],[[4650,5621],[2,-12],[-12,10],[10,2]],[[4681,5581],[-6,9],[-23,18],[1,15],[-7,4],[-6,10],[2,3],[-3,18],[-5,-4],[-3,18],[7,1],[-6,7],[0,11],[4,7],[-6,5]],[[2560,5955],[-2,-14],[-12,0],[-13,5],[-14,14],[-14,2],[-8,11]],[[6359,5831],[0,-104],[-27,-84]],[[6201,5844],[18,-44],[13,-18],[15,0],[11,15],[4,0],[10,12],[11,-4],[6,-7],[6,4],[21,25],[8,-5],[14,3],[9,10],[12,-4]],[[6359,5831],[14,5],[4,7],[7,0],[12,7],[13,23],[15,-9],[-5,-19],[-1,-18],[2,-35],[8,-8],[-14,-6],[-3,-53],[-4,-8],[-1,-12],[-6,-10],[-3,-22],[-6,-20],[-8,-13],[0,-11],[-6,-25],[-10,-29],[-4,-29],[-12,-48],[-13,-33],[-7,-26],[-12,-30],[-14,-28],[-10,-24],[-9,-15],[-8,-19],[-21,-26],[-8,-7],[-18,-27],[-8,-17],[-10,-15],[-22,-48],[-11,-21],[-18,-49],[-9,-28]],[[5183,5187],[-3,-2],[-1,13],[5,8],[3,-11],[-4,-8]],[[3409,5499],[3,3],[1,20],[5,7],[8,-2],[20,-10],[2,10],[33,0],[18,-8],[-1,-20],[-3,-8]],[[5626,8009],[-12,-39]],[[5377,7802],[3,6]],[[5474,8485],[-7,-30],[-12,-34],[0,19],[19,45]],[[5521,8514],[8,1],[-8,-14],[-2,-22],[-10,-8],[-5,7],[-1,19],[10,16],[8,1]],[[5327,8537],[-2,-9],[-9,3],[11,6]],[[5671,8973],[-41,-2],[-9,5],[1,-19],[-16,0],[3,-8],[-13,0],[4,-13],[-10,-13],[-4,-15],[12,-15],[-17,-17],[-4,-15],[-13,-13],[-8,1],[-11,-13],[-32,-24],[0,-9],[-17,-3],[5,-11],[-5,-7],[-15,-2],[5,-14],[-5,-29],[-7,-9],[5,-32],[0,-18],[10,-10],[10,4],[14,-25],[9,-2],[6,-19],[-20,-23],[-6,3],[8,-16],[-17,-16],[-18,-13],[-13,-2],[8,-8],[-6,-3],[3,-15],[-10,-16],[6,-8],[0,-17],[-6,-10],[-3,-37],[-3,0],[-6,-23],[-5,-8],[-6,5],[-27,-3],[-11,-14],[-2,-11],[5,-10],[-6,-9],[-11,3],[-10,-5],[-14,2],[4,15],[-14,31],[8,6],[-6,8],[8,2],[-15,26],[-18,47],[4,27],[-4,8],[-9,-4],[-4,9],[-1,39],[6,-6]],[[5891,3637],[-3,2],[-1,-29],[-12,0],[-11,7],[-9,22],[0,24],[7,17],[1,10],[8,11],[14,-15],[2,2]],[[3249,6221],[-2,2]],[[5999,7178],[-3,27],[1,18],[-4,4],[1,20],[3,4]],[[5997,7251],[7,-5],[5,9],[0,11],[9,3],[-4,14],[4,21],[8,-5],[2,-7],[12,0],[5,6],[18,10],[10,-11],[16,-3],[21,8],[20,17],[22,-1],[16,7],[4,7],[4,-12]],[[5402,5930],[5,0],[0,13],[-4,3],[-6,-5],[2,-5]],[[5398,5936],[-1,0]],[[5044,5541],[-12,-7]],[[7728,5654],[6,-7],[0,-10],[-6,-6],[0,23]],[[7840,5883],[5,-11],[-4,1],[-1,10]],[[7858,5853],[-4,22],[-5,11],[-1,-7],[-12,18],[0,8],[-5,0],[-8,10],[-7,-5],[-16,5],[3,15],[-3,7],[4,21],[-11,5],[-15,-8],[-2,-9],[4,-13],[-4,-16],[0,-27],[2,-5],[-7,-15],[0,-11],[-4,-13],[-5,-20],[0,-15],[-9,-32],[2,-7],[-2,-27],[5,-21],[-3,-10],[16,5],[4,-12],[1,-29],[9,-16],[0,-12],[4,-37],[4,-16],[-4,4],[-3,29],[-6,-2],[2,-13],[6,-18],[6,0],[9,-18],[12,1],[6,-4],[6,-21],[7,-12]],[[7780,5554],[-4,13],[-8,12],[2,14],[-6,2],[-5,10],[-2,18],[-7,5],[1,7],[-5,11],[-4,1],[-3,18],[-5,-2],[-2,-12],[-4,5],[-2,18],[2,14],[4,19],[0,16],[3,16],[7,40]],[[6962,7540],[0,0]],[[6882,7324],[1,20],[12,24],[3,15],[-7,12],[-2,14],[4,10],[-2,9],[-12,1],[0,7],[-9,4],[2,16],[8,9],[18,-6],[7,6],[0,11],[8,4],[1,14],[-10,2],[13,4],[7,-3],[1,9],[-4,11],[5,14],[8,-8],[18,14],[5,7],[8,-18],[-11,-19],[7,-10],[9,3]],[[6497,7333],[-3,23],[2,30],[-1,22],[4,15],[-12,17],[0,9],[-11,0],[1,8],[14,2],[-9,14],[6,10],[-5,3],[-14,-3],[-5,6],[0,25],[4,9],[2,19],[4,-11],[13,-1],[5,-8],[16,6],[1,12],[8,-6],[3,14],[-19,23],[-4,34],[-6,5],[-16,-3],[-5,-6],[-5,-17],[4,0],[-3,-19],[-7,9],[-3,13]],[[6554,7562],[29,-5],[4,7],[-4,7],[-2,23],[4,3]],[[6585,7597],[4,-18],[11,-2],[7,14],[-6,6],[0,13]],[[6601,7610],[5,1],[4,19],[7,-2],[-3,10],[11,1],[2,6],[8,-12],[7,-2],[7,-14],[13,2],[5,-8],[-1,-12],[6,-8],[-5,-4],[4,-10],[-3,-10],[11,-11],[18,1],[6,-3],[7,6],[9,-10],[8,-36],[4,-2],[5,-29],[27,-31],[4,-10],[13,-16],[5,2],[10,-14],[27,-29],[7,1],[19,-14],[3,-4],[-4,-9],[0,-25]],[[8444,4645],[12,9]],[[8469,4667],[5,9],[1,10],[20,8],[10,-1],[6,5],[3,-4],[11,10],[11,-6],[-13,-19],[-8,-3],[-4,-9],[-7,-2],[-6,-8],[-10,-3],[-15,-17]],[[130,3966],[6,0],[-1,-7],[-5,7]],[[3308,5807],[-4,-9],[1,-31],[-4,-4],[-14,-1],[-5,4],[10,7],[0,20],[-5,5],[8,7],[13,2]],[[5303,7135],[4,-6],[-9,-6],[0,11],[5,1]],[[5238,7310],[7,2],[10,15],[13,6],[17,-9],[-4,-1],[6,-17],[-5,-4],[10,-3],[14,20],[3,-14],[-10,-23],[-6,-4],[-3,-16],[6,-18],[11,-10],[-1,-16],[3,-7],[-3,-11],[-12,-28],[-14,-14],[-2,-16],[4,-12],[9,-10],[6,4],[0,-13],[11,4],[2,-20],[9,-1]],[[5778,7600],[-2,-9],[6,-15],[20,-17],[6,-2],[-3,-13],[-14,-1],[-9,6],[-6,-7],[-12,1],[-9,-20],[-14,-10],[-15,-24],[2,17],[13,10],[3,7],[-20,-3],[-1,9]],[[5997,7251],[2,5],[-6,17],[12,18],[0,11],[-6,7],[-10,-18],[-8,-3],[-18,15],[-11,-13],[-17,-26],[-7,1],[-17,-8],[-13,9],[-7,18],[-21,18],[-18,5],[-3,-3],[0,-18],[-5,-18],[-4,6],[-13,-10],[-12,5],[-7,9],[0,16],[-7,-1],[-7,9],[-10,3],[-3,-6],[-11,1],[-2,-6],[-9,3],[8,5],[12,0],[-1,7],[8,7],[-15,-3],[-12,2],[-1,8],[7,-2],[-10,13],[0,14],[-5,5],[7,4],[-1,13],[-17,7],[-11,9],[7,6],[-4,14],[4,3],[5,-20],[14,8],[-7,0],[-5,16],[6,2],[3,10],[-6,-2],[0,14],[-6,9],[9,16],[-24,-6],[2,29],[16,25],[16,3],[2,-7],[11,-1],[-1,11],[8,-2],[-2,-7],[11,3],[19,-3],[1,7],[-8,3],[5,6],[27,5],[-15,3],[-11,13],[6,13],[19,-6],[11,5],[15,-8],[9,1],[7,11],[29,28],[14,6],[10,9],[28,-6],[10,0],[10,9],[1,-10],[6,-11],[9,-5],[10,6],[4,-16],[8,-13],[5,8],[12,-5],[0,-6],[13,-8],[8,0],[15,-7],[32,11],[4,-6],[14,-5],[12,7],[24,20],[3,7]],[[8378,6635],[10,-12],[-5,-8],[1,-22],[-6,-18],[-4,-43],[-3,-19],[-6,-20],[-4,-5],[-4,-17],[-1,-27],[-5,7],[-1,16],[-11,20],[-2,22],[-3,0],[2,15],[0,20],[17,58],[3,3],[4,18],[12,7],[2,9],[4,-4]],[[6108,4736],[-7,-14],[1,11],[6,3]],[[6093,4842],[6,-26],[-4,-4],[-7,16],[0,15],[5,-1]],[[6102,4899],[5,-11],[-3,-19],[-2,30]],[[5914,5071],[5,-1],[2,-12],[-9,7],[2,6]],[[5882,5125],[1,0]],[[5883,5125],[1,0]],[[5884,5125],[-1,-28],[-2,0],[-1,-30],[-2,-20],[4,2],[0,-28],[2,8],[4,-3],[0,13],[5,-3],[-3,10],[7,6],[2,-10],[12,-2],[8,5],[3,-7],[17,17],[-2,8],[-4,-6],[-10,4],[5,8],[-3,9],[5,-1],[5,9],[-1,12],[6,0],[-2,7],[8,17]],[[6088,4913],[1,-10],[-4,-16],[-3,-25],[-5,-21],[2,-26],[5,-5],[12,-22],[2,-15],[-4,-5],[-4,-23],[1,-10],[4,-2],[0,-13],[-4,-14],[2,-25],[4,-7],[0,-16],[4,-4],[0,-15],[4,-21],[-2,-8],[15,-16],[5,-14]],[[5971,4516],[-2,9]],[[5969,4527],[-5,7]],[[5964,4536],[-4,14],[2,20],[-2,4],[-1,30],[-7,20]],[[5949,4630],[-3,4]],[[5946,4635],[-4,-2],[-1,-10]],[[5914,4641],[-12,10],[-3,6],[-13,6],[-6,6],[-4,13],[-11,6]],[[5865,4688],[0,10],[-4,5],[-1,11],[-11,36],[1,11],[-3,8],[2,12],[-5,9],[-7,21],[-6,-1],[-6,12],[0,13],[6,7],[-5,32],[1,21],[-6,5],[2,27]],[[5846,5121],[10,4],[26,0]],[[5883,5125],[1,0]],[[5944,5197],[-8,-3],[1,8],[-8,-8],[-3,15],[-5,-3],[-2,-12],[-6,-7],[0,7],[-6,-6],[0,10],[-8,-17],[-9,0],[-4,-9],[3,-7],[-9,-26],[2,-14]],[[5823,5155],[5,6],[2,14],[-6,2]],[[5846,5254],[4,-12],[9,28],[10,11],[3,11],[-1,25],[-3,-9]],[[6061,7895],[-18,0],[-6,-11],[-4,2],[-12,-13],[-4,3],[-22,-8],[-14,-18],[-4,3],[-11,-12],[4,-22],[15,-28],[18,10],[13,-3],[-5,-9],[1,-11],[-17,-4],[-9,7],[-4,-10],[-23,-12],[-12,-18],[-10,-2],[-11,11],[5,5],[1,24],[-8,3],[-11,13],[-9,-2],[-1,8],[24,21],[8,2],[-1,14],[-6,-3],[-5,10],[-3,-6],[-18,-3],[-17,14],[4,8],[-7,6],[17,-5],[4,9],[-11,-4],[-6,5],[-25,-2],[-24,-46],[-5,1],[-10,-23],[4,2],[-3,-14]],[[5836,7853],[9,-17],[2,3],[-11,14]],[[5948,7848],[0,-9],[-11,7],[3,-13],[4,5],[21,-17],[6,-8],[4,-20],[9,-4],[-12,23],[-7,26],[-10,-6],[-7,16]],[[3523,3302],[-5,-5],[0,-12],[-8,-5],[3,-30]],[[3517,3240],[-4,-18],[-7,-13],[0,-7],[-13,-16],[-20,-17],[-12,10],[-14,0],[-7,-8],[-20,15],[-8,13],[-18,-1],[-16,29],[-2,10],[3,27],[-1,10],[9,9],[-4,31]],[[677,6342],[13,-11],[2,-12],[8,-13],[-6,-10],[-16,-13],[-3,-11],[-7,9],[1,15],[-4,25],[5,12],[-1,17],[8,-8]],[[649,6394],[3,-7],[7,2],[8,-8],[0,-7],[-9,-6],[-4,2],[0,10],[-7,7],[2,7]],[[631,6405],[16,-4],[-2,-5],[-15,2],[1,7]],[[613,6427],[6,-8],[1,-12],[-13,2],[-3,14],[7,10],[2,-6]],[[571,6463],[4,-3],[-1,-14],[-8,-3],[-6,11],[11,9]],[[2301,6687],[-6,35],[0,12],[6,-47]],[[2761,6828],[-2,-18],[-2,17],[4,1]],[[2366,6873],[3,-1],[-11,-13],[8,14]],[[1707,7111],[7,-9],[-6,0],[-1,9]],[[1671,7144],[8,-4],[-8,-2],[0,6]],[[2993,7551],[-6,-11],[8,7],[8,-1],[-20,-15],[-36,-12],[-4,1],[4,11],[7,6],[29,6],[10,8]],[[2582,7791],[0,-10],[-7,-17],[-3,8],[10,19]],[[2679,7836],[1,-8],[-10,3],[9,5]],[[2563,7913],[-19,-17],[-6,0],[5,14],[8,6],[12,-3]],[[2541,7956],[-2,-6],[-15,-14],[0,8],[17,12]],[[1595,7969],[-3,-9],[8,-13],[-1,-5],[-9,17],[5,10]],[[1582,8004],[-1,0]],[[2511,7947],[-14,-11],[-19,-11],[-20,-29],[-17,-21],[9,-3],[22,14],[6,0],[-5,-19],[14,-2],[11,5],[7,9],[14,4],[10,7],[7,13],[7,-14],[-1,-10],[10,6],[9,-1],[12,-22],[11,0],[9,-4],[14,14],[18,-2],[13,6],[0,-17],[15,-1]],[[2663,7852],[-3,-10],[9,-12],[-16,1],[-5,4],[-2,-11],[-7,9],[-15,5],[-3,-7],[-25,-7],[-13,0],[-15,-39],[-3,-12],[-10,-17],[2,-8],[10,17],[7,-3],[-11,-49],[1,-13],[-6,-26],[0,-14],[4,-15],[-2,-28],[9,-33],[8,-4],[16,14],[7,22],[5,26],[0,15],[-9,37],[3,10],[-3,17],[8,20],[0,14],[5,15],[7,2],[7,15],[-3,-22],[4,-4],[4,14],[0,16],[11,5],[-3,15],[9,10],[13,-8],[6,-11],[16,-7],[6,-13],[-4,-11],[4,-6],[-1,-28],[-6,-5],[-1,-13],[-7,-2],[-3,-18],[6,-5],[7,6],[6,16],[9,5],[7,-10],[4,-37],[3,-14]],[[2704,7634],[-5,5],[-3,-17],[-6,-8],[-3,-17],[-6,-12],[15,-11],[7,0],[5,-7],[9,4],[14,3],[9,12],[24,15],[26,21],[14,21],[5,2],[-1,17],[-5,3]],[[2804,7674],[10,6],[16,2],[13,-8],[18,0],[8,5],[15,19],[-3,9],[4,4],[-7,11],[15,16],[1,7]],[[3116,7818],[10,-9]],[[3134,7784],[3,-9],[-3,-20],[-20,-16],[-6,5],[-13,-5],[1,-9],[-12,11],[-3,-22],[-14,-14],[-10,3],[-8,-8],[1,-9],[-11,-15],[-6,-22],[1,-15],[5,1],[-13,-19],[9,-7],[5,-23],[17,-8],[-14,-3],[-6,-6],[0,11],[-15,-14],[0,12],[-5,5],[-1,-17],[-12,-9],[-29,-2],[-6,-9],[-8,-1],[-23,-27],[-1,-10],[8,-1],[-2,-29],[-3,-14],[-7,-9],[-1,-11],[-12,-24],[-1,15],[-7,2],[-10,13],[3,-23],[9,-21],[1,-16],[-10,-31],[-7,-13],[-8,-30],[-2,11],[4,20],[6,17],[-6,-2],[1,9],[-13,21],[-1,17],[4,11],[-2,15],[11,15],[-5,0],[-11,-10],[2,-16],[-4,-6],[0,-23],[4,-6],[1,-20],[-9,11],[-8,-2],[9,-4],[11,-13],[-2,-17],[-6,3],[8,-12],[-7,-12],[6,-8],[-4,-8],[12,-4],[5,-35],[7,-23],[-5,9],[-6,38],[-2,-15],[6,-17],[-9,5],[0,-7],[-15,-4],[-2,-6],[15,3],[13,-8],[-1,-17],[-3,2],[-5,-13],[-13,1],[-2,9],[-4,-8],[7,-6],[-2,-11],[-11,-8],[17,-2],[-7,-11],[-15,-4],[-15,-18],[-9,-27],[-11,1],[-13,-12],[-5,-10],[-4,-21],[-22,-32],[-14,-8],[1,-8],[-12,-15],[1,-5],[-11,-14],[-3,-12],[2,-18],[-4,-5],[-3,-19],[8,-63],[9,-38],[9,-26],[-5,0],[0,-10],[18,-75],[3,-31],[-2,-12],[-1,-28],[-4,-11],[-4,-29],[-12,-1],[-7,-4],[0,14],[-6,25],[-6,7],[-6,0],[-3,31],[-6,5],[0,20],[-7,-2],[-6,21],[-3,18],[7,15],[-1,8],[-7,6],[0,-19],[-5,8],[2,21],[4,14],[0,26],[-4,16],[-7,0],[-10,20],[-6,20],[-11,14],[-10,-4],[-10,-15],[-16,-5],[0,7],[-11,20],[-22,14],[-15,-1],[-2,9],[-4,-11],[-14,-5],[-4,7],[-1,16],[-3,2],[-2,-22],[-5,5],[-5,-5],[-10,6],[-14,-7],[-7,-9],[-11,7],[-4,7],[-8,-12],[2,-7],[10,-1],[3,4],[6,-14],[5,12],[3,-3],[-8,-29],[4,-8],[11,-5],[3,-9],[-4,-9],[-3,10],[-15,9],[2,4],[-12,11],[4,-9],[-2,-16],[-10,12],[-8,-14],[-15,9],[0,13],[-7,3],[-3,12],[-6,5],[-9,-8],[4,-6],[-13,-2],[-21,13],[-16,-5],[2,17],[-8,-18],[-17,-13],[-1,19],[-8,-5],[-1,-9],[4,-12],[-8,-12],[1,-4],[-14,-18],[-16,-9],[-12,8],[1,-9],[6,-8],[-7,-6],[-5,6],[1,-12],[-12,-8],[1,-14],[-7,-33],[-3,-26],[7,-32],[1,-16],[3,-1]],[[2245,6713],[1,7],[-9,21]],[[2193,6879],[-7,10]],[[1746,7056],[-4,10],[-2,27],[-8,16],[-15,18],[-6,2],[-3,12],[-9,0],[-10,6],[-10,18],[-21,3],[-9,5],[0,33],[-7,5],[0,12],[-12,15],[-5,18],[-9,13],[-4,23],[5,9],[-3,11],[-6,-1],[-8,13],[-3,21],[3,5],[9,-11],[-10,29],[8,6],[-7,6],[-2,-19],[-16,13],[5,3],[-7,20],[-7,6],[-10,20],[1,10],[-4,16],[2,10],[-2,15],[-7,17],[-8,9],[0,19],[8,15],[-2,17],[3,16],[-2,16],[-5,5],[3,12],[-5,8],[-1,32],[-5,10],[9,41],[4,25],[2,52],[2,11],[1,62],[13,7],[-14,-2],[1,29],[-4,-2],[6,13],[-7,6],[-10,44],[-7,20],[6,11],[15,-11],[24,0],[7,-6],[4,-14],[-9,-15],[12,8],[2,-20],[-7,-10],[2,-4],[10,14],[-1,29],[5,8],[-5,18],[-9,6],[8,12],[-10,16],[1,6]],[[60,8169],[1,-9],[-11,9],[10,0]],[[80,8161],[-11,0],[12,11],[-1,-11]],[[96,8175],[2,-14],[-10,0],[1,14],[7,0]],[[177,8186],[18,-5],[-12,-3],[-15,5],[9,3]],[[162,8200],[5,-4],[-4,-12],[-7,-4],[-27,-2],[22,6],[9,7],[-7,4],[9,5]],[[9827,8206],[-2,-8],[-9,2],[11,6]],[[9802,8235],[12,-10],[-11,-5],[-1,15]],[[332,8268],[5,-12],[-32,-29],[11,24],[7,1],[-1,9],[10,7]],[[367,8291],[6,-8],[9,8],[-9,-15],[8,1],[-14,-16],[-4,1],[-20,-13],[-6,4],[19,9],[1,25],[10,4]],[[391,8303],[7,-5],[-10,-3],[3,8]],[[451,8354],[5,-1],[6,-16],[-8,-9],[-16,0],[-4,-9],[-14,-3],[-3,11],[7,3],[10,16],[3,-2],[14,10]],[[1304,8361],[8,-30],[-14,25],[6,5]],[[558,8363],[-9,-20],[4,19],[5,1]],[[1355,8404],[7,-16],[-1,-16],[-6,-11],[-13,9],[-5,8],[5,20],[13,6]],[[1295,8417],[2,-9],[-14,-4],[5,11],[7,2]],[[1319,8419],[9,-1],[0,-12],[-13,5],[4,8]],[[1289,8428],[10,-1],[4,-16],[13,-7],[9,-30],[9,-9],[-1,-33],[-16,17],[2,8],[-21,10],[8,20],[-11,-1],[6,13],[-3,17],[-9,2],[0,10]],[[1315,8433],[-5,-12],[-6,8],[11,4]],[[1328,8428],[4,-13],[-9,9],[0,12],[5,-8]],[[1308,8454],[9,-14],[-10,-3],[1,17]],[[1278,8457],[7,-4],[1,-11],[-6,-6],[-6,-28],[-3,4],[0,20],[-4,26],[11,-1]],[[1283,8470],[24,-10],[-2,-17],[-9,13],[7,-18],[-16,-4],[0,23],[-10,9],[6,4]],[[745,8475],[8,0],[-14,-10],[6,10]],[[1234,8479],[-1,-12],[-6,-2],[-1,19],[8,-5]],[[1237,8491],[8,2],[9,-14],[7,-29],[-1,-30],[-5,0],[-13,33],[-1,15],[-10,18],[6,5]],[[749,8519],[11,0],[7,-8],[-2,-10],[8,0],[-4,-10],[-18,4],[10,-7],[-18,-9],[-14,-22],[-10,-6],[6,10],[-12,-1],[-12,22],[3,14],[7,7],[10,0],[7,-19],[-4,28],[5,5],[16,-5],[-3,10],[7,-3]],[[1229,8536],[23,-12],[-1,-13],[-7,-1],[-18,12],[14,-15],[13,1],[1,-16],[-7,0],[-19,17],[7,-17],[-4,-6],[-8,6],[-1,10],[-12,12],[1,20],[18,2]],[[1252,8544],[6,-11],[14,-6],[8,-16],[-2,-5],[2,-21],[-19,-19],[-1,12],[4,10],[-5,13],[-7,43]],[[761,8550],[18,-11],[-6,-8],[-18,-4],[-10,2],[1,9],[10,1],[5,11]],[[913,8659],[5,-3],[-25,-29],[20,32]],[[385,8661],[13,-6],[2,-22],[-19,-5],[-10,2],[-19,13],[-4,7],[16,0],[9,9],[12,2]],[[929,8665],[13,-4],[-15,-9],[2,13]],[[897,8667],[-2,-19],[-4,10],[6,9]],[[231,8857],[0,-6],[17,-7],[20,7],[23,-20],[21,-2],[-2,-9],[-15,1],[-9,-13],[-3,10],[-28,19],[-17,-8],[-13,10],[6,18]],[[1387,8402],[-3,-8],[4,-28],[-10,-21],[-9,-8],[-7,2],[-3,23],[6,6],[-1,24],[-15,16],[-8,-7],[-7,-22],[-9,13],[7,4],[5,24],[-18,22],[-11,25],[-19,8],[12,9],[-11,10],[-3,12],[14,-6],[-15,12],[-15,23],[-16,11],[-4,24],[-6,1],[-1,17],[-6,-11],[7,-17],[1,-24],[-13,11],[-8,-2],[2,13],[-8,12],[-3,-4],[-17,8],[19,-18],[2,-12],[-9,-4],[-20,5],[-23,23],[-9,16],[-34,19],[-11,9],[12,10],[-5,11],[-18,-12],[-9,0],[-21,9],[3,11],[-13,-5],[-31,8],[-30,-6],[-12,12],[-16,5],[3,18],[-11,-14],[-21,5],[9,13],[-18,-1],[-16,19],[-12,1],[-2,-7],[-15,-3],[-3,6],[9,19],[-17,-18],[2,-20],[8,-8],[-6,-3],[-8,-27],[-18,1],[-5,-5],[-2,13],[-12,-25],[-13,3],[-7,-13],[-19,-17],[-16,-2],[-6,6],[3,9],[19,10],[2,8],[-11,-6],[-10,7],[4,16],[8,10],[5,19],[-5,8],[27,21],[6,-6],[18,3],[-14,10],[4,5],[-19,4],[-15,-15],[-9,-2],[-20,-27],[-7,-16],[-11,-2],[9,-10],[-18,-24],[-11,0],[-4,-11],[-9,-5],[-3,-20],[10,3],[13,-8],[2,-6],[-11,-12],[-5,0],[-14,-31],[-4,7],[-2,-11],[-12,1],[-9,-17],[-9,2],[-2,-13],[-10,-1],[-14,-15],[7,-5],[-7,-12],[-5,4],[-12,-16],[-17,-5],[-2,-11],[-13,-1],[-4,-8],[7,-10],[-10,-4],[-1,-7],[-22,-6],[-5,-17],[-6,16],[-20,-21],[-10,2],[-12,-10],[-5,2],[6,12],[-10,1],[-6,-22],[-9,-11],[-12,8],[-4,-14],[-7,2],[-9,-9],[0,18],[10,3],[22,30],[12,12],[9,3],[34,-7],[-10,9],[5,17],[16,15],[24,17],[9,-4],[-1,15],[10,16],[18,15],[2,46],[12,18],[5,16],[-8,-7],[-25,-13],[-11,12],[1,10],[-9,-10],[4,-20],[-11,-2],[-14,29],[-8,-10],[-12,17],[-19,-11],[-20,-18],[-11,4],[11,7],[-1,13],[6,7],[-12,2],[0,15],[7,6],[-20,46],[-1,-17],[-16,-8],[-23,-4],[-9,6],[-13,23],[-19,12],[20,19],[18,-3],[7,-12],[9,7],[-4,7],[-29,2],[-20,20],[-7,-6],[-9,14],[0,21],[-6,7],[15,2],[-4,13],[18,26],[8,-3],[-3,14],[5,17],[11,0],[-8,7],[7,5],[17,0],[2,-11],[17,1],[20,24],[25,-1],[18,17],[-6,30],[-13,9],[10,4],[9,13],[-10,12],[-41,-24],[-17,-5],[-12,9],[-18,0],[-19,-8],[-33,8],[-8,6],[3,12],[-11,10],[7,9],[13,2],[-38,8],[-18,10],[37,28],[24,9],[16,13],[16,7],[29,2],[-7,-11],[7,-19],[26,2],[24,-8],[11,18],[13,-3],[-13,10],[-11,-2],[-2,11],[-15,10],[-5,9],[9,3],[7,-17],[12,-11],[10,4],[14,-9],[16,2],[-3,14],[-23,0],[-9,-7],[-10,10],[2,20],[-23,-2],[-30,5],[-10,27],[-34,25],[-20,9],[-16,11],[9,17],[0,14],[16,-2],[37,4],[19,11],[15,16],[2,19],[29,33],[26,0],[45,27],[39,4],[21,14],[12,13],[33,-7],[-12,-12],[11,-6],[16,16],[13,-7],[2,-12],[19,5],[38,-1],[9,-4],[-12,-15],[24,0],[-6,-6],[32,3],[11,-5],[30,5],[31,-8],[27,-11],[40,0],[30,-12],[40,9],[52,-27],[12,0]],[[2912,6333],[-2,-4]],[[2914,6329],[-1,4]],[[6651,7782],[-7,-26],[12,-19],[-3,-12],[11,5],[3,8],[-2,16],[3,11]],[[6601,7610],[-7,11],[-5,-2],[-4,-22]],[[6627,7805],[-10,-35],[2,-18],[4,-10],[9,17],[-3,20],[3,6],[-1,16]],[[3301,5940],[-4,4],[5,8],[-1,-12]],[[3313,5694],[1,-6],[-5,-8],[-9,-2],[1,7],[12,9]],[[3303,5691],[4,12],[2,-5],[-6,-7]],[[3228,5816],[-8,-8],[-9,6],[4,7],[6,-5],[4,10],[3,-10]],[[3018,5865],[-3,-7],[-14,-7],[0,-13],[10,-38],[-1,-16],[-4,-6],[-10,-30],[5,-18],[6,-7],[-1,-15],[6,-5],[9,7],[5,10],[-1,32],[-11,30],[-2,23],[3,10],[4,0],[12,13],[18,8],[5,9],[8,-2],[-2,13],[-11,-5],[-2,13],[2,16],[5,5],[6,-10],[2,-22],[4,-10],[12,3],[15,-10],[7,-12],[4,-15],[-2,-7],[5,-15],[8,-1],[17,4],[6,4],[21,2],[11,-20],[11,-9],[11,-5],[8,2],[4,9],[5,0],[2,8],[20,5],[-5,5],[-9,1],[10,6],[7,-3],[11,6],[12,1],[16,-4],[8,4],[-2,-6],[-10,-6],[-16,0],[1,-9],[5,-5],[1,-12],[-9,-1],[5,-4],[8,8],[5,-25],[2,17],[11,-10],[7,-3],[-2,7],[13,-19],[4,1],[7,-12],[-9,-24],[-3,-22],[-12,0],[10,-11],[3,6],[14,6],[6,-4],[3,6],[9,-4]],[[7888,5785],[0,-17],[-4,12],[4,5]],[[7999,6420],[-7,1],[-4,-12],[-7,-3],[1,-12],[-6,-6],[-5,4],[-9,-2],[4,-16],[-8,-8],[2,-17],[-7,-4],[-4,-11],[-7,-4],[-3,-15],[-1,-23],[-5,-13],[7,-30],[7,-15],[11,-17],[-1,-15],[8,-21],[9,-14],[4,-12],[16,-29],[6,-2],[16,-47],[8,-11],[1,-21],[5,-18],[-2,-5],[6,-25],[0,-35],[2,-3],[0,-23],[3,-13],[-6,-10],[0,-42],[-3,-5],[4,-7],[-4,-10],[-2,4],[0,-16],[-7,-2],[-2,-8],[-4,0],[-8,-14],[-6,-1],[-2,-13],[-5,0],[-11,-13],[-13,0],[-5,12],[1,-23],[-11,2],[11,-9],[-4,-11],[-6,4],[7,-11],[-3,-2],[-12,24],[0,-5],[10,-18],[2,-11],[-5,-6],[-10,15],[4,-19],[-1,-6],[-17,-13],[-12,-29],[-11,-2],[5,9],[-2,10],[0,36],[2,17],[6,7],[-10,15],[-5,-5],[-3,16]],[[9706,4050],[-7,13],[4,7],[3,-20]],[[9699,4104],[2,-14],[-8,6],[0,12],[6,-4]],[[9675,4172],[7,-8],[-6,-8],[-6,7],[5,9]],[[9671,4228],[8,-15],[-7,1],[-1,14]],[[9675,4243],[-6,-2],[-6,7],[7,9],[5,-14]],[[9650,4255],[10,-14],[1,-7],[-10,-6],[-4,27],[-5,1],[1,12],[4,-1],[3,-12]],[[9672,4262],[-3,21],[1,9],[3,-20],[-1,-10]],[[9662,4292],[-5,2],[9,9],[-4,-11]],[[9671,4298],[-2,1],[-1,24],[2,-2],[1,-23]],[[9633,4310],[4,2],[0,11],[5,-11],[3,-23],[-11,-7],[-7,15],[1,11],[-3,15],[1,17],[5,-11],[2,-19]],[[9653,4368],[1,-9],[-5,0],[4,9]],[[9654,4385],[-4,-3],[-1,10],[5,-7]],[[5917,7177],[-8,1]],[[233,4380],[5,-6],[-14,2],[-4,7],[7,5],[6,-8]],[[213,4406],[3,-6],[-1,-12],[-9,0],[-5,15],[12,3]],[[6488,5914],[7,-6],[7,6],[10,-9],[-9,-11],[-10,-3],[-6,2],[-5,12],[6,9]],[[6474,6141],[-14,-9],[-10,-18],[-2,-12],[2,-20],[-10,-7],[-13,-15],[-23,-11],[-11,-11],[-4,0],[-25,-18],[-3,-12],[-8,-16],[-6,-3],[-14,3],[-10,-9],[-6,-13],[-15,-8],[-5,-6],[-14,0],[-16,-6],[-7,-15],[-15,-17],[-7,3],[-4,-8],[-14,-5],[-10,9],[-3,-4],[-7,35],[2,25],[-6,21],[-2,16],[-3,43],[-6,7],[4,2],[-3,17],[3,18],[-1,29]],[[5913,3637],[-1,-16],[-5,-23],[-3,-38],[-5,-21],[-10,-19],[-7,-3],[-13,-27],[-21,-68],[-4,-16],[-15,-32],[-4,-4],[-16,-28],[-9,-21],[-13,-22],[-25,-35],[-27,-26],[-15,4],[-9,-9],[0,-11],[-17,5],[-4,-12],[-11,1],[-8,6],[-16,4],[-6,-7],[-23,6],[-10,-4],[-12,-19],[-7,3],[-6,-5],[-11,4],[-1,-6],[-11,0],[-14,-20],[-9,3],[-9,9],[0,11],[-6,4],[-8,-2],[0,17],[-10,-2],[0,-13],[-4,19],[5,10],[-2,12],[-7,16],[-4,20],[-4,-1],[1,18],[7,-2],[4,8],[1,20],[-2,22],[-4,17],[-9,20],[-7,28],[-8,24],[-6,42],[-6,29],[-7,15],[-3,15]],[[5815,3905],[12,3],[14,-12],[15,3],[13,-7]],[[5844,4282],[-15,1],[-13,-5],[-15,-18],[0,-21],[-3,-8]],[[5798,4231],[-3,3],[-13,-9],[-5,-13],[-12,-14],[-13,-38],[-2,-11]],[[5750,4149],[-9,-7],[-14,11],[-7,-7],[-7,11],[-12,1]],[[5792,4643],[5,5],[9,23],[3,15],[-7,8]],[[5849,4709],[-4,-14],[7,-1],[9,-18],[5,4],[-1,8]],[[5750,4149],[10,22],[5,5],[4,17],[11,9],[0,11],[8,0],[8,9],[1,-7],[8,12],[-7,4]]],"type":"Topology","objects":{"units":{"geometries":[{"arcs":[[0,1,2,3,4,5]],"type":"Polygon","id":"AFG","properties":{"name":"Afghanistan"}},{"arcs":[[[6,7,8,9]],[[10,11,12]]],"type":"MultiPolygon","id":"AGO","properties":{"name":"Angola"}},{"arcs":[[[13,14]],[[15,16]],[[17,18,19,20,21,22,23,24,25,26,27,28,29,30]]],"type":"MultiPolygon","id":"ALB","properties":{"name":"Albania"}},{"arcs":[[[31]]],"type":"MultiPolygon","id":"ALD","properties":{"name":"Aland"}},{"arcs":[[32,33]],"type":"Polygon","id":"AND","properties":{"name":"Andorra"}},{"arcs":[[[34]],[[35,36,37,38,39],[40]]],"type":"MultiPolygon","id":"ARE","properties":{"name":"United Arab Emirates"}},{"arcs":[[[41,42]],[[43,44]],[[45,46,47,48,49,50]]],"type":"MultiPolygon","id":"ARG","properties":{"name":"Argentina"}},{"arcs":[[[51]],[[52,53,54,55,56],[57],[58]]],"type":"MultiPolygon","id":"ARM","properties":{"name":"Armenia"}},{"arcs":[[[59]],[[60]],[[61]],[[62]],[[63]],[[64]],[[65]],[[66]],[[67]],[[68]],[[69]],[[70]],[[71]],[[72]],[[73]],[[74]],[[75]],[[76]],[[77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91]],[[92]],[[93]],[[94]],[[95]],[[96]],[[97]],[[98]],[[99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105]],[[106]],[[107]],[[108]],[[109]],[[110]],[[111]],[[112]],[[113]],[[114]],[[115]],[[116]],[[117]],[[118]],[[119]],[[120]]],"type":"MultiPolygon","id":"ATA","properties":{"name":"Antarctica"}},{"arcs":[[[121]]],"type":"MultiPolygon","id":"ATF","properties":{"name":"Fr. S. Antarctic Lands"}},{"arcs":[[[122]],[[123]],[[124]],[[125]],[[126]],[[127]],[[128]],[[129]],[[130]],[[131]],[[132]],[[133]],[[134]],[[135]],[[136]],[[137]],[[138]],[[139]],[[140]]],"type":"MultiPolygon","id":"AUS","properties":{"name":"Australia"}},{"arcs":[[141,142,143,144,145,146,147,148,149,150]],"type":"Polygon","id":"AUT","properties":{"name":"Austria"}},{"arcs":[[[151,152,-55]],[[-59]],[[-58]],[[153,154,155,-53,156],[-52]]],"type":"MultiPolygon","id":"AZE","properties":{"name":"Azerbaijan"}},{"arcs":[[157,158,159,160]],"type":"Polygon","id":"BDI","properties":{"name":"Burundi"}},{"arcs":[[161,162,163,164,165,166,167]],"type":"Polygon","id":"BEL","properties":{"name":"Belgium"}},{"arcs":[[168,169,170,171,172]],"type":"Polygon","id":"BEN","properties":{"name":"Benin"}},{"arcs":[[173,-172,174,175,176,177]],"type":"Polygon","id":"BFA","properties":{"name":"Burkina Faso"}},{"arcs":[[[178]],[[179]],[[180,181,182]]],"type":"MultiPolygon","id":"BGD","properties":{"name":"Bangladesh"}},{"arcs":[[183,184,185,186,187,188]],"type":"Polygon","id":"BGR","properties":{"name":"Bulgaria"}},{"arcs":[[189]],"type":"Polygon","id":"BHR","properties":{"name":"Bahrain"}},{"arcs":[[[190]],[[191]],[[192]],[[193]],[[194]],[[195]],[[196]],[[197]],[[198]],[[199]],[[200]]],"type":"MultiPolygon","id":"BHS","properties":{"name":"Bahamas"}},{"arcs":[[201,202,203,204,205]],"type":"Polygon","id":"BIH","properties":{"name":"Bosnia and Herz."}},{"arcs":[[206,207,208,209,210]],"type":"Polygon","id":"BLR","properties":{"name":"Belarus"}},{"arcs":[[[211,212,213]]],"type":"MultiPolygon","id":"BLZ","properties":{"name":"Belize"}},{"arcs":[[[214,215]],[[216,-51,217,218,219,220,221]]],"type":"MultiPolygon","id":"BOL","properties":{"name":"Bolivia"}},{"arcs":[[[222]],[[223]],[[224]],[[225]],[[226]],[[227]],[[228]],[[229]],[[230]],[[231]],[[232]],[[233]],[[234]],[[235]],[[236]],[[237]],[[238,239,240,241,242,243,-47,244,245,246,-222,247,248,249,250]]],"type":"MultiPolygon","id":"BRA","properties":{"name":"Brazil"}},{"arcs":[[251]],"type":"Polygon","id":"BRB","properties":{"name":"Barbados"}},{"arcs":[[[252,253]],[[254,255]]],"type":"MultiPolygon","id":"BRN","properties":{"name":"Brunei"}},{"arcs":[[256,257]],"type":"Polygon","id":"BTN","properties":{"name":"Bhutan"}},{"arcs":[[258,259,260]],"type":"Polygon","id":"BWA","properties":{"name":"Botswana"}},{"arcs":[[261,262,263,264,265,266]],"type":"Polygon","id":"CAF","properties":{"name":"Central African Rep."}},{"arcs":[[[267]],[[268]],[[269]],[[270]],[[271]],[[272]],[[273]],[[274,275,276,277]],[[278]],[[279]],[[280]],[[281]],[[282]],[[283]],[[284]],[[285]],[[286]],[[287]],[[288]],[[289]],[[290]],[[291]],[[292]],[[293]],[[294]],[[295]],[[296]],[[297]],[[298]],[[299]],[[300]],[[301]],[[302]],[[303]],[[304]],[[305]],[[306]],[[307]],[[308]],[[309]],[[310]],[[311]],[[312]],[[313]],[[314]],[[315]],[[316]],[[317]],[[318]],[[319]],[[320]],[[321]],[[322]],[[323]],[[324]],[[325]],[[326]],[[327]],[[328]],[[329]],[[330]],[[331]],[[332]],[[333,334,335,336,337,338,339,340,341,342,343,344,345,-346,346,347]],[[348]],[[349]],[[350]],[[351]],[[352]],[[353]],[[354]],[[355]],[[356]],[[357]],[[358]],[[359]],[[360]],[[361]],[[362]],[[363]],[[364]],[[365]],[[366]],[[367]],[[368]],[[369]],[[370]],[[371]],[[372]],[[373]],[[374]],[[375]],[[376]],[[377]],[[378]],[[379]],[[380]],[[381]],[[382]],[[383]],[[384]]],"type":"MultiPolygon","id":"CAN","properties":{"name":"Canada"}},{"arcs":[[385,386,387,-148,388,-146,389,390,391,392,393]],"type":"Polygon","id":"CHE","properties":{"name":"Switzerland"}},{"arcs":[[[394]],[[395]],[[396]],[[397]],[[398]],[[399]],[[400]],[[401]],[[402]],[[-44,403,-42,404]],[[405]],[[406]],[[407]],[[408]],[[409]],[[410]],[[411]],[[412]],[[413]],[[414]],[[415]],[[416]],[[417]],[[418]],[[419]],[[420]],[[421]],[[422]],[[423]],[[424]],[[425]],[[426]],[[427]],[[428]],[[429]],[[430]],[[431]],[[432]],[[433]],[[434]],[[435]],[[-50,436,437,-218]]],"type":"MultiPolygon","id":"CHL","properties":{"name":"Chile"}},{"arcs":[[[438]],[[439]],[[440]],[[441]],[[442,443,444,445,446,447,448,449,450,451,-258,452,453,454,455,456,-1,457,458,459,460,461,462,463,464]]],"type":"MultiPolygon","id":"CHN","properties":{"name":"China"}},{"arcs":[[[465,466]],[[-177,467,468,469,470,471]]],"type":"MultiPolygon","id":"CIV","properties":{"name":"C\u00f4te d'Ivoire"}},{"arcs":[[[472,-266,473,474,475,476,477,478,479]],[[480,481]]],"type":"MultiPolygon","id":"CMR","properties":{"name":"Cameroon"}},{"arcs":[[[482,483,484,485]],[[486,487,488,489]],[[490,491,492,493]]],"type":"MultiPolygon","id":"CNM","properties":{"name":"Cyprus U.N. Buffer Zone"}},{"arcs":[[[494]],[[495,496,497,498,499,500,501,502,503,-160,504,505,506,507,-10,508,-11,509,-264]]],"type":"MultiPolygon","id":"COD","properties":{"name":"Dem. Rep. Congo"}},{"arcs":[[-510,-13,510,511,-474,-265]],"type":"Polygon","id":"COG","properties":{"name":"Congo"}},{"arcs":[[[512,-249,513,514,515,516,517]]],"type":"MultiPolygon","id":"COL","properties":{"name":"Colombia"}},{"arcs":[[[518]],[[519]]],"type":"MultiPolygon","id":"COM","properties":{"name":"Comoros"}},{"arcs":[[[520]],[[521]],[[522]],[[523]]],"type":"MultiPolygon","id":"CPV","properties":{"name":"Cape Verde"}},{"arcs":[[[524,525,526,527]]],"type":"MultiPolygon","id":"CRI","properties":{"name":"Costa Rica"}},{"arcs":[[[528]],[[529]],[[530]],[[531,532,533,534]]],"type":"MultiPolygon","id":"CUB","properties":{"name":"Cuba"}},{"arcs":[[535]],"type":"Polygon","id":"CUW","properties":{"name":"Cura\u00e7ao"}},{"arcs":[[[536,-488]],[[-486,537,-494,538]]],"type":"MultiPolygon","id":"CYN","properties":{"name":"N. Cyprus"}},{"arcs":[[[539,540]],[[541]],[[542,543,-484]],[[544,545,546,547,-490,548,-492]]],"type":"MultiPolygon","id":"CYP","properties":{"name":"Cyprus"}},{"arcs":[[549,550,-151,551]],"type":"Polygon","id":"CZE","properties":{"name":"Czech Rep."}},{"arcs":[[[-387,552]],[[553,554]],[[555]],[[556,557,-552,-150,558,-394,559,560,-162,561,562,563]]],"type":"MultiPolygon","id":"DEU","properties":{"name":"Germany"}},{"arcs":[[564,565,566,567,568,569]],"type":"Polygon","id":"DJI","properties":{"name":"Djibouti"}},{"arcs":[[570]],"type":"Polygon","id":"DMA","properties":{"name":"Dominica"}},{"arcs":[[[571]],[[572]],[[573]],[[574]],[[575]],[[576]],[[577]],[[-564,578]]],"type":"MultiPolygon","id":"DNK","properties":{"name":"Denmark"}},{"arcs":[[[579,580,581,582,583,584]]],"type":"MultiPolygon","id":"DOM","properties":{"name":"Dominican Rep."}},{"arcs":[[585,586,587,588,589,590,591,592]],"type":"Polygon","id":"DZA","properties":{"name":"Algeria"}},{"arcs":[[[593]],[[594]],[[595]],[[596]],[[597]],[[598]],[[599,600,-515]]],"type":"MultiPolygon","id":"ECU","properties":{"name":"Ecuador"}},{"arcs":[[[601,602,603,604,605,606]]],"type":"MultiPolygon","id":"EGY","properties":{"name":"Egypt"}},{"arcs":[[[607]],[[-569,608,609,610]]],"type":"MultiPolygon","id":"ERI","properties":{"name":"Eritrea"}},{"arcs":[[-485,-544,611,-541,612,-545,-491,-538],[-542]],"type":"Polygon","id":"ESB","properties":{"name":"Dhekelia"}},{"arcs":[[[613]],[[614]],[[615]],[[616]],[[617]],[[618]],[[619,620]],[[621,622]],[[623]],[[624]],[[625]],[[626]],[[627,-33,628,629,630,631,632,633]]],"type":"MultiPolygon","id":"ESP","properties":{"name":"Spain"}},{"arcs":[[[634]],[[635]],[[636,637,638,639,640,641,642,643,644]]],"type":"MultiPolygon","id":"EST","properties":{"name":"Estonia"}},{"arcs":[[-568,645,-566,646,647,648,649,650,-609]],"type":"Polygon","id":"ETH","properties":{"name":"Ethiopia"}},{"arcs":[[[651]],[[652,653,654,655]]],"type":"MultiPolygon","id":"FIN","properties":{"name":"Finland"}},{"arcs":[[[656]],[[657]],[[658]]],"type":"MultiPolygon","id":"FJI","properties":{"name":"Fiji"}},{"arcs":[[[659]],[[660]]],"type":"MultiPolygon","id":"FLK","properties":{"name":"Falkland Is."}},{"arcs":[[[661]],[[662]],[[-240,663,664]],[[665]],[[666]],[[667]],[[668]],[[669,-560,-393,670,-391,671,672,673,674,-629,-34,-628,675,-164],[-627]]],"type":"MultiPolygon","id":"FRA","properties":{"name":"France"}},{"arcs":[[[676]],[[677]]],"type":"MultiPolygon","id":"FRO","properties":{"name":"Faeroe Is."}},{"arcs":[[[678]]],"type":"MultiPolygon","id":"FSM","properties":{"name":"Micronesia"}},{"arcs":[[[-512,679,680,-475]]],"type":"MultiPolygon","id":"GAB","properties":{"name":"Gabon"}},{"arcs":[[[681]],[[682]],[[683,684]],[[685]],[[686]],[[687]],[[688]],[[689]],[[690]],[[691]],[[692]],[[693]],[[694]],[[695]]],"type":"MultiPolygon","id":"GBR","properties":{"name":"United Kingdom"}},{"arcs":[[-157,-57,696,697,698]],"type":"Polygon","id":"GEO","properties":{"name":"Georgia"}},{"arcs":[[699,700,-466,701,-468,-176]],"type":"Polygon","id":"GHA","properties":{"name":"Ghana"}},{"arcs":[[-631,702]],"type":"Polygon","id":"GIB","properties":{"name":"Gibraltar"}},{"arcs":[[703,-471,704,705,706,707,708]],"type":"Polygon","id":"GIN","properties":{"name":"Guinea"}},{"arcs":[[709,710]],"type":"Polygon","id":"GMB","properties":{"name":"Gambia"}},{"arcs":[[[711]],[[712,713,-708]]],"type":"MultiPolygon","id":"GNB","properties":{"name":"Guinea-Bissau"}},{"arcs":[[[-681,714,-476]],[[715]]],"type":"MultiPolygon","id":"GNQ","properties":{"name":"Eq. Guinea"}},{"arcs":[[[716]],[[717]],[[718]],[[719]],[[720]],[[721]],[[722]],[[723]],[[724]],[[725]],[[726]],[[727]],[[728]],[[729]],[[730]],[[731]],[[732,-186,733,734,-27,735,-25,736]]],"type":"MultiPolygon","id":"GRC","properties":{"name":"Greece"}},{"arcs":[[[737]]],"type":"MultiPolygon","id":"GRD","properties":{"name":"Grenada"}},{"arcs":[[[738]],[[739]],[[740]],[[741]],[[742]],[[743]],[[744]],[[745]],[[746]],[[747]],[[748]],[[749]],[[750]],[[751]],[[752]],[[753]],[[754]],[[755]],[[756]],[[757]],[[758]],[[759]],[[760]],[[761]],[[762]],[[763]]],"type":"MultiPolygon","id":"GRL","properties":{"name":"Greenland"}},{"arcs":[[-213,764,765,766,767,768]],"type":"Polygon","id":"GTM","properties":{"name":"Guatemala"}},{"arcs":[[769]],"type":"Polygon","id":"GUM","properties":{"name":"Guam"}},{"arcs":[[[770,-251,771,772]]],"type":"MultiPolygon","id":"GUY","properties":{"name":"Guyana"}},{"arcs":[[[773,-447]]],"type":"MultiPolygon","id":"HKG","properties":{"name":"Hong Kong"}},{"arcs":[[774]],"type":"Polygon","id":"HMD","properties":{"name":"Heard I. and McDonald Is."}},{"arcs":[[[775,776,777,-766,778]]],"type":"MultiPolygon","id":"HND","properties":{"name":"Honduras"}},{"arcs":[[[-204,779,780]],[[781]],[[782]],[[783]],[[784]],[[785,786,-206,787,788]]],"type":"MultiPolygon","id":"HRV","properties":{"name":"Croatia"}},{"arcs":[[[-582,789]],[[790]],[[-584,791,-580,792]]],"type":"MultiPolygon","id":"HTI","properties":{"name":"Haiti"}},{"arcs":[[793,794,795,-786,796,-143,797]],"type":"Polygon","id":"HUN","properties":{"name":"Hungary"}},{"arcs":[[[798]],[[799]],[[800]],[[801,802,803,804]],[[805]],[[806]],[[807]],[[808]],[[809]],[[810]],[[811]],[[812]],[[813]],[[814]],[[815]],[[816]],[[817]],[[818]],[[819]],[[820]],[[821]],[[822]],[[823]],[[824]],[[825]],[[826]],[[827]],[[828]],[[829]],[[830]],[[831]],[[832]],[[833]],[[834]],[[835]],[[836]],[[837]],[[838]],[[839]],[[840]],[[841]],[[842]],[[843]],[[844]],[[845]],[[846]],[[847]],[[848]],[[849]],[[850]],[[851]],[[852]],[[853]],[[854]],[[855]],[[856]],[[857,858]],[[859]],[[860]],[[861]],[[862]],[[863]],[[864]],[[865]],[[866]],[[867]],[[868]],[[869]],[[870]],[[871]],[[872]],[[873]],[[874]],[[875]],[[876]],[[877]],[[878]],[[879]],[[880]],[[881,882]],[[883]],[[884,885]],[[886]],[[887]]],"type":"MultiPolygon","id":"IDN","properties":{"name":"Indonesia"}},{"arcs":[[888]],"type":"Polygon","id":"IMN","properties":{"name":"Isle of Man"}},{"arcs":[[[889]],[[890]],[[891]],[[892]],[[893,-453,-257,-452,894,-183,895,896,897,-455]]],"type":"MultiPolygon","id":"IND","properties":{"name":"India"}},{"arcs":[[[-684,898]]],"type":"MultiPolygon","id":"IRL","properties":{"name":"Ireland"}},{"arcs":[[[899]],[[-54,-156,900,901,-3,902,903,904,905,-152]]],"type":"MultiPolygon","id":"IRN","properties":{"name":"Iran"}},{"arcs":[[-905,906,907,908,909,910,911,912,913]],"type":"Polygon","id":"IRQ","properties":{"name":"Iraq"}},{"arcs":[[[914]]],"type":"MultiPolygon","id":"ISL","properties":{"name":"Iceland"}},{"arcs":[[915,916,917,918,919,920,921,-603,922,923,924,925]],"type":"Polygon","id":"ISR","properties":{"name":"Israel"}},{"arcs":[[[926]],[[927]],[[928,929,-672,-390,-145],[930],[931]]],"type":"MultiPolygon","id":"ITA","properties":{"name":"Italy"}},{"arcs":[[932]],"type":"Polygon","id":"JAM","properties":{"name":"Jamaica"}},{"arcs":[[933,934,-921,935,-919,936,937,-916,938,-910]],"type":"Polygon","id":"JOR","properties":{"name":"Jordan"}},{"arcs":[[[939]],[[940]],[[941]],[[942]],[[943]],[[944]],[[945]],[[946]],[[947]],[[948]],[[949]],[[950]],[[951]]],"type":"MultiPolygon","id":"JPN","properties":{"name":"Japan"}},{"arcs":[[952]],"type":"Polygon","id":"KAB","properties":{"name":"Baikonur"}},{"arcs":[[-898,953,-456]],"type":"Polygon","id":"KAS","properties":{"name":"Siachen Glacier"}},{"arcs":[[[954,955]],[[-460,956,957,958,959,960,961,962],[-953]]],"type":"MultiPolygon","id":"KAZ","properties":{"name":"Kazakhstan"}},{"arcs":[[[-649,963,964,965,966,967,968]]],"type":"MultiPolygon","id":"KEN","properties":{"name":"Kenya"}},{"arcs":[[-459,969,970,-957],[971],[972],[973]],"type":"Polygon","id":"KGZ","properties":{"name":"Kyrgyzstan"}},{"arcs":[[[974,975,976,977]]],"type":"MultiPolygon","id":"KHM","properties":{"name":"Cambodia"}},{"arcs":[[[978]]],"type":"MultiPolygon","id":"KIR","properties":{"name":"Kiribati"}},{"arcs":[[[979]],[[980]],[[981]],[[982,983]]],"type":"MultiPolygon","id":"KOR","properties":{"name":"Korea"}},{"arcs":[[984,-18,985,986]],"type":"Polygon","id":"XKX","properties":{"name":"Kosovo"}},{"arcs":[[[987]],[[988,-908,989]]],"type":"MultiPolygon","id":"KWT","properties":{"name":"Kuwait"}},{"arcs":[[990,-977,991,992,-450]],"type":"Polygon","id":"LAO","properties":{"name":"Lao PDR"}},{"arcs":[[-925,993,994]],"type":"Polygon","id":"LBN","properties":{"name":"Lebanon"}},{"arcs":[[-470,995,996,-705]],"type":"Polygon","id":"LBR","properties":{"name":"Liberia"}},{"arcs":[[-606,997,998,999,-587,1000,1001]],"type":"Polygon","id":"LBY","properties":{"name":"Libya"}},{"arcs":[[1002]],"type":"Polygon","id":"LCA","properties":{"name":"Saint Lucia"}},{"arcs":[[-389,-147]],"type":"Polygon","id":"LIE","properties":{"name":"Liechtenstein"}},{"arcs":[[[1003]]],"type":"MultiPolygon","id":"LKA","properties":{"name":"Sri Lanka"}},{"arcs":[[1004]],"type":"Polygon","id":"LSO","properties":{"name":"Lesotho"}},{"arcs":[[[1005,1006]],[[-210,1007,1008,1009,1010]]],"type":"MultiPolygon","id":"LTU","properties":{"name":"Lithuania"}},{"arcs":[[-561,-670,-163]],"type":"Polygon","id":"LUX","properties":{"name":"Luxembourg"}},{"arcs":[[1011,-211,-1011,1012,-644]],"type":"Polygon","id":"LVA","properties":{"name":"Latvia"}},{"arcs":[[1013,1014]],"type":"Polygon","id":"MAF","properties":{"name":"St-Martin"}},{"arcs":[[-622,1015,-620,1016,-592,1017,1018]],"type":"Polygon","id":"MAR","properties":{"name":"Morocco"}},{"arcs":[[1019,-674]],"type":"Polygon","id":"MCO","properties":{"name":"Monaco"}},{"arcs":[[1020,1021]],"type":"Polygon","id":"MDA","properties":{"name":"Moldova"}},{"arcs":[[[1022]],[[1023]]],"type":"MultiPolygon","id":"MDG","properties":{"name":"Madagascar"}},{"arcs":[[[1024]],[[1025]],[[1026]],[[1027]],[[1028]],[[1029,1030,1031,1032,1033,-214,-769,1034,1035],[1036]]],"type":"MultiPolygon","id":"MEX","properties":{"name":"Mexico"}},{"arcs":[[[-23,1037]],[[-187,-733,1038,-15,1039,-21,1040,-19,-985,1041]]],"type":"MultiPolygon","id":"MKD","properties":{"name":"Macedonia"}},{"arcs":[[1042,-178,-472,-704,1043,1044,-589]],"type":"Polygon","id":"MLI","properties":{"name":"Mali"}},{"arcs":[[[1045]],[[1046]],[[1047]],[[1048]],[[1049]],[[1050]],[[-993,1051,1052,-181,-895,-451]]],"type":"MultiPolygon","id":"MMR","properties":{"name":"Myanmar"}},{"arcs":[[1053,-986,-31,1054,-16,1055,-29,1056,-780,-203]],"type":"Polygon","id":"MNE","properties":{"name":"Montenegro"}},{"arcs":[[-464,1057,-462,1058]],"type":"Polygon","id":"MNG","properties":{"name":"Mongolia"}},{"arcs":[[[1059,1060,1061,1062,1063,1064,1065,1066,1067]]],"type":"MultiPolygon","id":"MOZ","properties":{"name":"Mozambique"}},{"arcs":[[[1068,1069,1070,-590,-1045]]],"type":"MultiPolygon","id":"MRT","properties":{"name":"Mauritania"}},{"arcs":[[[1071]]],"type":"MultiPolygon","id":"MUS","properties":{"name":"Mauritius"}},{"arcs":[[[1072,1073]],[[1074,1075]],[[1076,1077]],[[1078,1079]],[[1080,-1065,1081,1082]]],"type":"MultiPolygon","id":"MWI","properties":{"name":"Malawi"}},{"arcs":[[[1083]],[[-882,1084]],[[1085]],[[1086]],[[1087,1088]],[[-886,1089,-256,1090,-253,1091]],[[1092]]],"type":"MultiPolygon","id":"MYS","properties":{"name":"Malaysia"}},{"arcs":[[1093,-261,1094,1095,-8]],"type":"Polygon","id":"NAM","properties":{"name":"Namibia"}},{"arcs":[[[1096]],[[1097]],[[1098]]],"type":"MultiPolygon","id":"NCL","properties":{"name":"New Caledonia"}},{"arcs":[[1099,1100,-173,-174,-1043,-588,-1000]],"type":"Polygon","id":"NER","properties":{"name":"Niger"}},{"arcs":[[[1101,-478,1102,-169,-1101]]],"type":"MultiPolygon","id":"NGA","properties":{"name":"Nigeria"}},{"arcs":[[[1103,-528,1104,-776]]],"type":"MultiPolygon","id":"NIC","properties":{"name":"Nicaragua"}},{"arcs":[[[-166,1105]],[[1106]],[[-562,-168,1107],[1108]]],"type":"MultiPolygon","id":"NLD","properties":{"name":"Netherlands"}},{"arcs":[[[1109]],[[1110]],[[1111]],[[1112]],[[1113]],[[1114]],[[1115]],[[1116]],[[1117]],[[1118]],[[1119]],[[1120]],[[1121]],[[1122]],[[1123,-656,1124,1125]],[[1126]],[[1127]],[[1128]],[[1129]],[[1130]],[[1131]],[[1132]]],"type":"MultiPolygon","id":"NOR","properties":{"name":"Norway"}},{"arcs":[[-894,-454]],"type":"Polygon","id":"NPL","properties":{"name":"Nepal"}},{"arcs":[[[1133]],[[1134]],[[1135]],[[1136]],[[1137]],[[1138]]],"type":"MultiPolygon","id":"NZL","properties":{"name":"New Zealand"}},{"arcs":[[[1139]],[[1140,1141,-37,1142]],[[-41],[-35]],[[-40,1143]]],"type":"MultiPolygon","id":"OMN","properties":{"name":"Oman"}},{"arcs":[[[-954,-897,1144,-903,-2,-457]]],"type":"MultiPolygon","id":"PAK","properties":{"name":"Pakistan"}},{"arcs":[[[1145]],[[-517,1146,-526,1147]]],"type":"MultiPolygon","id":"PAN","properties":{"name":"Panama"}},{"arcs":[[[-248,-221,1148,-215,1149,-219,-438,1150,-600,-514]]],"type":"MultiPolygon","id":"PER","properties":{"name":"Peru"}},{"arcs":[[[1151]],[[1152]],[[1153]],[[1154]],[[1155]],[[1156]],[[1157]],[[1158]],[[1159]],[[1160]],[[1161]],[[1162]],[[1163]],[[1164]],[[1165]],[[1166]],[[1167]],[[1168]],[[1169]],[[1170]],[[1171]],[[1172]],[[1173]],[[1174]],[[1175]],[[1176]],[[1177]],[[1178]],[[1179]],[[1180]],[[1181]]],"type":"MultiPolygon","id":"PHL","properties":{"name":"Philippines"}},{"arcs":[[[1182]]],"type":"MultiPolygon","id":"PLW","properties":{"name":"Palau"}},{"arcs":[[[1183]],[[1184]],[[1185]],[[1186]],[[1187]],[[1188]],[[1189]],[[1190]],[[1191]],[[1192]],[[1193]],[[1194]],[[-858,1195]],[[1196]],[[1197]],[[1198]],[[1199]]],"type":"MultiPolygon","id":"PNG","properties":{"name":"Papua New Guinea"}},{"arcs":[[1200,1201,1202,-1008,-209,1203,1204,-550,-558,1205,-554,1206]],"type":"Polygon","id":"POL","properties":{"name":"Poland"}},{"arcs":[[[1207]]],"type":"MultiPolygon","id":"PRI","properties":{"name":"Puerto Rico"}},{"arcs":[[[1208,1209,-983,1210,-445]]],"type":"MultiPolygon","id":"PRK","properties":{"name":"Dem. Rep. Korea"}},{"arcs":[[[1211]],[[1212]],[[1213]],[[1214]],[[1215,-633]]],"type":"MultiPolygon","id":"PRT","properties":{"name":"Portugal"}},{"arcs":[[-247,1216,-245,-46,-217]],"type":"Polygon","id":"PRY","properties":{"name":"Paraguay"}},{"arcs":[[[-602,1217,-923]],[[-938,1218,-917]]],"type":"MultiPolygon","id":"PSX","properties":{"name":"Palestine"}},{"arcs":[[[1219]]],"type":"MultiPolygon","id":"PYF","properties":{"name":"Fr. Polynesia"}},{"arcs":[[1220,1221]],"type":"Polygon","id":"QAT","properties":{"name":"Qatar"}},{"arcs":[[1222,1223,-189,1224,-795,1225,-1021]],"type":"Polygon","id":"ROU","properties":{"name":"Romania"}},{"arcs":[[[1226]],[[1227]],[[1228]],[[1229]],[[1230]],[[1231]],[[1232]],[[1233]],[[1234]],[[1235]],[[1236]],[[-1203,1237,-1201,1238,-1006,1239,-1009]],[[1240]],[[1241]],[[1242,-639]],[[1243]],[[1244]],[[1245]],[[1246]],[[1247]],[[1248]],[[1249]],[[1250]],[[1251]],[[1252]],[[1253]],[[1254]],[[1255]],[[1256]],[[1257]],[[1258]],[[1259]],[[1260]],[[1261]],[[1262]],[[1263]],[[1264]],[[1265]],[[1266]],[[1267]],[[1268]],[[1269]],[[1270]],[[-1209,-444,1271,-465,-1059,-461,-963,1272,-154,-699,1273,1274,-207,-1012,-643,1275,-641,1276,-637,1277,-653,-1124,1278]],[[1279]],[[1280]],[[1281]],[[1282]],[[1283]],[[1284]],[[1285]],[[1286]],[[1287]],[[1288]],[[1289]],[[1290]],[[1291]],[[1292]],[[1293]],[[1294]],[[1295]],[[1296]],[[1297]],[[1298]]],"type":"MultiPolygon","id":"RUS","properties":{"name":"Russia"}},{"arcs":[[1299,-161,-504,1300,-502,1301]],"type":"Polygon","id":"RWA","properties":{"name":"Rwanda"}},{"arcs":[[-591,-1071,1302,-1018]],"type":"Polygon","id":"ESH","properties":{"name":"W. Sahara"}},{"arcs":[[[1303]],[[-989,1304,-1221,1305,-38,-1142,1306,1307,-934,-909]]],"type":"MultiPolygon","id":"SAU","properties":{"name":"Saudi Arabia"}},{"arcs":[[[1308,-610,-651,1309,-262,1310,-998,-605]]],"type":"MultiPolygon","id":"SDN","properties":{"name":"Sudan"}},{"arcs":[[-650,-969,1311,-496,-263,-1310]],"type":"Polygon","id":"SSD","properties":{"name":"S. Sudan"}},{"arcs":[[-1044,-709,-714,1312,-711,1313,-1069]],"type":"Polygon","id":"SEN","properties":{"name":"Senegal"}},{"arcs":[[1314]],"type":"Polygon","id":"SGP","properties":{"name":"Singapore"}},{"arcs":[[[1315]]],"type":"MultiPolygon","id":"SGS","properties":{"name":"S. Geo. and S. Sandw. Is."}},{"arcs":[[[1316]],[[1317]],[[1318]],[[1319]],[[1320]],[[1321]],[[1322]],[[1323]],[[1324]],[[1325]],[[1326]],[[1327]],[[1328]]],"type":"MultiPolygon","id":"SLB","properties":{"name":"Solomon Is."}},{"arcs":[[[1329]],[[-997,1330,-706]]],"type":"MultiPolygon","id":"SLE","properties":{"name":"Sierra Leone"}},{"arcs":[[[-778,1331,-767]]],"type":"MultiPolygon","id":"SLV","properties":{"name":"El Salvador"}},{"arcs":[[-931]],"type":"Polygon","id":"SMR","properties":{"name":"San Marino"}},{"arcs":[[1332,-647,-565,1333]],"type":"Polygon","id":"SOL","properties":{"name":"Somaliland"}},{"arcs":[[-964,-648,-1333,1334]],"type":"Polygon","id":"SOM","properties":{"name":"Somalia"}},{"arcs":[[-1225,-188,-1042,-987,-1054,-202,-787,-796]],"type":"Polygon","id":"SRB","properties":{"name":"Serbia"}},{"arcs":[[[1335]]],"type":"MultiPolygon","id":"STP","properties":{"name":"S\u00e3o Tom\u00e9 and Principe"}},{"arcs":[[-664,-239,-771,1336]],"type":"Polygon","id":"SUR","properties":{"name":"Suriname"}},{"arcs":[[1337,-798,-142,-551,-1205]],"type":"Polygon","id":"SVK","properties":{"name":"Slovakia"}},{"arcs":[[-789,1338,-929,-144,-797]],"type":"Polygon","id":"SVN","properties":{"name":"Slovenia"}},{"arcs":[[[1339]],[[1340]],[[1341]],[[1342,-1125,-655]]],"type":"MultiPolygon","id":"SWE","properties":{"name":"Sweden"}},{"arcs":[[-1061,1343]],"type":"Polygon","id":"SWZ","properties":{"name":"Swaziland"}},{"arcs":[[1344,-1014]],"type":"Polygon","id":"SXM","properties":{"name":"Sint Maarten"}},{"arcs":[[-913,911,-911,-939,-926,-995,1345,1346]],"type":"Polygon","id":"SYR","properties":{"name":"Syria"}},{"arcs":[[-1311,-267,-473,1347,-481,1348,-479,-1102,-1100,-999]],"type":"Polygon","id":"TCD","properties":{"name":"Chad"}},{"arcs":[[-171,1349,-700,-175]],"type":"Polygon","id":"TGO","properties":{"name":"Togo"}},{"arcs":[[[1350]],[[1351]],[[-992,-976,1352,-1089,1353,-1052]]],"type":"MultiPolygon","id":"THA","properties":{"name":"Thailand"}},{"arcs":[[[-974]],[[1354]],[[-970,-458,-6,1355]]],"type":"MultiPolygon","id":"TJK","properties":{"name":"Tajikistan"}},{"arcs":[[[-4,-902,1356,-961,1357,1358,1359]]],"type":"MultiPolygon","id":"TKM","properties":{"name":"Turkmenistan"}},{"arcs":[[[1360,-803]],[[-805,1361]]],"type":"MultiPolygon","id":"TLS","properties":{"name":"Timor-Leste"}},{"arcs":[[[1362]]],"type":"MultiPolygon","id":"TON","properties":{"name":"Tonga"}},{"arcs":[[[1363]]],"type":"MultiPolygon","id":"TTO","properties":{"name":"Trinidad and Tobago"}},{"arcs":[[[1364]],[[-1001,-586,1365]]],"type":"MultiPolygon","id":"TUN","properties":{"name":"Tunisia"}},{"arcs":[[[1366,-734,-185]],[[-697,-56,-153,-906,-914,-1347,1367]]],"type":"MultiPolygon","id":"TUR","properties":{"name":"Turkey"}},{"arcs":[[[1368]]],"type":"MultiPolygon","id":"TWN","properties":{"name":"Taiwan"}},{"arcs":[[[1369]],[[1370]],[[1371]],[[1372]],[[1373,1374,1375,-966,1376,-1067,1377,-1074,1378,-1076,1379,-1078,1380,-1080,1381,-1083,1382,1383,-158,-1300,1384]]],"type":"MultiPolygon","id":"TZA","properties":{"name":"Tanzania"}},{"arcs":[[[-1375,1385]],[[1386,-1385,-1302,-501,1387,-499,1388,-497,-1312,-968]]],"type":"MultiPolygon","id":"UGA","properties":{"name":"Uganda"}},{"arcs":[[[1389,-1223,-1022,-1226,-794,-1338,-1204,-208,-1275],[1390],[1391]]],"type":"MultiPolygon","id":"UKR","properties":{"name":"Ukraine"}},{"arcs":[[1392,-242,1393,-48,-244]],"type":"Polygon","id":"URY","properties":{"name":"Uruguay"}},{"arcs":[[[1394]],[[1395]],[[1396]],[[1397]],[[1398]],[[1399]],[[1400]],[[1401]],[[1402]],[[1403]],[[1404]],[[1405]],[[1406]],[[1407]],[[1408]],[[1409]],[[1410,-344]],[[1411,-340,1412,-338,1413,-336,1414,-334,-278,1415,-276,1416,-1033,1417,-1031,1418,-1036,1419,-342]],[[1420]],[[1421]],[[1422]],[[1423]],[[1424]],[[1425]],[[1426]],[[1427]],[[1428]],[[1429]],[[1430]],[[1431]],[[1432]],[[1433]],[[1434]],[[1435]],[[1436]],[[1437]],[[1438]],[[1439]],[[1440]],[[1441]],[[1442]],[[1443]],[[1444]],[[1445]],[[1446]],[[1447]],[[1448]],[[1449]],[[1450]],[[1451]],[[1452]],[[1453]],[[-347,345,1454]]],"type":"MultiPolygon","id":"USA","properties":{"name":"United States"}},{"arcs":[[[-534,1455]],[[1456,-532]]],"type":"MultiPolygon","id":"USG","properties":{"name":"USNB Guantanamo Bay"}},{"arcs":[[[-973]],[[-972]],[[-955,1457,-958,-971,-1356,-5,-1360,1458,-1358,-960,1459],[-1355]]],"type":"MultiPolygon","id":"UZB","properties":{"name":"Uzbekistan"}},{"arcs":[[-932]],"type":"Polygon","id":"VAT","properties":{"name":"Vatican"}},{"arcs":[[[1460]]],"type":"MultiPolygon","id":"VCT","properties":{"name":"St. Vin. and Gren."}},{"arcs":[[[1461]],[[1462]],[[1463]],[[-772,-250,-513,1464]]],"type":"MultiPolygon","id":"VEN","properties":{"name":"Venezuela"}},{"arcs":[[[1465]],[[1466,-978,-991,-449]]],"type":"MultiPolygon","id":"VNM","properties":{"name":"Vietnam"}},{"arcs":[[[1467]],[[1468]],[[1469]],[[1470]],[[1471]],[[1472]],[[1473]],[[1474]],[[1475]],[[1476]],[[1477]],[[1478]]],"type":"MultiPolygon","id":"VUT","properties":{"name":"Vanuatu"}},{"arcs":[[1479,-547]],"type":"Polygon","id":"WSB","properties":{"name":"Akrotiri"}},{"arcs":[[[1480]],[[1481]]],"type":"MultiPolygon","id":"WSM","properties":{"name":"Samoa"}},{"arcs":[[[1482]],[[1483,-1307,-1141]]],"type":"MultiPolygon","id":"YEM","properties":{"name":"Yemen"}},{"arcs":[[[-1062,-1344,-1060,1484,-1095,-260,1485],[-1005]]],"type":"MultiPolygon","id":"ZAF","properties":{"name":"South Africa"}},{"arcs":[[-1383,-1082,-1064,1486,1487,1488,-1094,-7,-508,1489,-506,1490]],"type":"Polygon","id":"ZMB","properties":{"name":"Zambia"}},{"arcs":[[-1063,-1486,-259,-1489,1491,-1487]],"type":"Polygon","id":"ZWE","properties":{"name":"Zimbabwe"}}],"type":"GeometryCollection"}},"transform":{"translate":[-180,-90],"scale":[0.036003600360036005,0.01736514657995801]}} \ No newline at end of file diff --git a/react-material-admin-master/src/images/marker-icon-2x.png b/react-material-admin-master/src/images/marker-icon-2x.png new file mode 100644 index 0000000..88f9e50 Binary files /dev/null and b/react-material-admin-master/src/images/marker-icon-2x.png differ diff --git a/react-material-admin-master/src/images/marker-icon.png b/react-material-admin-master/src/images/marker-icon.png new file mode 100644 index 0000000..950edf2 Binary files /dev/null and b/react-material-admin-master/src/images/marker-icon.png differ diff --git a/react-material-admin-master/src/images/marker-shadow.png b/react-material-admin-master/src/images/marker-shadow.png new file mode 100644 index 0000000..9fd2979 Binary files /dev/null and b/react-material-admin-master/src/images/marker-shadow.png differ diff --git a/react-material-admin-master/src/images/mastercard.svg b/react-material-admin-master/src/images/mastercard.svg new file mode 100644 index 0000000..ab26667 --- /dev/null +++ b/react-material-admin-master/src/images/mastercard.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/mountains.jpeg b/react-material-admin-master/src/images/mountains.jpeg new file mode 100644 index 0000000..781fc42 Binary files /dev/null and b/react-material-admin-master/src/images/mountains.jpeg differ diff --git a/react-material-admin-master/src/images/paypal.svg b/react-material-admin-master/src/images/paypal.svg new file mode 100644 index 0000000..bd30ffa --- /dev/null +++ b/react-material-admin-master/src/images/paypal.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/product/aexpress.svg b/react-material-admin-master/src/images/product/aexpress.svg new file mode 100644 index 0000000..bb6431f --- /dev/null +++ b/react-material-admin-master/src/images/product/aexpress.svg @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/product/img1.jpg b/react-material-admin-master/src/images/product/img1.jpg new file mode 100644 index 0000000..31fac52 Binary files /dev/null and b/react-material-admin-master/src/images/product/img1.jpg differ diff --git a/react-material-admin-master/src/images/product/img2.jpg b/react-material-admin-master/src/images/product/img2.jpg new file mode 100644 index 0000000..bc56e75 Binary files /dev/null and b/react-material-admin-master/src/images/product/img2.jpg differ diff --git a/react-material-admin-master/src/images/product/img3.jpg b/react-material-admin-master/src/images/product/img3.jpg new file mode 100644 index 0000000..5eb68be Binary files /dev/null and b/react-material-admin-master/src/images/product/img3.jpg differ diff --git a/react-material-admin-master/src/images/product/img4.jpg b/react-material-admin-master/src/images/product/img4.jpg new file mode 100644 index 0000000..1d5a960 Binary files /dev/null and b/react-material-admin-master/src/images/product/img4.jpg differ diff --git a/react-material-admin-master/src/images/product/img5.jpeg b/react-material-admin-master/src/images/product/img5.jpeg new file mode 100644 index 0000000..f5e0e37 Binary files /dev/null and b/react-material-admin-master/src/images/product/img5.jpeg differ diff --git a/react-material-admin-master/src/images/product/img6.jpg b/react-material-admin-master/src/images/product/img6.jpg new file mode 100644 index 0000000..8065737 Binary files /dev/null and b/react-material-admin-master/src/images/product/img6.jpg differ diff --git a/react-material-admin-master/src/images/product/mastercard.svg b/react-material-admin-master/src/images/product/mastercard.svg new file mode 100644 index 0000000..ab26667 --- /dev/null +++ b/react-material-admin-master/src/images/product/mastercard.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/product/paypal.svg b/react-material-admin-master/src/images/product/paypal.svg new file mode 100644 index 0000000..bd30ffa --- /dev/null +++ b/react-material-admin-master/src/images/product/paypal.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/product/visa.svg b/react-material-admin-master/src/images/product/visa.svg new file mode 100644 index 0000000..65d4c99 --- /dev/null +++ b/react-material-admin-master/src/images/product/visa.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/profile.jpg b/react-material-admin-master/src/images/profile.jpg new file mode 100644 index 0000000..45061e9 Binary files /dev/null and b/react-material-admin-master/src/images/profile.jpg differ diff --git a/react-material-admin-master/src/images/profile/BehanceIcon.svg b/react-material-admin-master/src/images/profile/BehanceIcon.svg new file mode 100644 index 0000000..32291c7 --- /dev/null +++ b/react-material-admin-master/src/images/profile/BehanceIcon.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/react-material-admin-master/src/images/profile/DribbleIcon.svg b/react-material-admin-master/src/images/profile/DribbleIcon.svg new file mode 100644 index 0000000..616b08b --- /dev/null +++ b/react-material-admin-master/src/images/profile/DribbleIcon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/react-material-admin-master/src/images/profile/FacebookIcon.svg b/react-material-admin-master/src/images/profile/FacebookIcon.svg new file mode 100644 index 0000000..793a4e8 --- /dev/null +++ b/react-material-admin-master/src/images/profile/FacebookIcon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/react-material-admin-master/src/images/profile/FolderBlueDark.svg b/react-material-admin-master/src/images/profile/FolderBlueDark.svg new file mode 100644 index 0000000..9b7976d --- /dev/null +++ b/react-material-admin-master/src/images/profile/FolderBlueDark.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/images/profile/FolderBlueLight.svg b/react-material-admin-master/src/images/profile/FolderBlueLight.svg new file mode 100644 index 0000000..8a954b2 --- /dev/null +++ b/react-material-admin-master/src/images/profile/FolderBlueLight.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/images/profile/FolderGreenDark.svg b/react-material-admin-master/src/images/profile/FolderGreenDark.svg new file mode 100644 index 0000000..cf0817e --- /dev/null +++ b/react-material-admin-master/src/images/profile/FolderGreenDark.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/images/profile/FolderGreenLight.svg b/react-material-admin-master/src/images/profile/FolderGreenLight.svg new file mode 100644 index 0000000..f3585a9 --- /dev/null +++ b/react-material-admin-master/src/images/profile/FolderGreenLight.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/images/profile/FolderRedDark.svg b/react-material-admin-master/src/images/profile/FolderRedDark.svg new file mode 100644 index 0000000..80f388b --- /dev/null +++ b/react-material-admin-master/src/images/profile/FolderRedDark.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/images/profile/FolderRedLight.svg b/react-material-admin-master/src/images/profile/FolderRedLight.svg new file mode 100644 index 0000000..5c4d5d3 --- /dev/null +++ b/react-material-admin-master/src/images/profile/FolderRedLight.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/images/profile/FolderYellowDark.svg b/react-material-admin-master/src/images/profile/FolderYellowDark.svg new file mode 100644 index 0000000..ec8e6e6 --- /dev/null +++ b/react-material-admin-master/src/images/profile/FolderYellowDark.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/images/profile/FolderYellowLight.svg b/react-material-admin-master/src/images/profile/FolderYellowLight.svg new file mode 100644 index 0000000..8df6469 --- /dev/null +++ b/react-material-admin-master/src/images/profile/FolderYellowLight.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/images/profile/InstagramIcon.svg b/react-material-admin-master/src/images/profile/InstagramIcon.svg new file mode 100644 index 0000000..e5fd4b6 --- /dev/null +++ b/react-material-admin-master/src/images/profile/InstagramIcon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/react-material-admin-master/src/images/profile/MediumIcon.svg b/react-material-admin-master/src/images/profile/MediumIcon.svg new file mode 100644 index 0000000..414b5f9 --- /dev/null +++ b/react-material-admin-master/src/images/profile/MediumIcon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/react-material-admin-master/src/images/profile/growth.svg b/react-material-admin-master/src/images/profile/growth.svg new file mode 100644 index 0000000..b1eabf4 --- /dev/null +++ b/react-material-admin-master/src/images/profile/growth.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/react-material-admin-master/src/images/profile/profilePhoto.svg b/react-material-admin-master/src/images/profile/profilePhoto.svg new file mode 100644 index 0000000..7d0dc0d --- /dev/null +++ b/react-material-admin-master/src/images/profile/profilePhoto.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/profile/rnsHero.png b/react-material-admin-master/src/images/profile/rnsHero.png new file mode 100644 index 0000000..d965f91 Binary files /dev/null and b/react-material-admin-master/src/images/profile/rnsHero.png differ diff --git a/react-material-admin-master/src/images/react-logo.svg b/react-material-admin-master/src/images/react-logo.svg new file mode 100644 index 0000000..f700374 --- /dev/null +++ b/react-material-admin-master/src/images/react-logo.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + diff --git a/react-material-admin-master/src/images/rns.png b/react-material-admin-master/src/images/rns.png new file mode 100644 index 0000000..60baebd Binary files /dev/null and b/react-material-admin-master/src/images/rns.png differ diff --git a/react-material-admin-master/src/images/search/img1.jpg b/react-material-admin-master/src/images/search/img1.jpg new file mode 100644 index 0000000..31fac52 Binary files /dev/null and b/react-material-admin-master/src/images/search/img1.jpg differ diff --git a/react-material-admin-master/src/images/search/img2.jpg b/react-material-admin-master/src/images/search/img2.jpg new file mode 100644 index 0000000..bc56e75 Binary files /dev/null and b/react-material-admin-master/src/images/search/img2.jpg differ diff --git a/react-material-admin-master/src/images/search/img3.jpg b/react-material-admin-master/src/images/search/img3.jpg new file mode 100644 index 0000000..5eb68be Binary files /dev/null and b/react-material-admin-master/src/images/search/img3.jpg differ diff --git a/react-material-admin-master/src/images/search/img4.jpg b/react-material-admin-master/src/images/search/img4.jpg new file mode 100644 index 0000000..1d5a960 Binary files /dev/null and b/react-material-admin-master/src/images/search/img4.jpg differ diff --git a/react-material-admin-master/src/images/timeline/a1.jpg b/react-material-admin-master/src/images/timeline/a1.jpg new file mode 100644 index 0000000..d24e9d6 Binary files /dev/null and b/react-material-admin-master/src/images/timeline/a1.jpg differ diff --git a/react-material-admin-master/src/images/timeline/a2.jpg b/react-material-admin-master/src/images/timeline/a2.jpg new file mode 100644 index 0000000..17098ce Binary files /dev/null and b/react-material-admin-master/src/images/timeline/a2.jpg differ diff --git a/react-material-admin-master/src/images/timeline/a3.jpg b/react-material-admin-master/src/images/timeline/a3.jpg new file mode 100644 index 0000000..f4591d5 Binary files /dev/null and b/react-material-admin-master/src/images/timeline/a3.jpg differ diff --git a/react-material-admin-master/src/images/timeline/a4.jpg b/react-material-admin-master/src/images/timeline/a4.jpg new file mode 100644 index 0000000..98f0310 Binary files /dev/null and b/react-material-admin-master/src/images/timeline/a4.jpg differ diff --git a/react-material-admin-master/src/images/timeline/mountains.jpeg b/react-material-admin-master/src/images/timeline/mountains.jpeg new file mode 100644 index 0000000..781fc42 Binary files /dev/null and b/react-material-admin-master/src/images/timeline/mountains.jpeg differ diff --git a/react-material-admin-master/src/images/timeline/profile.jpg b/react-material-admin-master/src/images/timeline/profile.jpg new file mode 100644 index 0000000..45061e9 Binary files /dev/null and b/react-material-admin-master/src/images/timeline/profile.jpg differ diff --git a/react-material-admin-master/src/images/users/1.png b/react-material-admin-master/src/images/users/1.png new file mode 100644 index 0000000..99e3188 Binary files /dev/null and b/react-material-admin-master/src/images/users/1.png differ diff --git a/react-material-admin-master/src/images/users/10.png b/react-material-admin-master/src/images/users/10.png new file mode 100644 index 0000000..ff59ecc Binary files /dev/null and b/react-material-admin-master/src/images/users/10.png differ diff --git a/react-material-admin-master/src/images/users/2.png b/react-material-admin-master/src/images/users/2.png new file mode 100644 index 0000000..b95ade7 Binary files /dev/null and b/react-material-admin-master/src/images/users/2.png differ diff --git a/react-material-admin-master/src/images/users/4.png b/react-material-admin-master/src/images/users/4.png new file mode 100644 index 0000000..ffa26f8 Binary files /dev/null and b/react-material-admin-master/src/images/users/4.png differ diff --git a/react-material-admin-master/src/images/users/6.png b/react-material-admin-master/src/images/users/6.png new file mode 100644 index 0000000..977cee4 Binary files /dev/null and b/react-material-admin-master/src/images/users/6.png differ diff --git a/react-material-admin-master/src/images/users/8.png b/react-material-admin-master/src/images/users/8.png new file mode 100644 index 0000000..02636d6 Binary files /dev/null and b/react-material-admin-master/src/images/users/8.png differ diff --git a/react-material-admin-master/src/images/visa.svg b/react-material-admin-master/src/images/visa.svg new file mode 100644 index 0000000..65d4c99 --- /dev/null +++ b/react-material-admin-master/src/images/visa.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/react-material-admin-master/src/index.js b/react-material-admin-master/src/index.js new file mode 100644 index 0000000..cd05892 --- /dev/null +++ b/react-material-admin-master/src/index.js @@ -0,0 +1,45 @@ +import ReactDOM from 'react-dom/client'; +import axios from 'axios'; +import { ThemeProvider as ThemeProviderV5 } from '@mui/material/styles'; +import { StyledEngineProvider } from '@mui/material/styles'; +import App from './components/App'; +import { LayoutProvider } from './context/LayoutContext'; +import { UserProvider } from './context/UserContext'; +import { ManagementProvider } from './context/ManagementContext'; +import { + ThemeProvider as ThemeChangeProvider, + ThemeStateContext, +} from './context/ThemeContext'; +import CssBaseline from '@mui/material/CssBaseline'; +import config from '../src/config'; +import 'leaflet/dist/leaflet.css'; + +axios.defaults.baseURL = config.baseURLApi; +axios.defaults.headers.common['Content-Type'] = 'application/json'; +const token = localStorage.getItem('token'); +if (token) { + axios.defaults.headers.common['Authorization'] = 'Bearer ' + token; +} + +const root = ReactDOM.createRoot(document.getElementById('root')); + +root.render( + + + + + + {(theme) => ( + + + + + + + )} + + + + + , +); diff --git a/react-material-admin-master/src/pages/CRUD/Users/form/UsersForm.js b/react-material-admin-master/src/pages/CRUD/Users/form/UsersForm.js new file mode 100644 index 0000000..61e6adb --- /dev/null +++ b/react-material-admin-master/src/pages/CRUD/Users/form/UsersForm.js @@ -0,0 +1,145 @@ +import { Formik } from 'formik'; +import Grid from '@mui/material/Grid'; +import Button from '@mui/material/Button'; +import Loader from 'components/Loader'; + +import InputFormItem from 'components/FormItems/items/InputFormItem'; +import SwitchFormItem from 'components/FormItems/items/SwitchFormItem'; +import RadioFormItem from 'components/FormItems/items/RadioFormItem'; +import ImagesFormItem from 'components/FormItems/items/ImagesFormItem'; + +import usersFields from 'pages/CRUD/Users/helpers/usersFields'; +import IniValues from 'components/FormItems/iniValues'; +import PreparedValues from 'components/FormItems/preparedValues'; +import FormValidations from 'components/FormItems/formValidations'; +import Widget from 'components/Widget'; + +const UsersForm = (props) => { + const { + isEditing, + isProfile, + findLoading, + record, + onSubmit, + onCancel + } = props; + + const iniValues = () => { + return IniValues(usersFields, record || {}); + }; + + const formValidations = () => { + return FormValidations(usersFields, record || {}); + }; + + const handleSubmit = (values) => { + const { id, ...data } = PreparedValues(usersFields, values || {}); + onSubmit(id, data); + }; + + const title = () => { + if (isProfile) { + return 'Edit My Profile'; + } + + return isEditing ? 'Edit Users' : 'Add Users'; + }; + + const renderForm = () => + + + + {(form) => +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ } +
+
; + + if (findLoading) { + return ; + } + if (isEditing && !record) { + return ; + } + return renderForm(); +}; +export default UsersForm; \ No newline at end of file diff --git a/react-material-admin-master/src/pages/CRUD/Users/form/UsersFormPage.js b/react-material-admin-master/src/pages/CRUD/Users/form/UsersFormPage.js new file mode 100644 index 0000000..6af9b9c --- /dev/null +++ b/react-material-admin-master/src/pages/CRUD/Users/form/UsersFormPage.js @@ -0,0 +1,68 @@ +import { useEffect } from 'react'; +import UsersForm from 'pages/CRUD/Users/form/UsersForm'; +import { useLocation, useNavigate, useParams } from 'react-router-dom'; +import { + actions, + useManagementDispatch, + useManagementState, +} from '../../../../context/ManagementContext'; + +const UsersFormPage = () => { + const managementDispatch = useManagementDispatch(); + const managementState = useManagementState(); + const params = useParams(); + const location = useLocation(); + const navigate = useNavigate(); + + const isEditing = Boolean(params.id); + const isProfile = location.pathname === '/app/profile'; + + const doSubmit = (id, data) => { + if (isEditing || isProfile) { + actions.doUpdate(id, data, navigate, { + isProfile, + redirectPath: isProfile ? null : '/app/users', + })(managementDispatch); + } else { + actions.doCreate(data, navigate, '/app/users')(managementDispatch); + } + }; + + useEffect(() => { + if (isEditing) { + actions.doFind(params.id, { + navigate, + redirectPath: '/app/users', + })(managementDispatch); + } else if (isProfile) { + const currentUser = JSON.parse(localStorage.getItem('user') || 'null'); + const currentUserId = currentUser?.user?.id; + actions.doFind(currentUserId, { + navigate, + redirectPath: '/app/dashboard', + })(managementDispatch); + } else { + managementDispatch(actions.doNew()); + } + }, [isEditing, isProfile, managementDispatch, navigate, params.id]); + + const { saveLoading, findLoading, currentUser } = managementState; + const record = isEditing || isProfile ? currentUser : {}; + + return ( + <> + navigate('/app/users')} + /> + + ); +}; + +export default UsersFormPage; diff --git a/react-material-admin-master/src/pages/CRUD/Users/helpers/UsersSelectItem.js b/react-material-admin-master/src/pages/CRUD/Users/helpers/UsersSelectItem.js new file mode 100644 index 0000000..656fd70 --- /dev/null +++ b/react-material-admin-master/src/pages/CRUD/Users/helpers/UsersSelectItem.js @@ -0,0 +1,69 @@ +import axios from 'axios'; +import React, { useState, useEffect } from 'react'; +import AutocompleteFormItem from 'components/FormItems/items/AutocompleteFormItem'; + +async function selectList(query, limit) { + const params = { query, limit }; + const response = await axios.get(`/users/autocomplete`, { params }); + return response.data; +} + +const UsersSelectItem = (props) => { + const [items, setItems] = useState([]); + + const fetchToItem = (value, limit) => { + return selectList(value, limit); + }; + + useEffect(() => { + async function fetchItems() { + const response = await fetchToItem(); + setItems(response); + } + fetchItems(); + }, []); + + const mapper = { + intoSelect(originalValue) { + if (!originalValue) { + return undefined; + } + + let label = originalValue.label + ? originalValue.label + : originalValue.firstName; + + return { + id: originalValue.id, + label, + }; + }, + + intoValue(originalValue) { + if (!originalValue) { + return undefined; + } + + return { + id: originalValue.value, + label: originalValue.label, + }; + }, + }; + + const { form, ...rest } = props; + + return ( + + + + ); +}; + +export default UsersSelectItem; diff --git a/react-material-admin-master/src/pages/CRUD/Users/helpers/usersFields.js b/react-material-admin-master/src/pages/CRUD/Users/helpers/usersFields.js new file mode 100644 index 0000000..f58bfd6 --- /dev/null +++ b/react-material-admin-master/src/pages/CRUD/Users/helpers/usersFields.js @@ -0,0 +1,48 @@ +const usersFields = { + id: { type: 'id', label: 'ID' }, + + firstName: { type: 'string', label: 'First Name' }, + + lastName: { type: 'string', label: 'Last Name' }, + + phoneNumber: { type: 'string', label: 'Phone Number' }, + + email: { type: 'string', label: 'E-Mail' }, + + role: { + type: 'enum', + label: 'Role', + + options: [ + { value: 'admin', label: 'admin' }, + + { value: 'user', label: 'user' }, + ], + }, + + disabled: { type: 'boolean', label: 'Disabled' }, + + avatar: { type: 'images', label: 'Avatar' }, + + password: { type: 'string', label: 'Password' }, + + emailVerified: { type: 'boolean', label: 'Email Verified' }, + + emailVerificationToken: { type: 'string', label: 'Email Verification Token' }, + + emailVerificationTokenExpiresAt: { + type: 'datetime', + label: 'Email Verification Token Expires At', + }, + + passwordResetToken: { type: 'string', label: 'Password Reset Token' }, + + passwordResetTokenExpiresAt: { + type: 'datetime', + label: 'Password Reset Token Expires At', + }, + + provider: { type: 'string', label: 'Provider' }, +}; + +export default usersFields; diff --git a/react-material-admin-master/src/pages/CRUD/Users/table/UsersDataFormatters.js b/react-material-admin-master/src/pages/CRUD/Users/table/UsersDataFormatters.js new file mode 100644 index 0000000..7f8a9ac --- /dev/null +++ b/react-material-admin-master/src/pages/CRUD/Users/table/UsersDataFormatters.js @@ -0,0 +1,103 @@ +import dayjs from 'utils/dayjs'; +import Box from '@mui/material/Box'; +import { Link as LinkMaterial } from '../../../../components/Wrappers'; + +function truncateText(value, maxLength = 30) { + if (!value) { + return ''; + } + + const stringValue = String(value); + + if (stringValue.length <= maxLength) { + return stringValue; + } + + return `${stringValue.slice(0, Math.max(0, maxLength - 3))}...`; +} + +function imageFormatter(cell) { + const images = cell?.image || cell?.avatar; + const imageUrl = images && images.length ? images[0].publicUrl : undefined; + + if (!imageUrl) return null; + + return ( + + ); +} + +function booleanFormatter(cell) { + return cell ? 'Yes' : 'No'; +} + +function dateTimeFormatter(cell) { + return cell ? dayjs(cell).format('YYYY-MM-DD HH:mm') : null; +} + +function filesFormatter(cell) { + return ( +
+ {cell && + cell.map((value) => { + return ( + + ); + })} +
+ ); +} + +function listFormatter(cell, navigate, entity) { + if (!cell) return null; + + const getContent = (id, title) => ( +
+ { + e.preventDefault(); + navigate(`/app/${entity}/${id}/edit`); + }} + > + {title} + +
+ ); + + return ( +
+ {cell && + cell.length && + cell.map((value) => getContent(value.id, value.firstName))} + {cell && getContent(cell.id, cell.firstName)} +
+ ); +} + +export { + booleanFormatter, + imageFormatter, + dateTimeFormatter, + listFormatter, + filesFormatter, +}; diff --git a/react-material-admin-master/src/pages/CRUD/Users/table/UsersTable.js b/react-material-admin-master/src/pages/CRUD/Users/table/UsersTable.js new file mode 100644 index 0000000..bfa2ce2 --- /dev/null +++ b/react-material-admin-master/src/pages/CRUD/Users/table/UsersTable.js @@ -0,0 +1,425 @@ +import * as dataFormat from 'pages/CRUD/Users/table/UsersDataFormatters'; + +import React from 'react'; +import { Link, useNavigate } from 'react-router-dom'; + +import { makeStyles } from 'styles/mui'; +import { DataGrid } from '@mui/x-data-grid'; + +import MenuItem from '@mui/material/MenuItem'; + +import Button from '@mui/material/Button'; +import Box from '@mui/material/Box'; +import InputLabel from '@mui/material/InputLabel'; +import FormControl from '@mui/material/FormControl'; +import Select from '@mui/material/Select'; +import TextField from '@mui/material/TextField'; +import Grid from '@mui/material/Grid'; +import CloseIcon from '@mui/icons-material/Close'; +import Stack from '@mui/material/Stack'; +import LinearProgress from '@mui/material/LinearProgress'; + +import Widget from 'components/Widget'; +import Actions from '../../../../components/Table/Actions'; +import Dialog from '../../../../components/Dialog'; +import { + actions, + useManagementDispatch, + useManagementState, +} from '../../../../context/ManagementContext'; + +const useStyles = makeStyles({ + container: { + paddingTop: 10, + paddingBottom: 10 + }, + actions: { + display: 'flex', + justifyContent: 'space-between', + marginBottom: 10, + '& a': { + textDecoration: 'none', + color: '#fff' + } + } +}); + +const UsersTable = () => { + const managementDispatch = useManagementDispatch(); + const managementState = useManagementState(); + const navigate = useNavigate(); + const classes = useStyles(); + // eslint-disable-next-line no-unused-vars + const [width, setWidth] = React.useState(window.innerWidth); + + const [filters] = React.useState([ + { label: 'First Name', title: 'firstName' }, + { label: 'Last Name', title: 'lastName' }, + { label: 'Phone Number', title: 'phoneNumber' }, + { label: 'E-Mail', title: 'email' }] + ); + + const [filterItems, setFilterItems] = React.useState([]); + const [filterUrl, setFilterUrl] = React.useState(''); + const filterItemIdRef = React.useRef(0); + + const [loading, setLoading] = React.useState(false); + const [sortModel, setSortModel] = React.useState([]); + const [selectionModel, setSelectionModel] = React.useState([]); + const count = managementState.count || 0; + const modalOpen = managementState.modalOpen; + const rows = managementState.rows; + const idToDelete = managementState.idToDelete; + + const [rowsState, setRowsState] = React.useState({ + page: 0, + pageSize: 5 + }); + + const loadData = async (limit, page, orderBy, request) => { + setLoading(true); + await actions.doFetch({ limit, page, orderBy, request })(managementDispatch); + setLoading(false); + }; + + React.useEffect(() => { + loadData(rowsState.pageSize, rowsState.page, sortModel[0], filterUrl); + }, [sortModel, rowsState, filterUrl]); + + React.useEffect(() => { + updateWindowDimensions(); + window.addEventListener('resize', updateWindowDimensions); + return () => window.removeEventListener('resize', updateWindowDimensions); + }, []); + + const handleSortModelChange = (newModel) => { + setSortModel(newModel); + }; + + const updateWindowDimensions = () => { + setWidth(window.innerWidth); + }; + + const handleChange = (id) => (e) => { + const value = e.target.value; + const name = e.target.name; + + setFilterItems( + filterItems.map((item) => + item.id === id ? + { id, fields: { ...item.fields, [name]: value } } : + item + ) + ); + }; + + const handleSubmit = (e) => { + e.preventDefault(); + let request = '&'; + filterItems.forEach((item) => { + Object.hasOwn( + filters[ + filters.map((filter) => filter.title).indexOf(item.fields.selectedField)], + 'number') ? + request += `${item.fields.selectedField}Range=${item.fields.filterValueFrom}&${item.fields.selectedField}Range=${item.fields.filterValueTo}&` : + request += `${item.fields.selectedField}=${item.fields.filterValue}&`; + }); + + loadData(rowsState.pageSize, 0, sortModel[0], request); + setFilterUrl(request); + }; + + const handleReset = () => { + setFilterItems([]); + setFilterUrl(''); + actions.doFetch({ limit: rowsState.pageSize, page: 0, request: '' })( + managementDispatch, + ); + }; + + const addFilter = () => { + filterItemIdRef.current += 1; + let newItem = { + id: `filter_${filterItemIdRef.current}`, + fields: { + filterValue: '', + filterValueFrom: '', + filterValueTo: '' + } + }; + newItem.fields.selectedField = filters[0].title; + setFilterItems([...filterItems, newItem]); + }; + + const deleteFilter = (value) => (e) => { + e.preventDefault(); + const newItems = filterItems.filter((item) => item.id !== value); + if (newItems.length) { + setFilterItems(newItems); + } else { + actions.doFetch({ limit: 10, page: 1 })(managementDispatch); + setFilterItems(newItems); + } + }; + + const handleDelete = () => { + actions.doDelete( + { limit: 10, page: 0, request: filterUrl }, + idToDelete, + )(managementDispatch); + }; + + const openModal = (event, cell) => { + const id = cell; + event.stopPropagation(); + actions.doOpenConfirm(id)(managementDispatch); + }; + + const closeModal = () => { + actions.doCloseConfirm()(managementDispatch); + }; + + function NoRowsOverlay() { + return ( + + No results found + ); + + } + + const columns = [ + { + field: 'firstName', + + flex: 0.6, + + headerName: 'First Name' + }, + + { + field: 'lastName', + + flex: 0.6, + + headerName: 'Last Name' + }, + + { + field: 'phoneNumber', + + flex: 0.6, + + headerName: 'Phone Number' + }, + + { + field: 'email', + + flex: 0.6, + + headerName: 'E-Mail' + }, + + { + field: 'role', + + headerName: 'Role' + }, + + { + field: 'disabled', + + renderCell: (params) => dataFormat.booleanFormatter(params.row), + + headerName: 'Disabled' + }, + + { + field: 'avatar', + + sortable: false, + renderCell: (params) => dataFormat.imageFormatter(params.row), + + headerName: 'Avatar' + }, + + { + field: 'id', + headerName: 'Actions', + sortable: false, + flex: 0.6, + maxWidth: 80, + renderCell: (params) => + + + + }]; + + + return ( +
+ + + + + + + + + + {filterItems.map((item) => + + + + + Field + + + + {Object.hasOwn( + filters.find((filter) => filter.title === item.fields.selectedField) || {}, + 'number', + ) ? + <> + + + + + + + + + : + + + + + + } + + + + + + )} + {filterItems.length > 0 && + + + + + + + + + } + + +
+ + { + setRowsState((prev) => ({ ...prev, page })); + }} + onPageSizeChange={(pageSize) => { + setRowsState((prev) => ({ ...prev, pageSize })); + }} + onSelectionModelChange={(newSelectionModel) => { + setSelectionModel(newSelectionModel); + }} + selectionModel={selectionModel} + checkboxSelection + disableSelectionOnClick + disableColumnMenu + loading={loading} + onRowClick={(e) => { + navigate(`/app/users/${e.id}/edit`); + }} + autoHeight /> + +
+
+ + + +
); + +}; + +export default UsersTable; diff --git a/react-material-admin-master/src/pages/CRUD/Users/table/UsersTablePage.js b/react-material-admin-master/src/pages/CRUD/Users/table/UsersTablePage.js new file mode 100644 index 0000000..a5c9c42 --- /dev/null +++ b/react-material-admin-master/src/pages/CRUD/Users/table/UsersTablePage.js @@ -0,0 +1,11 @@ +import UsersTable from 'pages/CRUD/Users/table/UsersTable'; + +const UsersTablePage = () => { + return ( +
+ +
+ ); +}; + +export default UsersTablePage; diff --git a/react-material-admin-master/src/pages/badge/Badge.js b/react-material-admin-master/src/pages/badge/Badge.js new file mode 100644 index 0000000..d7a5387 --- /dev/null +++ b/react-material-admin-master/src/pages/badge/Badge.js @@ -0,0 +1,259 @@ +import { Grid, Box, IconButton, Tab, Tabs, AppBar } from "@mui/material"; +import { + Mail as MailIcon, + ShoppingCart as ShoppingCartIcon } from +"@mui/icons-material"; +import useStyles from "./styles"; + +// components +import Widget from "../../components/Widget"; +import Code from "../../components/Code"; +import { Badge, Typography, Chip, Button } from "../../components/Wrappers"; + +export default function BadgeComp() { + const classes = useStyles(); + return ( +
+ + + + + Badge generates a small badge to the top-right of its child(ren) + + + + + + Example heading + + + + + + + Example heading + + + + + + + Example heading + + + + + + + Example heading + + + + + + + Example heading + + + + + + + + Example heading + + + + + Badges can be used as part of links or buttons to provide a + counter. + + + + + + + + + + + + + + Badge can also be used as a parent of a icon as well as a parent + of a clickable icon + + + + + + + + + + + + + + + + + + + + + + + + + + Item One + + } /> + + + + + + + + You may to use dot badge via{" "} + {`variant="dot"`} + + + + + + + + + + + + + + Typography + + + + You can use the {`horizontalAlignment`}{" "} + and {`verticalAlignment`} + properties to move the badge to any corner of the wrapped + element. + + + + + + + + + + + + + + Typography + + + + + + + + + + Chips allow users to enter information, make selections, filter + content, or trigger actions. + + + + + + + + + + + + + + + +
); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/badge/package.json b/react-material-admin-master/src/pages/badge/package.json new file mode 100644 index 0000000..a3a47a6 --- /dev/null +++ b/react-material-admin-master/src/pages/badge/package.json @@ -0,0 +1,6 @@ +{ + "name": "Badge", + "version": "1.0.0", + "main": "Badge.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/badge/styles.js b/react-material-admin-master/src/pages/badge/styles.js new file mode 100644 index 0000000..cdad337 --- /dev/null +++ b/react-material-admin-master/src/pages/badge/styles.js @@ -0,0 +1,13 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + paddingTop: { + paddingTop: theme.spacing(1), + }, + badge: { + margin: theme.spacing(2, 2, 0, 0), + }, + margin: { + margin: theme.spacing(0, 2, 0, 0), + }, +})); diff --git a/react-material-admin-master/src/pages/calendar/Calendar.js b/react-material-admin-master/src/pages/calendar/Calendar.js new file mode 100644 index 0000000..c141e25 --- /dev/null +++ b/react-material-admin-master/src/pages/calendar/Calendar.js @@ -0,0 +1,383 @@ +import React from 'react'; +import { + Grid, + IconButton, + Dialog, + DialogTitle, + TextField as Input, + Box, +} from '@mui/material'; +import { + KeyboardArrowLeft as LeftArrowIcon, + KeyboardArrowRight as RightArrowIcon, + CalendarToday as CalendarIcon, +} from '@mui/icons-material'; + +import FullCalendar from '@fullcalendar/react'; +import dayGridPlugin from '@fullcalendar/daygrid'; +import timeGridPlugin from '@fullcalendar/timegrid'; +import listPlugin from '@fullcalendar/list'; +import interactionPlugin, { Draggable } from '@fullcalendar/interaction'; + +import s from './Calendar.module.scss'; + +import dayjs from 'utils/dayjs'; +import cn from 'classnames'; + +// components +import Widget from '../../components/Widget'; +import Dot from '../../components/Sidebar/components/Dot'; +import { Button, Typography } from '../../components/Wrappers'; + +function createCalendarOptions() { + const date = new Date(); + const d = date.getDate(); + const m = date.getMonth(); + const y = date.getFullYear(); + + return { + headerToolbar: { + left: '', + center: 'title', + right: '', + }, + events: [ + { + title: 'All Day Event', + start: new Date(y, m, 1), + backgroundColor: '#79A5F0', + textColor: '#fff', + description: 'Will be busy throughout the whole day', + }, + { + title: 'Long Event', + start: new Date(y, m, d + 5), + end: new Date(y, m, d + 7), + textColor: '#fff', + description: 'This conference should be worse visiting', + }, + { + id: 999, + title: 'Blah Blah Car', + start: new Date(y, m, d - 3, 16, 0), + allDay: false, + textColor: '#333', + description: 'Agree with this guy on arrival time', + }, + { + id: 1000, + title: 'Buy this template', + start: new Date(y, m, d + 3, 12, 0), + allDay: false, + backgroundColor: '#555', + textColor: '#fff', + description: 'Make sure everything is consistent first', + }, + { + title: 'Got to school', + start: new Date(y, m, d + 16, 12, 0), + end: new Date(y, m, d + 16, 13, 0), + backgroundColor: '#64bd63', + textColor: '#fff', + description: 'Time to go back', + }, + { + title: 'Study some Node', + start: new Date(y, m, d + 18, 12, 0), + end: new Date(y, m, d + 18, 13, 0), + backgroundColor: '#79A5F0', + textColor: '#fff', + description: + "Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.", + }, + { + title: 'Click for Flatlogic', + start: new Date(y, m, 28), + end: new Date(y, m, 29), + url: 'http://flatlogic.com/', + backgroundColor: '#e5603b', + textColor: '#fff', + description: 'Creative solutions', + }, + ], + selectable: true, + selectHelper: true, + editable: true, + droppable: true, + }; +} + +function Calendar() { + const [event, setEvent] = React.useState({}); + const [modal, setModal] = React.useState(false); + const [modalEvent, setModalEvent] = React.useState(false); + const [calendarView, setCalendarView] = React.useState('dayGridMonth'); + + const calendarOptions = React.useMemo(() => createCalendarOptions(), []); + const calendarPlugins = React.useMemo( + () => [dayGridPlugin, timeGridPlugin, interactionPlugin, listPlugin], + [], + ); + + const externalEventsRef = React.useRef(null); + const fullCalendarRef = React.useRef(null); + + React.useEffect(() => { + if (!externalEventsRef.current) { + return undefined; + } + + const draggable = new Draggable(externalEventsRef.current, { + itemSelector: '.external-event', + }); + + return () => { + draggable.destroy(); + }; + }, []); + + const getCalendarApi = () => fullCalendarRef.current?.getApi(); + + const drop = (info) => { + if (info.draggedEl?.parentNode) { + info.draggedEl.parentNode.removeChild(info.draggedEl); + } + }; + + const handleChange = (e) => { + setEvent((prev) => ({ ...prev, title: e.target.value })); + }; + + const toggleModal = () => { + setModal((prev) => !prev); + }; + + const toggleModalEvent = () => { + setModalEvent((prev) => !prev); + }; + + const createEvent = () => { + const api = getCalendarApi(); + if (!api) { + return; + } + + api.addEvent(event); + api.unselect(); + toggleModal(); + }; + + const select = ({ start, end, allDay }) => { + setEvent({ + start, + end, + allDay, + backgroundColor: '#64bd63', + textColor: '#fff', + editable: true, + }); + toggleModal(); + }; + + const eventClick = (e) => { + setEvent(e.event); + toggleModalEvent(); + }; + + const prev = () => { + getCalendarApi()?.prev(); + }; + + const next = () => { + getCalendarApi()?.next(); + }; + + const today = () => { + getCalendarApi()?.today(); + }; + + const changeView = (view) => { + setCalendarView(view); + getCalendarApi()?.changeView(view); + }; + + const getFormattedDate = (date) => dayjs(date).format('YYYY-MM-DD'); + + return ( + <> + + + + Draggable Events + + + Just drap and drop events from there directly into the calendar. + +
+
+ + + + Make a tea + + +
+
+ + + + Open windows + + +
+
+ + + + Some stuff + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + Create New Event + + + Just enter event name to create a new one + + + + + {' '} + + + + + + + {event.title} + + + + {getFormattedDate(event.start)} + + + {event.extendedProps && event.extendedProps.description} + + + + + + ); +} + +export default Calendar; diff --git a/react-material-admin-master/src/pages/calendar/Calendar.module.scss b/react-material-admin-master/src/pages/calendar/Calendar.module.scss new file mode 100644 index 0000000..9b88b83 --- /dev/null +++ b/react-material-admin-master/src/pages/calendar/Calendar.module.scss @@ -0,0 +1,8 @@ +.widget { + background-color: #fff; + padding: 16px; + margin: 16px 0; + box-shadow: + 0px 3px 11px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A; + border-radius: 4px +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/calendar/package.json b/react-material-admin-master/src/pages/calendar/package.json new file mode 100644 index 0000000..3aa9858 --- /dev/null +++ b/react-material-admin-master/src/pages/calendar/package.json @@ -0,0 +1,9 @@ +{ + "name": "calendar", + "version": "1.0.0", + "main": "Calendar.js", + "license": "MIT", + "dependencies": { + "reactstrap": "^8.1.1" + } +} diff --git a/react-material-admin-master/src/pages/cards/Cards.js b/react-material-admin-master/src/pages/cards/Cards.js new file mode 100644 index 0000000..f4aafae --- /dev/null +++ b/react-material-admin-master/src/pages/cards/Cards.js @@ -0,0 +1,205 @@ +import { + Grid, + Box, + Card, + CardActions, + CardContent, + CardActionArea, + CardMedia, + CardHeader, + IconButton, + Divider } from +"@mui/material"; +import { + Star as StarIcon, + MoreVert as MoreVertIcon, + Favorite as FavoriteIcon, + Share as ShareIcon } from +"@mui/icons-material"; +import useStyles from "./styles"; + +//images +import backImg from "../../images/cards/lifestyle.jpg"; +import isometricImg from "../../images/cards/isometric.jpg"; +import mountainsImg from "../../images/cards/mountains.jpeg"; +import rnsImg from "../../images/cards/rns.png"; + +// components +import { Typography, Button, Link, Avatar } from "../../components/Wrappers"; + +export default function BadgeComp() { + const props = { + card: backImg + }; + const classes = useStyles(props); + return ( +
+ + + + + + + 13 Mar + + + Lifestyle brand + + + A lifestyle brand is a company that markets its products or + services to embody the interests, attitudes, and opinions of a + group or a culture. Lifestyle brands seek to inspire, guide, and + motivate people, with the goal of their products contributing to + the definition of the consumer's way of life. + + + + + + + + + + + + + + + Lizard + + + Lizards are a widespread group of squamate reptiles, with over + 6,000 species, ranging across all continents except Antarctica + + + + + + + + + + + + + + + + Avr Rating + All Time + + + + + + + + + + + 342 REVIEWS + + + + 69% + + of customers recommend this product + + + + + + + + + + + R + + } + action={ + + + + } + title="Weekly Inspiration" + subheader="September 14, 2016" /> + + + + + + + There are at least 109 mountains on Earts with elevations + greeter than 7,200 meters + + + + + + + + + + + + + + + + + + + + + + Technology + + + React Native Starter + + + + + + from $49.95 + + + + + +
); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/cards/package.json b/react-material-admin-master/src/pages/cards/package.json new file mode 100644 index 0000000..cf90579 --- /dev/null +++ b/react-material-admin-master/src/pages/cards/package.json @@ -0,0 +1,6 @@ +{ + "name": "cards", + "version": "1.0.0", + "main": "Cards.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/cards/styles.js b/react-material-admin-master/src/pages/cards/styles.js new file mode 100644 index 0000000..1faf5fa --- /dev/null +++ b/react-material-admin-master/src/pages/cards/styles.js @@ -0,0 +1,23 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + card: { + minWidth: "100%", + backgroundImage: props => `url(${props.card})`, + backgroundSize: "cover", + backgroundPosition: "50%", + color: "#fff", + }, + cardMedia: { + minWidth: "100%", + }, + media: { + height: "140px", + }, + starIcon: { + color: "#ffc247", + }, + cardActions: { + padding: theme.spacing(2) + } +})); diff --git a/react-material-admin-master/src/pages/carousel/Carousel.js b/react-material-admin-master/src/pages/carousel/Carousel.js new file mode 100644 index 0000000..21acd40 --- /dev/null +++ b/react-material-admin-master/src/pages/carousel/Carousel.js @@ -0,0 +1,263 @@ +import React from "react"; +import { Grid, MobileStepper } from "@mui/material"; +import { makeStyles, useTheme } from "styles/mui"; +import KeyboardArrowLeft from "@mui/icons-material/KeyboardArrowLeft"; +import KeyboardArrowRight from "@mui/icons-material/KeyboardArrowRight"; + +//images +import img1 from "../../images/carousel/1.jpg"; +import img2 from "../../images/carousel/2.jpg"; +import img3 from "../../images/carousel/3.jpg"; + +//components +import { Button, Typography } from "../../components/Wrappers"; +import Widget from "../../components/Widget"; + +const places1 = [ +{ + label: "San Francisco – Oakland Bay Bridge, United States", + imgPath: img1 +}, +{ + label: "Alaska - Glacier Bay National Park, United States", + imgPath: img2 +}, +{ + label: "Bali, Indonesia", + imgPath: img3 +}]; + + +const places2 = [ +{ + label: "Alaska - Glacier Bay National Park, United States", + imgPath: img2 +}, +{ + label: "Bali, Indonesia", + imgPath: img3 +}, +{ + label: "San Francisco – Oakland Bay Bridge, United States", + imgPath: img1 +}]; + + +const places3 = [ +{ + label: "Bali, Indonesia", + imgPath: img3 +}, +{ + label: "San Francisco – Oakland Bay Bridge, United States", + imgPath: img1 +}, +{ + label: "Alaska - Glacier Bay National Park, United States", + imgPath: img2 +}]; + + +const useStyles = makeStyles((theme) => ({ + root: { + maxWidth: 400, + flexGrow: 1 + }, + header: { + display: "flex", + alignItems: "center", + height: 50, + paddingLeft: theme.spacing(4), + backgroundColor: theme.palette.background.default + }, + img: { + height: 255, + display: "block", + maxWidth: "100%", + overflow: "hidden", + width: "100%" + } +})); + +function Carousel() { + const classes = useStyles(); + const theme = useTheme(); + const [activeStep, setActiveStep] = React.useState(0); + const maxSteps = places1.length; + + React.useEffect(() => { + const timer = setInterval(() => { + setActiveStep((prevStep) => (prevStep + 1) % maxSteps); + }, 5000); + + return () => clearInterval(timer); + }, [maxSteps]); + + const handleNext = () => { + setActiveStep((prevActiveStep) => prevActiveStep + 1); + }; + + const handleBack = () => { + setActiveStep((prevActiveStep) => prevActiveStep - 1); + }; + + return ( + + + {places1[activeStep].label}} + disableWidgetMenu + noBodyPadding> + +
+ {places1[activeStep].label} + +
+ + + Next + {theme.direction === "rtl" ? + : + + + } + + } + backButton={ + + } /> + +
+
+ + {places2[activeStep].label}} + disableWidgetMenu + noBodyPadding> + +
+ {places2[activeStep].label} + +
+ + + Next + {theme.direction === "rtl" ? + : + + + } + + } + backButton={ + + } /> + +
+
+ + {places3[activeStep].label}} + disableWidgetMenu + noBodyPadding> + +
+ {places3[activeStep].label} + +
+ + + Next + {theme.direction === "rtl" ? + : + + + } + + } + backButton={ + + } /> + +
+
+
); + +} + +export default Carousel; \ No newline at end of file diff --git a/react-material-admin-master/src/pages/carousel/package.json b/react-material-admin-master/src/pages/carousel/package.json new file mode 100644 index 0000000..800b6f5 --- /dev/null +++ b/react-material-admin-master/src/pages/carousel/package.json @@ -0,0 +1,6 @@ +{ + "name": "Carousel", + "version": "1.0.0", + "main": "Carousel.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/carousel/styles.js b/react-material-admin-master/src/pages/carousel/styles.js new file mode 100644 index 0000000..a7a0645 --- /dev/null +++ b/react-material-admin-master/src/pages/carousel/styles.js @@ -0,0 +1,5 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(() => ({ + +})); diff --git a/react-material-admin-master/src/pages/charts/BarCharts.js b/react-material-admin-master/src/pages/charts/BarCharts.js new file mode 100644 index 0000000..36f64a6 --- /dev/null +++ b/react-material-admin-master/src/pages/charts/BarCharts.js @@ -0,0 +1,311 @@ +import { useState } from "react"; +import { Grid } from "@mui/material"; +import { useTheme } from "styles/mui"; +import ReactApexChart from "react-apexcharts"; +import img from "../../images/carousel/2.jpg"; + +// components +import Widget from "../../components/Widget/Widget"; + +const themeOptions = (theme) => { + return { + plotOptions: { + bar: { + horizontal: true + } + }, + dataLabels: { + enabled: false + }, + xaxis: { + categories: [ + "South Korea", + "Canada", + "United Kingdom", + "Netherlands", + "Italy", + "France", + "Japan", + "United States", + "China", + "Germany"] + + }, + stroke: { + curve: "smooth" + }, + legend: { + show: false + }, + chart: { + stacked: false, + toolbar: { + show: false + } + }, + tooltip: { + shared: false + }, + colors: [theme.palette.primary.main], + options: { + plotOptions: { + bar: { + horizontal: true, + dataLabels: { + position: "top" + } + } + }, + dataLabels: { + enabled: true, + offsetX: -6, + style: { + fontSize: "12px", + colors: ["#fff"] + } + }, + stroke: { + show: true, + width: 1, + colors: ["#fff"] + }, + + xaxis: { + categories: [2013, 2014, 2015, 2016, 2017, 2018, 2019] + }, + colors: [theme.palette.primary.main, theme.palette.success.light] + }, + options2: { + chart: { + stacked: true, + toolbar: { + show: false + } + }, + plotOptions: { + bar: { + horizontal: true + } + }, + stroke: { + width: 1, + colors: ["#fff"] + }, + xaxis: { + categories: [2013, 2014, 2015, 2016, 2017, 2018, 2019], + labels: { + formatter: function (val) { + return val + "K"; + } + } + }, + yaxis: { + title: { + text: undefined + } + }, + tooltip: { + y: { + formatter: function (val) { + return val + "K"; + } + } + }, + fill: { + opacity: 1 + }, + colors: [ + theme.palette.primary.main, + theme.palette.secondary.main, + theme.palette.warning.main, + theme.palette.success.light, + theme.palette.info.main], + + legend: { + position: "top", + horizontalAlign: "left", + offsetX: 40 + } + }, + options3: { + chart: { + animations: { + enabled: false + }, + toolbar: { + show: false + } + }, + plotOptions: { + bar: { + horizontal: true, + barHeight: "100%" + } + }, + dataLabels: { + enabled: false + }, + stroke: { + colors: ["#fff"], + width: 0.2 + }, + labels: Array.apply(null, { length: 39 }).map(function (el, index) { + return index + 1; + }), + yaxis: { + axisBorder: { + show: false + }, + axisTicks: { + show: false + }, + labels: { + show: false + } + }, + grid: { + position: "back" + }, + fill: { + type: "image", + opacity: 0.87, + image: { + src: [img], + width: 466, + height: 406 + } + } + } + }; +}; + +const values = { + series: [ + { + data: [400, 430, 448, 470, 540, 580, 690, 1100, 1200, 1380] + }], + + series2: [ + { + data: [44, 55, 41, 64, 22, 43, 21] + }, + { + data: [53, 32, 33, 52, 13, 44, 32] + }], + + series3: [ + { + name: "Marine Sprite", + data: [44, 55, 41, 37, 22, 43, 21] + }, + { + name: "Striking Calf", + data: [53, 32, 33, 52, 13, 43, 32] + }, + { + name: "Tank Picture", + data: [12, 17, 11, 9, 15, 11, 20] + }, + { + name: "Bucket Slope", + data: [9, 7, 5, 8, 6, 9, 4] + }, + { + name: "Reborn Kid", + data: [25, 12, 19, 32, 25, 24, 10] + }], + + series4: [ + { + name: "coins", + data: [ + 2, + 4, + 3, + 4, + 3, + 5, + 5, + 6.5, + 6, + 5, + 4, + 5, + 8, + 7, + 7, + 8, + 8, + 10, + 9, + 9, + 12, + 12, + 11, + 12, + 13, + 14, + 16, + 14, + 15, + 17, + 19, + 21] + + }] + +}; + +export default function Charts() { + const theme = useTheme(); + const [state] = useState(values); + + // local + + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + ); + +} diff --git a/react-material-admin-master/src/pages/charts/Charts.js b/react-material-admin-master/src/pages/charts/Charts.js new file mode 100644 index 0000000..962d9fb --- /dev/null +++ b/react-material-admin-master/src/pages/charts/Charts.js @@ -0,0 +1,238 @@ +import { useState } from "react"; +import { Grid } from "@mui/material"; +import { useTheme } from "styles/mui"; +import { + CartesianGrid, + Legend, + Line, + LineChart, + Pie, + PieChart, + ResponsiveContainer, + Sector, + Tooltip, + XAxis, + YAxis } from +"recharts"; + +// components +import Widget from "../../components/Widget/Widget"; +import ApexLineChart from "./components/ApexLineChart"; +import ApexHeatmap from "./components/ApexHeatmap"; +import ApexRadarChart from "./components/ApexRadarChart"; +import ApexBarChart from "./components/ApexBarChart"; + +const lineChartData = [ +{ + name: "Page A", + uv: 4000, + pv: 2400, + amt: 2400 +}, +{ + name: "Page B", + uv: 3000, + pv: 1398, + amt: 2210 +}, +{ + name: "Page C", + uv: 2000, + pv: 9800, + amt: 2290 +}, +{ + name: "Page D", + uv: 2780, + pv: 3908, + amt: 2000 +}, +{ + name: "Page E", + uv: 1890, + pv: 4800, + amt: 2181 +}, +{ + name: "Page F", + uv: 2390, + pv: 3800, + amt: 2500 +}, +{ + name: "Page G", + uv: 3490, + pv: 4300, + amt: 2100 +}]; + + +const pieChartData = [ +{ name: "Group A", value: 400 }, +{ name: "Group B", value: 300 }, +{ name: "Group C", value: 300 }, +{ name: "Group D", value: 200 }]; + + +export default function Charts() { + var theme = useTheme(); + + // local + var [activeIndex, setActiveIndexId] = useState(0); + + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + setActiveIndexId(id)} /> + + + + + + + ); + +} + +// ################################################################ + +function renderActiveShape(props) { + var RADIAN = Math.PI / 180; + var { + cx, + cy, + midAngle, + innerRadius, + outerRadius, + startAngle, + endAngle, + fill, + payload, + percent, + value + } = props; + var sin = Math.sin(-RADIAN * midAngle); + var cos = Math.cos(-RADIAN * midAngle); + var sx = cx + (outerRadius + 10) * cos; + var sy = cy + (outerRadius + 10) * sin; + var mx = cx + (outerRadius + 30) * cos; + var my = cy + (outerRadius + 30) * sin; + var ex = mx + (cos >= 0 ? 1 : -1) * 22; + var ey = my; + var textAnchor = cos >= 0 ? "start" : "end"; + + return ( + + + {payload.name} + + + + + + + + + = 0 ? 1 : -1) * 12} + y={ey} + textAnchor={textAnchor} + fill="#333"> + {`PV ${value}`} + = 0 ? 1 : -1) * 12} + y={ey} + dy={18} + textAnchor={textAnchor} + fill="#999"> + + {`(Rate ${(percent * 100).toFixed(2)}%)`} + + ); + +} diff --git a/react-material-admin-master/src/pages/charts/LineCharts.js b/react-material-admin-master/src/pages/charts/LineCharts.js new file mode 100644 index 0000000..0ea9b95 --- /dev/null +++ b/react-material-admin-master/src/pages/charts/LineCharts.js @@ -0,0 +1,358 @@ +import { useState, useEffect } from "react"; +import { Grid } from "@mui/material"; +import { useTheme } from "styles/mui"; +import ReactApexChart from "react-apexcharts"; +import ApexCharts from "apexcharts"; + +// components +import Widget from "../../components/Widget/Widget"; + +//Realtime chart +var lastDate = 0; +var data = []; +var TICKINTERVAL = 86400000; +let XAXISRANGE = 777600000; +let _isMounted; +function getDayWiseTimeSeries(baseval, count, yrange) { + var i = 0; + while (i < count) { + var x = baseval; + var y = + Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min; + + data.push({ + x, + y + }); + lastDate = baseval; + baseval += TICKINTERVAL; + i++; + } +} + +function intervals() { + if (_isMounted) { + window.setInterval(() => { + getNewSeries(lastDate, { + min: 10, + max: 90 + }); + + ApexCharts.exec("realtime", "updateSeries", [ + { + data: data + }] + ); + }, 1000); + } +} + +getDayWiseTimeSeries(new Date("11 Feb 2019 GMT").getTime(), 10, { + min: 10, + max: 90 +}); + +function getNewSeries(baseval, yrange) { + var newDate = baseval + TICKINTERVAL; + lastDate = newDate; + + for (var i = 0; i < data.length - 10; i++) { + // IMPORTANT + // we reset the x and y of the data which is out of drawing area + // to prevent memory leaks + data[i].x = newDate - XAXISRANGE - TICKINTERVAL; + data[i].y = 0; + } + + data.push({ + x: newDate, + y: Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min + }); +} + +//Zoomable Timeseries +var ts2 = 1484418600000; +var dates = []; +for (var i = 0; i < 120; i++) { + ts2 = ts2 + 86400000; + var innerArr = [ts2, Math.round(Math.random(0) * 100)]; + dates.push(innerArr); +} + +const themeOptions = (theme) => { + return { + // first container chart + grid: { + row: { + colors: [theme.palette.primary.light, "transparent"], // takes an array which will be repeated on columns + opacity: 0.1 + } + }, + colors: [theme.palette.primary.main], + xaxis: { + categories: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep"] + + }, + dataLabels: { + enabled: false + }, + stroke: { + curve: "smooth" + }, + chart: { + toolbar: { + show: false + } + }, + legend: { + show: false + }, + // second container chart + options: { + dataLabels: { + enabled: false + }, + stroke: { + curve: "smooth" + }, + chart: { + shadow: { + enabled: true, + color: "#000", + top: 18, + left: 7, + blur: 10, + opacity: 1 + }, + toolbar: { + show: false + } + }, + colors: [theme.palette.primary.main, theme.palette.success.main], + grid: { + borderColor: "#e7e7e7", + row: { + colors: ["#f3f3f3", "transparent"], // takes an array which will be repeated on columns + opacity: 0.5 + } + }, + markers: { + size: 6 + }, + xaxis: { + categories: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul"], + title: { + text: "Month" + } + }, + yaxis: { + title: { + text: "Temperature" + }, + min: 5, + max: 40 + }, + legend: { + position: "top", + horizontalAlign: "right", + floating: true, + offsetY: -25, + offsetX: -5 + } + }, + // third container chart + options2: { + stroke: { + curve: "smooth" + }, + legend: { + show: false + }, + chart: { + stacked: false, + zoom: { + type: "x", + enabled: true, + autoScaleYaxis: true + }, + toolbar: { + show: false + } + }, + plotOptions: { + line: { + curve: "smooth" + } + }, + dataLabels: { + enabled: false + }, + markers: { + size: 0, + style: "full" + }, + colors: [theme.palette.success.light], + fill: { + type: "gradient", + gradient: { + shadeIntensity: 1, + inverseColors: false, + opacityFrom: 0.5, + opacityTo: 0, + stops: [0, 90, 100] + } + }, + xaxis: { + type: "datetime" + }, + + tooltip: { + shared: false, + y: { + formatter: function (val) { + return val; + } + } + } + }, + // fourth chart container + options3: { + colors: [theme.palette.primary.light], + chart: { + id: "realtime", + animations: { + enabled: true, + easing: "linear", + dynamicAnimation: { + speed: 1000 + } + }, + toolbar: { + show: false + }, + zoom: { + enabled: false + } + }, + dataLabels: { + enabled: false + }, + stroke: { + curve: "smooth" + }, + markers: { + size: 0 + }, + xaxis: { + type: "datetime", + range: XAXISRANGE + }, + yaxis: { + max: 100 + }, + legend: { + show: false + } + } + }; +}; + +const values = { + series: [ + { + name: "Desktops", + data: [10, 41, 35, 51, 49, 62, 69, 91, 148] + }], + + series2: [ + { + name: "High - 2019", + data: [28, 29, 33, 36, 32, 32, 33] + }, + { + name: "Low - 2019", + data: [12, 11, 14, 18, 17, 13, 13] + }], + + series3: [ + { + name: "Flatlogic LLC", + data: dates + }], + + series4: [ + { + data: data.slice() + }] + +}; + +export default function Charts() { + useEffect(() => { + intervals(); + return function cleanup() { + _isMounted = false; + data = data.slice(data.length - 10, data.length); + }; + }); + const theme = useTheme(); + const [state] = useState(values); + + // local + + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + ); + +} diff --git a/react-material-admin-master/src/pages/charts/PieCharts.js b/react-material-admin-master/src/pages/charts/PieCharts.js new file mode 100644 index 0000000..8ada039 --- /dev/null +++ b/react-material-admin-master/src/pages/charts/PieCharts.js @@ -0,0 +1,262 @@ +import { useState } from "react"; +import { useTheme } from "styles/mui"; +import ReactApexChart from "react-apexcharts"; +import { Box, Grid } from "@mui/material"; + +// components +import Widget from "../../components/Widget/Widget"; +import { Button } from "../../components/Wrappers"; + +const themeOptions = (theme) => { + return { + labels: ["Team A", "Team B", "Team C", "Team D", "Team E"], + responsive: [ + { + breakpoint: 480, + options: { + chart: { + width: 200 + }, + legend: { + position: "bottom" + } + } + }], + + colors: [ + theme.palette.primary.main, + theme.palette.secondary.main, + theme.palette.warning.main, + theme.palette.success.light, + theme.palette.info.main], + + options: { + responsive: [ + { + breakpoint: 480, + options: { + chart: { + width: 200 + }, + legend: { + position: "bottom" + } + } + }], + + colors: [ + theme.palette.primary.main, + theme.palette.secondary.main, + theme.palette.warning.main, + theme.palette.success.light, + theme.palette.info.main] + + }, + options2: { + dataLabels: { + enabled: false + }, + + responsive: [ + { + breakpoint: 480, + options: { + chart: { + width: 200 + }, + legend: { + show: false + } + } + }], + + legend: { + position: "right", + offsetY: 0, + height: 230 + }, + colors: [ + theme.palette.primary.main, + theme.palette.secondary.main, + theme.palette.warning.main, + theme.palette.success.light, + theme.palette.info.main] + + }, + options3: { + labels: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday"], + + theme: { + monochrome: { + enabled: true + } + }, + colors: [ + theme.palette.primary.main, + theme.palette.secondary.main, + theme.palette.warning.main, + theme.palette.success.light, + theme.palette.info.main], + + responsive: [ + { + breakpoint: 480, + options: { + chart: { + width: 200 + }, + legend: { + position: "bottom" + } + } + }] + + } + }; +}; + +const values = { + series: [44, 55, 13, 43, 22], + series2: [44, 55, 41, 17, 15], + series3: [44, 55, 13, 33], + series4: [25, 15, 44, 55, 41, 17] +}; + +export default function Charts() { + const theme = useTheme(); + const [state, setState] = useState(values); + const appendData = () => { + var arr = state.series3.slice(); + arr.push(Math.floor(Math.random() * (100 - 1 + 1)) + 1); + + setState({ + ...state, + series3: arr + }); + }; + + const removeData = () => { + if (state.series3.length === 1) return; + + var arr = state.series3.slice(); + arr.pop(); + + setState({ + ...state, + series3: arr + }); + }; + + const randomize = () => { + setState({ + ...state, + series3: state.series3.map(() => { + return Math.floor(Math.random() * (100 - 1 + 1)) + 1; + }) + }); + }; + + const reset = () => { + setState({ + ...state, + series3: [44, 55, 13, 33] + }); + }; + + // local + + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); + +} diff --git a/react-material-admin-master/src/pages/charts/components/ApexBarChart.js b/react-material-admin-master/src/pages/charts/components/ApexBarChart.js new file mode 100644 index 0000000..bba5bc7 --- /dev/null +++ b/react-material-admin-master/src/pages/charts/components/ApexBarChart.js @@ -0,0 +1,68 @@ +import { useState } from "react"; +import { useTheme } from "styles/mui"; +import ReactApexChart from "react-apexcharts"; + +const themeOptions = theme => { + return { + plotOptions: { + bar: { + horizontal: true, + }, + }, + dataLabels: { + enabled: false, + }, + xaxis: { + categories: [ + "South Korea", + "Canada", + "United Kingdom", + "Netherlands", + "Italy", + "France", + "Japan", + "United States", + "China", + "Germany", + ], + }, + stroke: { + curve: "smooth", + }, + chart: { + toolbar: { + show: false, + }, + }, + legend: { + show: false, + }, + labels: ["January", "February", "March", "April", "May", "June"], + fill: { + colors: [theme.palette.primary.main], + }, + }; +}; + +const values = { + series: [ + { + data: [400, 430, 448, 470, 540, 580, 690, 1100, 1200, 1380], + }, + ], +}; + +const ApexBarChart = () => { + const theme = useTheme(); + const [state] = useState(values); + return ( + + ); +}; + +export default ApexBarChart; diff --git a/react-material-admin-master/src/pages/charts/components/ApexHeatmap.js b/react-material-admin-master/src/pages/charts/components/ApexHeatmap.js new file mode 100644 index 0000000..db0fd47 --- /dev/null +++ b/react-material-admin-master/src/pages/charts/components/ApexHeatmap.js @@ -0,0 +1,114 @@ +import { useTheme } from "styles/mui"; +import ApexCharts from "react-apexcharts"; + +const series = [ + { + name: "Metric1", + data: generateData(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric2", + data: generateData(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric3", + data: generateData(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric4", + data: generateData(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric5", + data: generateData(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric6", + data: generateData(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric7", + data: generateData(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric8", + data: generateData(18, { + min: 0, + max: 90, + }), + }, + { + name: "Metric9", + data: generateData(18, { + min: 0, + max: 90, + }), + }, +]; + +export default function ApexLineChart() { + var theme = useTheme(); + + return ( + + ); +} + +// ################################################################## +function generateData(count, yrange) { + var i = 0; + var series = []; + while (i < count) { + var x = "w" + (i + 1).toString(); + var y = + Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min; + + series.push({ + x: x, + y: y, + }); + i++; + } + + return series; +} + +function themeOptions(theme) { + return { + chart: { + toolbar: { + show: false, + }, + }, + dataLabels: { + enabled: false, + }, + colors: [theme.palette.primary.main], + }; +} diff --git a/react-material-admin-master/src/pages/charts/components/ApexLineChart.js b/react-material-admin-master/src/pages/charts/components/ApexLineChart.js new file mode 100644 index 0000000..8d09e6e --- /dev/null +++ b/react-material-admin-master/src/pages/charts/components/ApexLineChart.js @@ -0,0 +1,67 @@ +import ApexCharts from "react-apexcharts"; +import { useTheme } from "styles/mui"; + +const series = [ + { + name: "series1", + data: [31, 40, 28, 51, 42, 109, 100], + }, + { + name: "series2", + data: [11, 32, 45, 32, 34, 52, 41], + }, +]; + +export default function ApexLineChart() { + let theme = useTheme(); + + return ( + + ); +} + +// ############################################################ +function themeOptions(theme) { + return { + dataLabels: { + enabled: false, + }, + stroke: { + curve: "smooth", + }, + xaxis: { + type: "datetime", + categories: [ + "2018-09-19T00:00:00", + "2018-09-19T01:30:00", + "2018-09-19T02:30:00", + "2018-09-19T03:30:00", + "2018-09-19T04:30:00", + "2018-09-19T05:30:00", + "2018-09-19T06:30:00", + ], + }, + tooltip: { + x: { + format: "dd/MM/yy HH:mm", + }, + }, + fill: { + colors: [theme.palette.primary.light, theme.palette.success.light], + }, + colors: [theme.palette.primary.main, theme.palette.success.main], + chart: { + toolbar: { + show: false, + }, + }, + legend: { + show: false, + }, + }; +} diff --git a/react-material-admin-master/src/pages/charts/components/ApexRadarChart.js b/react-material-admin-master/src/pages/charts/components/ApexRadarChart.js new file mode 100644 index 0000000..8aa63c6 --- /dev/null +++ b/react-material-admin-master/src/pages/charts/components/ApexRadarChart.js @@ -0,0 +1,60 @@ +import { useState } from "react"; +import { useTheme } from "styles/mui"; +import ReactApexChart from "react-apexcharts"; + +const themeOptions = theme => { + return { + options: { + labels: ["January", "February", "March", "April", "May", "June"], + }, + series: [ + { + name: "Series 1", + data: [80, 50, 30, 40, 100, 20], + }, + ], + dataLabels: { + enabled: false, + }, + stroke: { + curve: "smooth", + }, + chart: { + toolbar: { + show: false, + }, + }, + legend: { + show: false, + }, + labels: ["January", "February", "March", "April", "May", "June"], + fill: { + colors: [theme.palette.primary.light, theme.palette.success.light], + }, + colors: [theme.palette.primary.main, theme.palette.success.main], + }; +}; + +const values = { + series: [ + { + name: "Series 1", + data: [80, 50, 30, 40, 100, 20], + }, + ], +}; + +const ApexRadarChart = () => { + const theme = useTheme(); + const [state] = useState(values); + return ( + + ); +}; + +export default ApexRadarChart; diff --git a/react-material-admin-master/src/pages/charts/package.json b/react-material-admin-master/src/pages/charts/package.json new file mode 100644 index 0000000..f43489f --- /dev/null +++ b/react-material-admin-master/src/pages/charts/package.json @@ -0,0 +1,6 @@ +{ + "name": "Charts", + "version": "1.0.0", + "private": true, + "main": "Charts.js" +} diff --git a/react-material-admin-master/src/pages/colors/Colors.js b/react-material-admin-master/src/pages/colors/Colors.js new file mode 100644 index 0000000..bbbd287 --- /dev/null +++ b/react-material-admin-master/src/pages/colors/Colors.js @@ -0,0 +1,213 @@ +import { + Table, + TableRow, + TableHead, + TableBody, + TableCell, + Grid, + Box } from +"@mui/material"; +import useStyles from "./styles"; + +// components +import Widget from "../../components/Widget"; +import Dot from "../../components/Sidebar/components/Dot"; +import Code from "../../components/Code"; +import { Typography, Button } from "../../components/Wrappers"; + +//Theme +import Theme from "../../themes/index"; + +export default function ColorsComp() { + const classes = useStyles(); + return ( + <> + + + + + There is a couple of brand colors that we're using. + + + + + State + Preview + Usage Example + Hex Value + + + + + Primary + + + + + {`
+
+
+ + +
+ + h1. Heading + + + h2. Heading + + + + h3. Heading + + + h4. Heading + + + + h5. Heading + + + h6. Heading + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ ); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/colors/package.json b/react-material-admin-master/src/pages/colors/package.json new file mode 100644 index 0000000..9d76bd7 --- /dev/null +++ b/react-material-admin-master/src/pages/colors/package.json @@ -0,0 +1,6 @@ +{ + "name": "Colors", + "version": "1.0.0", + "private": true, + "main": "Colors.js" +} diff --git a/react-material-admin-master/src/pages/colors/styles.js b/react-material-admin-master/src/pages/colors/styles.js new file mode 100644 index 0000000..039b972 --- /dev/null +++ b/react-material-admin-master/src/pages/colors/styles.js @@ -0,0 +1,15 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + dashedBorder: { + border: "1px dashed", + borderColor: theme.palette.primary.main, + padding: theme.spacing(2), + paddingTop: theme.spacing(4), + paddingBottom: theme.spacing(4), + marginTop: theme.spacing(1) + }, + text: { + marginBottom: theme.spacing(2) + } +})); diff --git a/react-material-admin-master/src/pages/dashboard/Dashboard.js b/react-material-admin-master/src/pages/dashboard/Dashboard.js new file mode 100644 index 0000000..ba71789 --- /dev/null +++ b/react-material-admin-master/src/pages/dashboard/Dashboard.js @@ -0,0 +1,1074 @@ +import React, { useState } from "react"; +import { + Grid, + LinearProgress, + Select, + OutlinedInput, + MenuItem, + Box, + Table, + TableBody, + TableRow, + TableCell, + Checkbox, + TablePagination, + TableHead, + TableSortLabel, + Toolbar, + IconButton, Menu } from +"@mui/material"; +import { useTheme, makeStyles } from 'styles/mui'; +import { + ResponsiveContainer, + ComposedChart, + AreaChart, + Line, + Area, + PieChart, + Pie, + Cell, + YAxis, + XAxis, + Tooltip } from +"recharts"; + +// styles +import useStyles from "./styles"; + +// components +import mock from "./mock"; +import Widget from "../../components/Widget"; +import { Chip, Typography, Avatar } from "../../components/Wrappers"; +import Dot from "../../components/Sidebar/components/Dot"; +import BigStat from "./components/BigStat/BigStat"; +import { + Delete as DeleteIcon, + FilterList as FilterListIcon, MoreVert as MoreIcon } from +"@mui/icons-material"; +import PropTypes from "prop-types"; + +import { lighten } from '@mui/material/styles'; +import cn from "classnames"; + +const PieChartData = [ +{ name: "Group A", value: 400, color: "primary" }, +{ name: "Group B", value: 300, color: "secondary" }, +{ name: "Group C", value: 300, color: "warning" }, +{ name: "Group D", value: 200, color: "success" }]; + + +const TicketChartData = [ +{ name: "Client 1", value: 2, color: "primary" }, +{ name: "Client 2", value: 2, color: "primary" }, +{ name: "Client 3", value: 2, color: "primary" }, +{ name: "Client 4", value: 2, color: "primary" }, +{ name: "Client 5", value: 2, color: "primary" }, +{ name: "Client 6", value: 2, color: "primary" }, +{ name: "Client 7", value: 2, color: "primary" }, +{ name: "Client 8", value: 2, color: "primary" }, +{ name: "Client 9", value: 2, color: "primary" }, +{ name: "Client 10", value: 2, color: "primary" }, +{ name: "Client 11", value: 2, color: "primary" }, +{ name: "Client 12", value: 2, color: "primary" }, +{ name: "Client 13", value: 2, color: "primary" }, +{ name: "Client 14", value: 2, color: "primary" }, +{ name: "Client 15", value: 2, color: "primary" }, +{ name: "Client 16", value: 2, color: "primary" }, +{ name: "Client 17", value: 2, color: "primary" }, +{ name: "Client 18", value: 2, color: "primary" }, +{ name: "Client 19", value: 2, color: "primary" }, +{ name: "Client 20", value: 2, color: "primary" }]; + + +// Recent Orders + +const rows = [ +{ + id: 1, + orderId: Math.floor(Math.random(0) * 3000000), + customer: "Victoria Cantrel", + office: "Croatia", + weight: "1.4 kg", + price: 23.87, + purDate: "12 Jan 2019", + delDate: "-", + status: "Pending", + color: "primary" +}, +{ + id: 2, + orderId: Math.floor(Math.random(0) * 3000000), + customer: "Cherokee Ware", + office: "Belgium", + weight: "0.8 kg", + price: 987, + purDate: "11 Jan 2019", + delDate: "14 Jan 2019", + status: "Delivered", + color: "success" +}, +{ + id: 3, + orderId: Math.floor(Math.random(0) * 3000000), + customer: "Constance Clayton", + office: "Peru", + weight: "105 kg", + price: 1.876, + purDate: "09 Jan 2019", + delDate: "-", + status: "Canceled", + color: "secondary" +}, +{ + id: 4, + orderId: Math.floor(Math.random(0) * 3000000), + customer: "Cherokee Ware", + office: "Belgium", + weight: "0.8 kg", + price: 987, + purDate: "11 Jan 2019", + delDate: "14 Jan 2019", + status: "Delivered", + color: "success" +}, +{ + id: 5, + orderId: Math.floor(Math.random(0) * 3000000), + customer: "Constance Clayton", + office: "Peru", + weight: "105 kg", + price: 1.876, + purDate: "06 Jan 2019", + delDate: "19 Jan 2019", + status: "In a process", + color: "warning" +}, +{ + id: 6, + orderId: Math.floor(Math.random() * 3000000), + customer: "Constance Clayton", + office: "Peru", + weight: "105 kg", + price: 1.876, + purDate: "06 Jan 2019", + delDate: "19 Jan 2019", + status: "In a process", + color: "warning" +}]; + + +function desc(a, b, orderBy) { + if (b[orderBy] < a[orderBy]) { + return -1; + } + if (b[orderBy] > a[orderBy]) { + return 1; + } + return 0; +} + +function stableSort(array, cmp) { + const stabilizedThis = array.map((el, index) => [el, index]); + stabilizedThis.sort((a, b) => { + const order = cmp(a[0], b[0]); + if (order !== 0) return order; + return a[1] - b[1]; + }); + return stabilizedThis.map((el) => el[0]); +} + +function getSorting(order, orderBy) { + return order === "desc" ? + (a, b) => desc(a, b, orderBy) : + (a, b) => -desc(a, b, orderBy); +} + +const headCells = [ +{ + id: "id", + numeric: true, + disablePadding: true, + label: "Order ID" +}, +{ id: "customer", numeric: true, disablePadding: false, label: "Customer" }, +{ id: "office", numeric: true, disablePadding: false, label: "Office" }, +{ id: "weight", numeric: true, disablePadding: false, label: "Netto Weight" }, +{ id: "price", numeric: true, disablePadding: false, label: "Price" }, +{ + id: "purchase-date", + numeric: true, + disablePadding: false, + label: "Date of purchase" +}, +{ + id: "delivery-date", + numeric: true, + disablePadding: false, + label: "Date of Delivery" +}, +{ id: "status", numeric: true, disablePadding: false, label: "Status" }, +{ id: "actions", numeric: true, disablePadding: false, label: "Actions" }]; + + +function EnhancedTableHead(props) { + const { + classes, + onSelectAllClick, + order, + orderBy, + numSelected, + rowCount, + onRequestSort + } = props; + const createSortHandler = (property) => (event) => { + onRequestSort(event, property); + }; + + return ( + + + + 0 && numSelected < rowCount} + checked={numSelected === rowCount} + onChange={onSelectAllClick} + inputProps={{ "aria-label": "select all rows" }} /> + + + {headCells.map((headCell) => + + + + + {headCell.label} + {orderBy === headCell.id ? + + {order === "desc" ? "sorted descending" : "sorted ascending"} + : + null} + + + )} + + ); + +} + +EnhancedTableHead.propTypes = { + classes: PropTypes.object.isRequired, + numSelected: PropTypes.number.isRequired, + onRequestSort: PropTypes.func.isRequired, + onSelectAllClick: PropTypes.func.isRequired, + order: PropTypes.oneOf(["asc", "desc"]).isRequired, + orderBy: PropTypes.string.isRequired, + rowCount: PropTypes.number.isRequired +}; + +const useToolbarStyles = makeStyles((theme) => ({ + highlight: + theme.palette.mode === "light" ? + { + color: theme.palette.secondary.main, + backgroundColor: lighten(theme.palette.secondary.light, 0.85) + } : + { + color: theme.palette.text.primary, + backgroundColor: theme.palette.secondary.dark + }, + title: { + flex: "1 1 100%" + } +})); + +const EnhancedTableToolbar = (props) => { + const classes = useToolbarStyles(); + const { numSelected } = props; + + return ( + 0 + })}> + + {numSelected > 0 ? + + + {numSelected} selected + : + + + + + Recent Orders + + + + 1.340 total + + + + + } + + {numSelected > 0 ? + + + + + : + + + + + + + } + ); + +}; + +EnhancedTableToolbar.propTypes = { + numSelected: PropTypes.number.isRequired +}; + +function Dashboard() { + let classes = useStyles(); + let theme = useTheme(); + + // local + let [mainChartState, setMainChartState] = useState("monthly"); + + // Recent Orders table + + const [order, setOrder] = React.useState("asc"); + const [orderBy, setOrderBy] = React.useState("price"); + const [selected, setSelected] = React.useState([]); + const [page, setPage] = React.useState(0); + const [rowsPerPage, setRowsPerPage] = React.useState(5); + const [actionsMenuAnchorEl, setActionsMenuAnchorEl] = React.useState(null); + const [actionsMenuRowId, setActionsMenuRowId] = React.useState(null); + + + const handleRequestSort = (event, property) => { + const isDesc = orderBy === property && order === "desc"; + setOrder(isDesc ? "asc" : "desc"); + setOrderBy(property); + }; + + const handleSelectAllClick = (event) => { + if (event.target.checked) { + const newSelecteds = rows.map((n) => n.id); + setSelected(newSelecteds); + return; + } + setSelected([]); + }; + + const handleClick = (event, name) => { + const selectedIndex = selected.indexOf(name); + let newSelected = []; + + if (selectedIndex === -1) { + newSelected = newSelected.concat(selected, name); + } else if (selectedIndex === 0) { + newSelected = newSelected.concat(selected.slice(1)); + } else if (selectedIndex === selected.length - 1) { + newSelected = newSelected.concat(selected.slice(0, -1)); + } else if (selectedIndex > 0) { + newSelected = newSelected.concat( + selected.slice(0, selectedIndex), + selected.slice(selectedIndex + 1) + ); + } + + setSelected(newSelected); + }; + + const handleChangePage = (event, newPage) => { + setPage(newPage); + }; + + const handleChangeRowsPerPage = (event) => { + setRowsPerPage(parseInt(event.target.value, 10)); + setPage(0); + }; + + const handleActionsMenuOpen = (event, rowId) => { + event.stopPropagation(); + setActionsMenuAnchorEl(event.currentTarget); + setActionsMenuRowId(rowId); + }; + + const handleActionsMenuClose = () => { + setActionsMenuAnchorEl(null); + setActionsMenuRowId(null); + }; + + const isSelected = (name) => selected.indexOf(name) !== -1; + + const emptyRows = + rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage); + + const randomData = React.useMemo(() => getRandomData(10), []); + + const mainChartData = React.useMemo(() => { + let resultArray = []; + let tablet = getRandomData(31, 3500, 6500, 7500, 1000); + let desktop = getRandomData(31, 1500, 7500, 7500, 1500); + let mobile = getRandomData(31, 1500, 7500, 7500, 1500); + + for (let i = 0; i < tablet.length; i++) { + resultArray.push({ + tablet: tablet[i].value, + desktop: desktop[i].value, + mobile: mobile[i].value + }); + } + + return resultArray; + }, [mainChartState]); + + return ( + + + + + + + + + 543 + + + + + Tickets + + + + + + + + 64% + + + + + + {TicketChartData.map((entry, index) => + + + )} + + + + + + + + + + + New Tickets + + + + + 45 + + + + + + + + Open + + + + + 147 + + + + + + + + Completed + + + + + 351 + + + + + + + + + + + + + + + + 1700 + + + + + + {PieChartData.map((entry, index) => + + + )} + + + + + +
+ {PieChartData.map(({ name, value, color }) => +
+ + + +  {name}  + + +  {value} + +
+ )} +
+
+
+
+
+ + + +
+
+ + + + Integration + +
+
+ + + + SDK + +
+
+
+ + + Integration + + + +
+
+ + + SDK + + + +
+
+
+ + + +
+ + + 60% / 37°С / 3.3 Ghz + +
+ + + + + + +
+
+
+ + + 54% / 31°С / 3.3 Ghz + +
+ + + + + + +
+
+
+ + + 57% / 21°С / 3.3 Ghz + +
+ + + + + + +
+
+
+
+ + + + + Daily Line Chart + +
+
+ + + Tablet + +
+
+ + + Mobile + +
+
+ + + Desktop + +
+
+ +
+ }> + + + + + + + i + 1} + tick={{ + fill: theme.palette.text.hint + "80", + fontSize: 14 + }} + stroke={theme.palette.text.hint + "80"} + tickLine={false} /> + + + + + + + + + + + + + {mock.bigStat.map((stat) => + + + + )} + + + +
+ + + + + + {stableSort(rows, getSorting(order, orderBy)) + .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) + .map((row, index) => { + const isItemSelected = isSelected(row.id); + const labelId = `orders-table-checkbox-${index}`; + + return ( + handleClick(event, row.id)} + role="checkbox" + aria-checked={isItemSelected} + tabIndex={-1} + key={row.id} + selected={isItemSelected}> + + + + + + + + {row.orderId} + + + + + + + {row.customer[0]} + + + {row.customer} + + + + {row.office} + {row.weight} + ${row.price} + {row.purDate} + {row.delDate} + + + + + handleActionsMenuOpen(e, row.id)}> + + + + + + + + Edit + + + Delete + + + + + ); + + })} + {emptyRows > 0 && + + + + } + +
+
+ + +
+
+ ); + +} + +// ####################################################################### + +function getRandomData(length, min, max, multiplier = 10, maxDiff = 10) { + let array = new Array(length).fill(); + let lastValue; + + return array.map(() => { + let randomValue = Math.floor(Math.random() * multiplier + 1); + + while ( + randomValue <= min || + randomValue >= max || + (lastValue && randomValue - lastValue > maxDiff) + ) { + randomValue = Math.floor(Math.random() * multiplier + 1); + } + + lastValue = randomValue; + + return { value: randomValue }; + }); +} + +export default Dashboard; diff --git a/react-material-admin-master/src/pages/dashboard/components/BigStat/BigStat.js b/react-material-admin-master/src/pages/dashboard/components/BigStat/BigStat.js new file mode 100644 index 0000000..0532e7e --- /dev/null +++ b/react-material-admin-master/src/pages/dashboard/components/BigStat/BigStat.js @@ -0,0 +1,145 @@ +import React, { useState } from "react"; +import { Grid, Select, MenuItem, Input } from "@mui/material"; +import { ArrowForward as ArrowForwardIcon } from "@mui/icons-material"; +import { useTheme } from "styles/mui"; +import { BarChart, Bar } from "recharts"; +import classnames from "classnames"; + +// styles +import useStyles from "./styles"; + +// components +import Widget from "../../../../components/Widget"; +import { Typography } from "../../../../components/Wrappers"; + +export default function BigStat(props) { + var { product, total, color, registrations, bounce } = props; + var classes = useStyles(); + var theme = useTheme(); + + // local + var [value, setValue] = useState("daily"); + + const getRandomData = React.useMemo( + function getRandomData() { + return Array(7) + .fill() + .map(() => ({ value: Math.floor(Math.random() * 10) + 1 })); + }, + [value] + ); + + return ( + + + {product} + + + + } + className={classes.select} + > + Daily + Weekly + Monthly + +
+ } + > +
+
+ + {total[value]} + + +  {total.percent.profit ? "+" : "-"} + {total.percent.value}% + +
+ + + +
+
+
+ + + {registrations[value].value} + + + + + Registrations + +
+
+ + + {bounce[value].value}% + + + + + Bounce Rate + +
+
+ + + {registrations[value].value * 10} + + + + + Views + +
+
+ + ); +} diff --git a/react-material-admin-master/src/pages/dashboard/components/BigStat/styles.js b/react-material-admin-master/src/pages/dashboard/components/BigStat/styles.js new file mode 100644 index 0000000..c41cccc --- /dev/null +++ b/react-material-admin-master/src/pages/dashboard/components/BigStat/styles.js @@ -0,0 +1,48 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + title: { + display: "flex", + flexDirection: "row", + justifyContent: "space-between", + alignItems: "center", + width: "100%", + marginBottom: theme.spacing(1), + }, + bottomStatsContainer: { + display: "flex", + justifyContent: "space-between", + margin: theme.spacing(1) * -2, + marginTop: theme.spacing(1), + }, + statCell: { + padding: theme.spacing(2), + }, + totalValueContainer: { + display: "flex", + alignItems: "flex-end", + justifyContent: "space-between", + }, + totalValue: { + display: "flex", + alignItems: "baseline", + }, + profitArrow: { + transform: "rotate(-45deg)", + fill: theme.palette.success.main, + }, + profitArrowDanger: { + transform: "rotate(45deg)", + fill: theme.palette.secondary.main, + }, + selectInput: { + padding: 10, + paddingRight: 25, + "&:focus": { + backgroundColor: "white", + }, + }, + bodyWidgetOverflow: { + overflow: 'auto' + } +})); diff --git a/react-material-admin-master/src/pages/dashboard/components/Table/Table.js b/react-material-admin-master/src/pages/dashboard/components/Table/Table.js new file mode 100644 index 0000000..6e9eac9 --- /dev/null +++ b/react-material-admin-master/src/pages/dashboard/components/Table/Table.js @@ -0,0 +1,65 @@ +import { + Table, + TableRow, + TableHead, + TableBody, + TableCell, + Box +} from "@mui/material"; + +import { Button, Avatar } from "../../../../components/Wrappers"; + +// components +const states = { + sent: "success", + pending: "warning", + declined: "secondary" +}; +export default function TableComponent({ data }) { + let keys = Object.keys(data[0]).map(i => i.toUpperCase()); + keys.shift(); + keys.pop(); // delete "id, colors" key + + return ( + + + + {keys.map(key => ( + {key} + ))} + + + + {data.map( + ({ id, name, email, product, price, date, city, status, color }) => ( + + + + + {name[0]} + {" "} + {name} + + + {email} + {product} + {price} + {date} + {city} + + + + + ) + )} + +
+ ); +} diff --git a/react-material-admin-master/src/pages/dashboard/mock.js b/react-material-admin-master/src/pages/dashboard/mock.js new file mode 100644 index 0000000..169cb59 --- /dev/null +++ b/react-material-admin-master/src/pages/dashboard/mock.js @@ -0,0 +1,189 @@ +const mock = { + tasks: [ + { + id: 0, + type: "Meeting", + title: "Meeting with Andrew Piker", + time: "9:00" + }, + { + id: 1, + type: "Call", + title: "Call with HT Company", + time: "12:00" + }, + { + id: 2, + type: "Meeting", + title: "Meeting with Zoe Alison", + time: "14:00" + }, + { + id: 3, + type: "Interview", + title: "Interview with HR", + time: "15:00" + } + ], + bigStat: [ + { + product: "Light Blue", + total: { + monthly: 4232, + weekly: 1465, + daily: 199, + percent: { value: 3.7, profit: false } + }, + color: "primary", + registrations: { + monthly: { value: 830, profit: false }, + weekly: { value: 215, profit: true }, + daily: { value: 33, profit: true } + }, + bounce: { + monthly: { value: 4.5, profit: false }, + weekly: { value: 3, profit: true }, + daily: { value: 3.25, profit: true } + } + }, + { + product: "Sing App", + total: { + monthly: 754, + weekly: 180, + daily: 27, + percent: { value: 2.5, profit: true } + }, + color: "warning", + registrations: { + monthly: { value: 32, profit: true }, + weekly: { value: 8, profit: true }, + daily: { value: 2, profit: false } + }, + bounce: { + monthly: { value: 2.5, profit: true }, + weekly: { value: 4, profit: false }, + daily: { value: 4.5, profit: false } + } + }, + { + product: "RNS", + total: { + monthly: 1025, + weekly: 301, + daily: 44, + percent: { value: 3.1, profit: true } + }, + color: "secondary", + registrations: { + monthly: { value: 230, profit: true }, + weekly: { value: 58, profit: false }, + daily: { value: 15, profit: false } + }, + bounce: { + monthly: { value: 21.5, profit: false }, + weekly: { value: 19.35, profit: false }, + daily: { value: 10.1, profit: true } + } + } + ], + notifications: [ + { + id: 0, + icon: "thumbs-up", + color: "primary", + content: + 'Ken accepts your invitation' + }, + { + id: 1, + icon: "file", + color: "success", + content: "Report from LT Company" + }, + { + id: 2, + icon: "envelope", + color: "danger", + content: '4 Private Mails' + }, + { + id: 3, + icon: "comment", + color: "success", + content: '3 Comments to your Post' + }, + { + id: 4, + icon: "cog", + color: "light", + content: 'New Version of RNS app' + }, + { + id: 5, + icon: "bell", + color: "info", + content: + '15 Notifications from Social Apps' + } + ], + table: [ + { + id: 0, + name: "Mark Otto", + email: "ottoto@example.com", + product: "ON the Road", + price: "$25 224.2", + date: "11 May 2017", + city: "Otsego", + status: "Sent", + color: "primary" + }, + { + id: 1, + name: "Jacob Thornton", + email: "thornton@example.com", + product: "HP Core i7", + price: "$1 254.2", + date: "4 Jun 2017", + city: "Fivepointville", + status: "Sent", + color: "secondary" + }, + { + id: 2, + name: "Larry the Bird", + email: "bird@example.com", + product: "Air Pro", + price: "$1 570.0", + date: "27 Aug 2017", + city: "Leadville North", + status: "Pending", + color: "warning" + }, + { + id: 3, + name: "Joseph May", + email: "josephmay@example.com", + product: "Version Control", + price: "$5 224.5", + date: "19 Feb 2018", + city: "Seaforth", + status: "Declined", + color: "success" + }, + { + id: 4, + name: "Peter Horadnia", + email: "horadnia@example.com", + product: "Let's Dance", + price: "$43 594.7", + date: "1 Mar 2018", + city: "Hanoverton", + status: "Sent", + color: "info" + } + ] +}; + +export default mock; \ No newline at end of file diff --git a/react-material-admin-master/src/pages/dashboard/package.json b/react-material-admin-master/src/pages/dashboard/package.json new file mode 100644 index 0000000..bc904f8 --- /dev/null +++ b/react-material-admin-master/src/pages/dashboard/package.json @@ -0,0 +1,6 @@ +{ + "name": "Dashboard", + "version": "1.0.0", + "private": true, + "main": "Dashboard.js" +} diff --git a/react-material-admin-master/src/pages/dashboard/styles.js b/react-material-admin-master/src/pages/dashboard/styles.js new file mode 100644 index 0000000..aa35f93 --- /dev/null +++ b/react-material-admin-master/src/pages/dashboard/styles.js @@ -0,0 +1,148 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + card: { + minHeight: '100%', + display: 'flex', + flexDirection: 'column', + }, + progressSection: { + marginBottom: theme.spacing(1), + }, + progressSectionTitle: { + marginBottom: theme.spacing(1), + }, + progress: { + marginBottom: theme.spacing(1), + backgroundColor: 'rgb(236, 236, 236)', + }, + pieChartLegendWrapper: { + height: '100%', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'flex-end', + marginRight: theme.spacing(1), + }, + legendItemContainer: { + display: 'flex', + alignItems: 'center', + marginBottom: theme.spacing(1), + justifyContent: 'space-between', + width: '100%', + }, + fullHeightBody: { + display: 'flex', + flexGrow: 1, + flexDirection: 'column', + justifyContent: 'space-between', + }, + alignStandaloneElement: { + display: 'flex', + flexGrow: 1, + flexDirection: 'column', + justifyContent: 'center', + }, + tableWidget: { + overflowX: 'auto', + }, + progressBar: { + backgroundColor: theme.palette.warning.main, + }, + progressBarPrimary: { + backgroundColor: theme.palette.primary.main, + }, + progressBarWarning: { + backgroundColor: theme.palette.warning.main, + }, + performanceLegendWrapper: { + display: 'flex', + flexGrow: 1, + alignItems: 'center', + marginBottom: theme.spacing(1), + }, + legendElement: { + display: 'flex', + alignItems: 'center', + marginRight: theme.spacing(2), + }, + legendElementText: { + marginLeft: theme.spacing(1), + }, + serverOverviewElement: { + display: 'flex', + alignItems: 'center', + maxWidth: '100%', + }, + serverOverviewElementText: { + minWidth: 149, + paddingRight: theme.spacing(2), + }, + serverOverviewElementChartWrapper: { + width: '100%', + }, + mainChartBody: { + overflowX: 'auto', + }, + mainChartHeader: { + width: '100%', + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + [theme.breakpoints.only('xs')]: { + flexWrap: 'wrap', + }, + }, + mainChartHeaderLabels: { + display: 'flex', + alignItems: 'center', + [theme.breakpoints.only('xs')]: { + order: 3, + width: '100%', + justifyContent: 'center', + marginTop: theme.spacing(3), + marginBottom: theme.spacing(2), + }, + }, + mainChartHeaderLabel: { + display: 'flex', + alignItems: 'center', + marginLeft: theme.spacing(3), + }, + mainChartSelectRoot: { + borderColor: theme.palette.text.hint + '80 !important', + }, + mainChartSelect: { + padding: 10, + paddingRight: 25, + }, + mainChartLegendElement: { + fontSize: '14px !important', + marginLeft: theme.spacing(1), + }, + table: { + minWidth: 750, + }, + tableWrapper: { + overflowX: 'auto', + }, + visuallyHidden: { + border: 0, + clip: 'rect(0 0 0 0)', + height: 1, + margin: -1, + overflow: 'hidden', + padding: 0, + position: 'absolute', + top: 20, + width: 1, + }, + fixIconRight: { + '& .MuiSelect-icon': { + right: 4, + }, + }, + actionsIcon: { + color: '#76767B', + }, +})); diff --git a/react-material-admin-master/src/pages/draggablegrid/Components/AutoloadWidget.js b/react-material-admin-master/src/pages/draggablegrid/Components/AutoloadWidget.js new file mode 100644 index 0000000..43c158b --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/Components/AutoloadWidget.js @@ -0,0 +1,127 @@ +import { makeStyles } from 'styles/mui'; +import { Typography, Grid, FormGroup, FormLabel, TextField } from '@mui/material'; +import { Button } from "../../../components/Wrappers"; + +const styles = (theme) => ({ + header: { + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'center', + marginTop: 10 + }, + headerText: { + textAlign: 'center' + }, + description: { + fontSize: '1.25rem', + padding: '5px 30px 15px', + textAlign: 'center', + color: theme.palette.text.secondary + }, + label: { + margin: '5px 0' + }, + blocksMargin: { + marginBottom: '1rem' + }, + buttonsGroup: { + display: 'flex', + flexDirection: 'row', + float: 'right' + }, + button: { + marginLeft: '1rem' + }, + formLabels: { + padding: 0, + margin: 0 + } +}); + +const useStyles = makeStyles(styles); + +const AutoloadWidget = () => { + const classes = useStyles(); + return ( + + + Sign up, it's free! +
+ Faith makes it possible to achieve that which man's mind can conceive and believe. +
+
+ + + +
+   Email address +
+ + +
+
+ + +
+   Password +
+ + +
+
+ + + To make a widget automatically load it's content you just need to set autoload attribute and provide an api to update the widget content. + + + + + + {/*
<Widget updateWidgetData={"{this.updateWidgetData}"} />
*/} + + autoload may be set to an integer value. If set, for example, to 2000 will refresh widget every 2 seconds. + +
+ + +
+ +
+
+
); + +}; + +export default AutoloadWidget; diff --git a/react-material-admin-master/src/pages/draggablegrid/Components/CollapsedWidget.js b/react-material-admin-master/src/pages/draggablegrid/Components/CollapsedWidget.js new file mode 100644 index 0000000..31efbbc --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/Components/CollapsedWidget.js @@ -0,0 +1,31 @@ +import { Typography, useTheme } from '@mui/material'; + +function CollapsedWidget() { + const theme = useTheme(); + const highlightedStyle = { + fontSize: '1.2rem', + color: theme.palette.primary.main, + }; + + return ( + +
+ "There are no limits. There are plateaus, but you must not stay there, you must go beyond + them. If it kills you, it kills you. A man must constantly exceed his level." +
+ — Bruce Lee +
+
+

+ To make a widget initially collapsed just add collapsed{' '} + property to .widget. +

+

+ To make it locked (prevent dragging) add .locked{' '} + class. +

+
+ ); +} + +export default CollapsedWidget; diff --git a/react-material-admin-master/src/pages/draggablegrid/Components/DraggableStory.js b/react-material-admin-master/src/pages/draggablegrid/Components/DraggableStory.js new file mode 100644 index 0000000..04d63bf --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/Components/DraggableStory.js @@ -0,0 +1,63 @@ +import { useTheme } from '@mui/material/styles'; +import { Button } from "../../../components/Wrappers"; + +function DraggableStory() { + const theme = useTheme(); + + return ( +
+
+

+ Draggable story! +

+

+ Build your own interfaces! Sit back and relax. +

+
+ +
+
+
+ ); +} + +export default DraggableStory; diff --git a/react-material-admin-master/src/pages/draggablegrid/Components/Loader/Loader.js b/react-material-admin-master/src/pages/draggablegrid/Components/Loader/Loader.js new file mode 100644 index 0000000..005ab6c --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/Components/Loader/Loader.js @@ -0,0 +1,18 @@ +import CircularProgress from '@mui/material/CircularProgress'; + +function Loader() { + return ( +
+ +
+ ); +} + +export default Loader; diff --git a/react-material-admin-master/src/pages/draggablegrid/Components/NewsWidget.js b/react-material-admin-master/src/pages/draggablegrid/Components/NewsWidget.js new file mode 100644 index 0000000..f846e5e --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/Components/NewsWidget.js @@ -0,0 +1,110 @@ +import { makeStyles } from 'styles/mui'; +import { Typography } from '@mui/material'; +import { Link } from 'react-router-dom'; +import { + Star as StarIcon, + Mic as MicIcon, + Visibility as VisibilityIcon, + Lock as LockIcon, + HelpOutline as HelpOutlineIcon, +} from '@mui/icons-material'; +import mock from '../mock'; + +const styles = (theme) => ({ + newsList: { + marginBottom: 0, + paddingLeft: 0, + }, + listRow: { + display: 'flex', + listStyle: 'none', + boxSizing: 'content-box', + borderTop: `2px solid rgba(185, 185, 185, 0.3)`, + padding: '12px 12px 12px 0', + cursor: 'pointer', + '&:last-child': { + height: 'auto' + } + }, + iconBlock: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + width: 60, + height: 60, + '@media (max-width: 425px)': { + display: 'none', + } + }, + icon: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + fontSize: 30, + width: 60, + height: 60, + borderRadius: '50%', + color: '#fff', + }, + newsItemInfo: { + marginLeft: '1rem', + }, + newsHeader: { + textDecoration: 'none', + textTransform: 'uppercase', + color: '#536DFE', + }, + timeBlock: { + marginTop: 10, + fontSize: '0.9rem', + color: theme.palette.text.secondary, + display: 'block', + } +}) + +const useStyles = makeStyles(styles); + +const NewsWidget = () => { + const classes = useStyles(); + const getNewsIcon = (icon) => { + switch (icon) { + case 'star': + return ; + case 'microphone': + return ; + case 'eye': + return ; + case 'lock': + return ; + default: + return ; + } + }; + + return ( +
    + {mock.mainData.news.map(item => ( +
  • +
    + + {getNewsIcon(item.icon)} + +
    +
    + + + {item.title} + + +
    + {item.description} +
    + +
    +
  • + ))} +
+ ) +} + +export default NewsWidget; diff --git a/react-material-admin-master/src/pages/draggablegrid/Components/SharesWidget.js b/react-material-admin-master/src/pages/draggablegrid/Components/SharesWidget.js new file mode 100644 index 0000000..2de9d77 --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/Components/SharesWidget.js @@ -0,0 +1,100 @@ +import { Box } from '@mui/material'; +import { useTheme } from '@mui/material/styles'; + +import Dot from '../../../components/Dot/Dot'; + +import a1 from '../../../images/grid/a1.jpg'; +import a2 from '../../../images/grid/a2.jpg'; +import a3 from '../../../images/grid/a3.jpg'; +import a4 from '../../../images/grid/a4.jpg'; +function SharesWidget() { + const theme = useTheme(); + + const shares = [ + { + img: a1, + name: 'Maikel Basso', + comment: 'about 2 mins ago', + type: '#FFC35F' + }, + { + img: a2, + name: 'Ianus Arendse', + comment: 'about 42 mins ago', + type: '#536DFE' + }, + { + img: a3, + name: 'Valdemar Landau', + comment: 'one hour ago', + type: '#3CD4A0' + }, + { + img: a4, + name: 'Rick Teagan', + comment: '3 hours ago', + type: '#FF5C93' + } + ] + + // function updatedData = (data) => { + + // } + return ( +
+ {shares.map(item => ( +
+
+ + ... + +
+
{item.name}
+ {item.comment} +
+
+ + + +
+ ))} +
+ ); +} + +export default SharesWidget; diff --git a/react-material-admin-master/src/pages/draggablegrid/Components/WidgsterInfo.js b/react-material-admin-master/src/pages/draggablegrid/Components/WidgsterInfo.js new file mode 100644 index 0000000..5b2edab --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/Components/WidgsterInfo.js @@ -0,0 +1,44 @@ +import { useTheme } from '@mui/material/styles'; + +import { Typography } from "../../../components/Wrappers"; + +function WidgsterInfo() { + const theme = useTheme(); + + return ( + +

+ Widgster is a plugin that allows to easily implement basic widget functions that + lots of our customers have requested. For now it has the following essential + widget features: +

+
    +
  • Collapse/Expand - all widgets can be collapsed to fill only header's + vertical + space; +
  • +
  • Close - closable. Any widget may be removed by clicking the close btn;
  • +
  • Full Screen - an option to make widget fill the whole window (just like OS);
  • +
  • Ajax Load - the hottest option allowing to load/reload widget content + asynchronously. You just + need to provide an url to fetch the data from. With loader delivered. +
  • +
+

It's available under MIT license, check out + + {' '}github{' '} + + to find it.

+

+ Test it out! +

+
+ ); +} + +export default WidgsterInfo; diff --git a/react-material-admin-master/src/pages/draggablegrid/DraggableGrid.js b/react-material-admin-master/src/pages/draggablegrid/DraggableGrid.js new file mode 100644 index 0000000..9877f34 --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/DraggableGrid.js @@ -0,0 +1,137 @@ +import React from 'react'; +import { Grid, Typography } from '@mui/material'; +import Widget from '../../components/Widget'; +import { ReactSortable } from 'react-sortablejs'; +// Components +import DraggableStory from './Components/DraggableStory'; +import Loader from './Components/Loader/Loader'; +import CollapsedWidget from './Components/CollapsedWidget'; +import WidgsterInfo from './Components/WidgsterInfo'; +import SharesWidget from './Components/SharesWidget'; +import AutoloadWidget from './Components/AutoloadWidget'; +import NewsWidget from './Components/NewsWidget'; + +import mock from './mock'; +import useStyles from "./styles"; + +const initialLeftWidgets = [ + { id: 'widgster-info' }, + { id: 'default-widget' }, + { id: 'latest-shares' }, + { id: 'autoload-widget' }, +]; + +const initialRightWidgets = [ + { id: 'news-widget' }, + { id: 'collapsed-widget' }, + { id: 'draggable-story' }, + { id: 'custom-loader' }, +]; + +function renderWidget(widgetId, classes) { + switch (widgetId) { + case 'widgster-info': + return ( + + + + + + ); + case 'default-widget': + return ( + + + {mock.mainData.default.map((item) => ( + + {item.value} + + ))} + + + ); + case 'latest-shares': + return ( + + + + + + ); + case 'autoload-widget': + return ( + + + + + + ); + case 'news-widget': + return ( + + + + + + ); + case 'collapsed-widget': + return ( + + + + + + ); + case 'draggable-story': + return ( + + + + ); + case 'custom-loader': + return ( + + + + + + ); + default: + return null; + } +} + +function DraggableGrid() { + const classes = useStyles(); + const [leftWidgets, setLeftWidgets] = React.useState(initialLeftWidgets); + const [rightWidgets, setRightWidgets] = React.useState(initialRightWidgets); + + return ( + + + + {leftWidgets.map(({ id }) => renderWidget(id, classes))} + + + + + {rightWidgets.map(({ id }) => renderWidget(id, classes))} + + + ); + +} + +export default DraggableGrid; diff --git a/react-material-admin-master/src/pages/draggablegrid/mock.js b/react-material-admin-master/src/pages/draggablegrid/mock.js new file mode 100644 index 0000000..a4ea663 --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/mock.js @@ -0,0 +1,152 @@ +import dayjs from 'utils/dayjs'; + +const draggableGridMock = { + mainData: { + default: [ + { + id: 1, + value: 'A timestamp this widget was created: Jan 12, 19:01:07' + }, + { + id: 2, + value: 'A timestamp this widget was updated: Jan 12, 19:07:07' + }, + ], + shares: [ + { + img: '/react-material-admin-full/src/images/grid/a1.jpg', + name: 'Maikel Basso', + comment: 'about 2 mins ago', + type: 'danger' + }, + { + img: '/react-material-admin-full/src/images/grid/a2.jpg', + name: 'Ianus Arendse', + comment: 'about 42 mins ago', + type: 'info' + }, + { + img: '/react-material-admin-full/src/images/grid/a3.jpg', + name: 'Valdemar Landau', + comment: 'one hour ago', + type: 'success' + }, + { + img: '/react-material-admin-full/src/images/grid/a3.jpg', + name: 'Rick Teagan', + comment: '3 hours ago', + type: 'warning' + } + ], + autoload: { + title: '

Sign up, it's free

', + }, + news: [ + { + background: '#FFC260', + icon: 'star', + title: 'First Human Colony on Mars', + description: 'First 700 will take part in building first human settlement outside of Earth. That\'s awesome, right?', + date: 'Mar 20, 18:46' + }, + { + background: '#536DFE', + icon: 'microphone', + title: 'Light Blue reached $300', + description: 'Light Blue Inc. shares just hit $300 price. "This was inevitable. It should have happen sooner or later" - says NYSE expert.', + date: 'Sep 25, 11:59' + }, + { + background: '#3CD4A0', + icon: 'eye', + title: 'No more spying', + description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + date: dayjs().format('MMM DD, hh:mm:ss') + } + ] + }, + updatedData: { + default: [ + { + extraClass: 'text-muted', + value: 'Simulating latency with tiny html block on the server-side.' + }, + { + value: 'A timestamp this widget was created: Apr 24, 19:07:07' + }, + { + value: 'A timestamp this widget was updated: ' + dayjs().format('MMM DD, hh:mm:ss') + }, + ], + shares: [ + { + img: '/react-material-admin-full/src/images/grid/a6.jpg', + name: 'Jenny Wilington', + comment: 'just now', + type: 'success', + extraClass: 'animated fadeInDown' + }, + { + img: '/react-material-admin-full/src/images/grid/a1.jpg', + name: 'Maikel Basso', + comment: 'about 2 mins ago', + type: 'danger' + }, + { + img: '/react-material-admin-full/src/images/grid/a2.jpg', + name: 'Ianus Arendse', + comment: 'about 42 mins ago', + type: 'info' + }, + { + img: '/react-material-admin-full/src/images/grid/a3.jpg', + name: 'Valdemar Landau', + comment: 'one hour ago', + type: 'success' + }, + { + img: '/react-material-admin-full/src/images/grid/a3.jpg', + name: 'Rick Teagan', + comment: '3 hours ago', + type: 'warning' + } + ], + autoload: { + title: '

Sign up, it\'s free and get $50 now!

', + btnExtraClass: 'animated wobble' + }, + news: [ + { + extraClass: 'animated fadeInDown', + background: 'warning', + icon: 'lock', + title: 'Just now! Check update time', + description: 'Check this news item timestamp. There is a small server part that generates current timestamp so it would be easier for you to see ajax widgets in action', + date: 'Mar 20, 18:46' + }, + { + background: 'danger', + icon: 'star', + title: 'First Human Colony on Mars', + description: 'First 700 will take part in building first human settlement outside of Earth. That's awesome, right?', + date: 'Mar 20, 18:46' + }, + { + background: 'info', + icon: 'microphone', + title: 'Light Blue reached $300', + description: 'Light Blue Inc. shares just hit $300 price. ‘This was inevitable. It should have happen sooner or later" - says NYSE expert.', + date: 'Sep 25, 11:59' + }, + { + background: 'success', + icon: 'eye', + title: 'No more spying', + description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', + date: dayjs().format('MMM DD, hh:mm:ss') + } + ] + } +}; + +export default draggableGridMock; diff --git a/react-material-admin-master/src/pages/draggablegrid/package.json b/react-material-admin-master/src/pages/draggablegrid/package.json new file mode 100644 index 0000000..5c00035 --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/package.json @@ -0,0 +1,7 @@ +{ + "name": "DraggableGrid", + "version": "1.0.0", + "private": true, + "main": "DraggableGrid.js" +} + diff --git a/react-material-admin-master/src/pages/draggablegrid/styles.js b/react-material-admin-master/src/pages/draggablegrid/styles.js new file mode 100644 index 0000000..be91fb4 --- /dev/null +++ b/react-material-admin-master/src/pages/draggablegrid/styles.js @@ -0,0 +1,16 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(() => ({ + root: { + // marginTop: '-36px', + }, + widgetLayout: { + margin: '0 0 32px 0', + }, + loaderWidgetLayout: { + marginTop: '32px', + }, + autoloadWidgetLayout: { + margin: 0, + }, +})); diff --git a/react-material-admin-master/src/pages/ecommerce/CreateProduct.js b/react-material-admin-master/src/pages/ecommerce/CreateProduct.js new file mode 100644 index 0000000..bf8a1d5 --- /dev/null +++ b/react-material-admin-master/src/pages/ecommerce/CreateProduct.js @@ -0,0 +1,411 @@ +import React, { useEffect } from "react"; +import { + Box, + CircularProgress, + Grid, + MenuItem, + Select, + TextField as Input } from +"@mui/material"; +import { useLocation, useNavigate, useParams } from "react-router-dom"; + +//context +import { + getProductsRequest, + useProductsState, + updateProduct, + createProduct, + getProductsImages } from +"../../context/ProductContext"; + +//components +import Widget from "../../components/Widget"; +import { Typography, Button } from "../../components/Wrappers"; +import config from "../../config"; + +const CreateProduct = () => { + const { id } = useParams(); + const context = useProductsState(); + + const getId = (id) => { + return context.products.products.findIndex((c) => { + return c.id == id; + }); + }; + + const [localProducts, setLocalProducts] = React.useState( + context.products.products[getId(id)] + ); + + const [newProduct, setNewProduct] = React.useState({ + img: + "https://flatlogic-node-backend.herokuapp.com/assets/products/img1.jpg", + title: null, + subtitle: null, + price: 0.1, + rating: 5, + description_1: null, + description_2: null, + code: null, + hashtag: null, + technology: [], + discount: 0 + }); + + // function sendNotification() { + // const componentProps = { + // type: "feedback", + // message: "Product has been Updated!", + // variant: "contained", + // color: "success" + // }; + // const options = { + // type: "info", + // position: toast.POSITION.TOP_RIGHT, + // progressClassName: classes.progress, + // className: classes.notification, + // timeOut: 1000 + // }; + // return toast( + // , + // options + // ); + // } + + useEffect(() => { + getProductsRequest(context.setProducts); + getProductsImages(context.setProducts); + }, []); + + useEffect(() => { + setLocalProducts(context.products.products[getId(id)]); + }, [context]); + + const navigate = useNavigate(); + const location = useLocation(); + + const editProduct = (e) => { + setLocalProducts({ + ...localProducts, + [e.target.id]: e.currentTarget.value.split(' ') + }); + }; + + const editNewProduct = (e) => { + setNewProduct({ + ...newProduct, + [e.target.id]: e.currentTarget.value + }); + }; + + const getEditProduct = () => { + updateProduct(localProducts, context.setProducts); + navigate('/app/ecommerce/management'); + // sendNotification(); + }; + + const createNewProduct = () => { + createProduct(newProduct, context.setProducts); + navigate('/app/ecommerce/management'); + }; + + const changeImgSrc = (e) => { + if (isCreateProduct) { + setNewProduct({ ...localProducts, img: e.target.value }); + } else { + setLocalProducts({ ...localProducts, img: e.target.value }); + } + }; + + + const isCreateProduct = + location.pathname === "/app/ecommerce/management/create"; + + return ( + <> + + {/**/} + {/* }*/} + {/* closeOnClick={false}*/} + {/* progressClassName={classes.notificationProgress}*/} + {/*/>*/} + + + + {config.isBackend && !context.products.isLoaded ? + + + + : + + + + + Image + + + + + + + + Title + + + + isCreateProduct ? editNewProduct(e) : editProduct(e) + } /> + + + + + + Subtitle + + + + isCreateProduct ? editNewProduct(e) : editProduct(e) + } /> + + + + + + Price + + + + isCreateProduct ? editNewProduct(e) : editProduct(e) + } /> + + + + + + Discount + + + + isCreateProduct ? editNewProduct(e) : editProduct(e) + } /> + + + + + + Description 1 + + + + isCreateProduct ? editNewProduct(e) : editProduct(e) + } /> + + + + + + Description 2 + + + + isCreateProduct ? editNewProduct(e) : editProduct(e) + } /> + + + + + + Code + + + + isCreateProduct ? editNewProduct(e) : editProduct(e) + } /> + + + + + + Hashtag + + + + isCreateProduct ? editNewProduct(e) : editProduct(e) + } /> + + + + + + Technology + + + + isCreateProduct ? editNewProduct(e) : editProduct(e) + } /> + + + + + + Rating + + + + isCreateProduct ? editNewProduct(e) : editProduct(e) + } /> + + + + + + + + + } + + + + ); + +}; + + +export default CreateProduct; diff --git a/react-material-admin-master/src/pages/ecommerce/Ecommerce.js b/react-material-admin-master/src/pages/ecommerce/Ecommerce.js new file mode 100644 index 0000000..9b3cc45 --- /dev/null +++ b/react-material-admin-master/src/pages/ecommerce/Ecommerce.js @@ -0,0 +1,619 @@ +import React, { useEffect } from "react"; +import { + Grid, + Table, + TableBody, + TableCell, + TablePagination, + TableRow, + TableHead, + IconButton, + Checkbox, + TableSortLabel, + Tooltip, + Toolbar, + CircularProgress, + Box, + InputAdornment, + TextField as Input } from +"@mui/material"; +import { Link as RouterLink, useLocation, useNavigate } from 'react-router-dom'; + +//config +import config from "../../config"; + +// Material UI icons +import { + Star as StarIcon, + Delete as DeleteIcon, + FilterList as FilterListIcon, + Close as CloseIcon, + Search as SearchIcon } from +"@mui/icons-material"; +import { yellow } from "@mui/material/colors"; +import { lighten } from "@mui/material/styles"; +import { makeStyles } from "styles/mui"; +import PropTypes from "prop-types"; +import useStyles from "./styles"; +import cn from "classnames"; + +//context +import { + useProductsState, + getProductsRequest, + deleteProductRequest } from +"../../context/ProductContext"; + +// components +import Widget from "../../components/Widget"; +import { Typography, Button, Link } from "../../components/Wrappers"; +// import Notification from "../../components/Notification"; + +function desc(a, b, orderBy) { + if (b[orderBy] < a[orderBy]) { + return -1; + } + if (b[orderBy] > a[orderBy]) { + return 1; + } + return 0; +} + +function stableSort(array, cmp) { + const stabilizedThis = array.map((el, index) => [el, index]); + stabilizedThis.sort((a, b) => { + const order = cmp(a[0], b[0]); + if (order !== 0) return order; + return a[1] - b[1]; + }); + return stabilizedThis.map((el) => el[0]); +} + +function getSorting(order, orderBy) { + return order === "desc" ? + (a, b) => desc(a, b, orderBy) : + (a, b) => -desc(a, b, orderBy); +} + +const headCells = [ +{ + id: "id", + numeric: true, + disablePadding: true, + label: "ID" +}, +{ id: "image", numeric: true, disablePadding: false, label: "Image" }, +{ id: "title", numeric: true, disablePadding: false, label: "Title" }, +{ id: "subtitle", numeric: true, disablePadding: false, label: "Subtitle" }, +{ id: "price", numeric: true, disablePadding: false, label: "Price" }, +{ id: "rating", numeric: true, disablePadding: false, label: "Rating" }, +{ id: "actions", numeric: true, disablePadding: false, label: "Actions" }]; + + +function EnhancedTableHead(props) { + const { + classes, + onSelectAllClick, + order, + orderBy, + numSelected, + rowCount, + onRequestSort + } = props; + const createSortHandler = (property) => (event) => { + onRequestSort(event, property); + }; + + return ( + + + + 0 && numSelected < rowCount} + checked={numSelected === rowCount} + onChange={onSelectAllClick} + inputProps={{ "aria-label": "select all rows" }} /> + + + {headCells.map((headCell) => + + + + + {headCell.label} + {orderBy === headCell.id ? + + {order === "desc" ? "sorted descending" : "sorted ascending"} + : + null} + + + )} + + ); + +} + +EnhancedTableHead.propTypes = { + classes: PropTypes.object.isRequired, + numSelected: PropTypes.number.isRequired, + onRequestSort: PropTypes.func.isRequired, + onSelectAllClick: PropTypes.func.isRequired, + order: PropTypes.oneOf(["asc", "desc"]).isRequired, + orderBy: PropTypes.string.isRequired, + rowCount: PropTypes.number.isRequired +}; + +const useToolbarStyles = makeStyles((theme) => ({ + root: { + paddingLeft: theme.spacing(2), + paddingRight: theme.spacing(1) + }, + highlight: + theme.palette.mode === "light" ? + { + color: theme.palette.secondary.main, + backgroundColor: lighten(theme.palette.secondary.light, 0.85) + } : + { + color: theme.palette.text.primary, + backgroundColor: theme.palette.secondary.dark + }, + title: { + flex: "1 1 100%" + } +})); + +const EnhancedTableToolbar = ({ numSelected, selected, onDeleteSelected }) => { + const classes = useToolbarStyles(); + + return ( + 0 + })} + style={{ marginTop: 8 }}> + + {numSelected > 0 ? + + + {numSelected} selected + : + + + Products + + } + + {numSelected > 0 ? + + + onDeleteSelected(selected, e)} /> + + : + + + + + + + } + ); + +}; + +EnhancedTableToolbar.propTypes = { + numSelected: PropTypes.number.isRequired +}; + +function EcommercePage() { + const classes = useStyles(); + const navigate = useNavigate(); + const location = useLocation(); + const context = useProductsState(); + const [order, setOrder] = React.useState("asc"); + const [orderBy, setOrderBy] = React.useState("price"); + const [selected, setSelected] = React.useState([]); + const [page, setPage] = React.useState(0); + const [rowsPerPage, setRowsPerPage] = React.useState(5); + const [backProducts, setBackProducts] = React.useState( + context.products.products + ); + + useEffect(() => { + // sendNotification(); + getProductsRequest(context.setProducts); + }, []); + + useEffect(() => { + setBackProducts(context.products.products); + }, [context]); + + const handleRequestSort = (event, property) => { + const isDesc = orderBy === property && order === "desc"; + setOrder(isDesc ? "asc" : "desc"); + setOrderBy(property); + }; + + const searchProducts = (e) => { + let products = []; + context.products.products.forEach((c) => { + if (c.title.includes(e.currentTarget.value)) { + products.push(c); + } + return; + }); + setBackProducts(products); + }; + + const openProduct = (id, event) => { + navigate(`/app/ecommerce/product/${id}`); + event.stopPropagation(); + }; + + const handleSelectAllClick = (event) => { + if (event.target.checked) { + const newSelecteds = backProducts.map((n) => n.id); + setSelected(newSelecteds); + return; + } + setSelected([]); + }; + + const handleClick = (event, name) => { + const selectedIndex = selected.indexOf(name); + let newSelected = []; + + if (selectedIndex === -1) { + newSelected = newSelected.concat(selected, name); + } else if (selectedIndex === 0) { + newSelected = newSelected.concat(selected.slice(1)); + } else if (selectedIndex === selected.length - 1) { + newSelected = newSelected.concat(selected.slice(0, -1)); + } else if (selectedIndex > 0) { + newSelected = newSelected.concat( + selected.slice(0, selectedIndex), + selected.slice(selectedIndex + 1) + ); + } + + setSelected(newSelected); + }; + + const handleChangePage = (event, newPage) => { + setPage(newPage); + }; + + const handleChangeRowsPerPage = (event) => { + setRowsPerPage(parseInt(event.target.value, 10)); + setPage(0); + }; + + const isSelected = (name) => selected.indexOf(name) !== -1; + + const emptyRows = + rowsPerPage - + Math.min(rowsPerPage, backProducts.length - page * rowsPerPage); + + // function sendNotification() { + // const componentProps = { + // type: "feedback", + // message: + // "This page is only available in React Material Admin Full with Node.js integration!", + // variant: "contained", + // color: "success" + // }; + // const options = { + // type: "info", + // position: toast.POSITION.TOP_RIGHT, + // progressClassName: classes.progress, + // className: classes.notification, + // timeOut: 1000 + // }; + // return toast( + // , + // options + // ); + // } + + const deleteProduct = (id, event) => { + deleteProductRequest({ + id, + navigate, + pathname: location.pathname, + dispatch: context.setProducts, + }); + event.stopPropagation(); + }; + + const openProductEdit = (event, id) => { + navigate(`/app/ecommerce/management/edit/${id}`); + event.stopPropagation(); + }; + + return ( + <> + + + + + + + + Products + + + + + {backProducts.length} total + + + + + + + + }} + onChange={(e) => searchProducts(e)} /> + + + }> + + {config.isBackend ? + : + + + + } + + + {config.isBackend && !context.products.isLoaded ? + + + + : + +
+ + + + + + {stableSort(backProducts, getSorting(order, orderBy)) + .slice( + page * rowsPerPage, + page * rowsPerPage + rowsPerPage + ) + .map((row, index) => { + const isItemSelected = isSelected(row.id); + const labelId = `enhanced-table-checkbox-${index}`; + + return ( + handleClick(event, row.id)} + role="checkbox" + aria-checked={isItemSelected} + selected={isItemSelected} + key={row.id}> + + + + + + + + {row.id} + + + {row.title} + + + + openProduct(row.id, e)} + color={"primary"}> + + {row.title ? + row.title.split("").map((c, n) => { + return n === 0 ? c.toUpperCase() : c; + }) : + null} + + + {row.subtitle} + ${row.price} + + + + + {row.rating} + {" "} + + + + + {/**/} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* {row.status}*/} + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} + {/* {row.process}*/} + {/* */} + {/* */} + {/* */} + {/**/} + + + {config.isBackend ? + : + + + + } + + + + ); + + })} + {emptyRows > 0 && + + + + } + +
+
+ } + + +
+
+
+ ); + +} + +// eslint-disable-next-line no-unused-vars +function CloseButton({ closeToast, className }) { + return ; +} + +export default EcommercePage; diff --git a/react-material-admin-master/src/pages/ecommerce/Products.js b/react-material-admin-master/src/pages/ecommerce/Products.js new file mode 100644 index 0000000..797de76 --- /dev/null +++ b/react-material-admin-master/src/pages/ecommerce/Products.js @@ -0,0 +1,605 @@ +import React from "react"; +import { + Grid, + Box, + FormControl, + InputLabel, + MenuItem, + Select, + IconButton, + Card, + CardActionArea, + CardActions, + CardContent, + CardMedia } from +"@mui/material"; +import { + Star as StarIcon, + StarBorder as StarOutlinedIcon, + ShoppingCart as ShoppingCartIcon, + Facebook as FacebookIcon, + Instagram as InstagramIcon, + Twitter as TwitterIcon } from +"@mui/icons-material"; +import useStyles from "./styles"; +import { yellow } from "@mui/material/colors"; + +//components +import Widget from "../../components/Widget"; +import PageTitle from "../../components/PageTitle"; +import { Typography, Link, Button } from "../../components/Wrappers"; + +//images +import img1 from "../../images/product/img1.jpg"; +import img2 from "../../images/product/img2.jpg"; +import img3 from "../../images/product/img3.jpg"; +import img4 from "../../images/product/img4.jpg"; +import img5 from "../../images/product/img5.jpeg"; +import img6 from "../../images/product/img6.jpg"; +import payment1 from "../../images/product/mastercard.svg"; +import payment2 from "../../images/product/paypal.svg"; +import payment3 from "../../images/product/visa.svg"; +import payment4 from "../../images/product/aexpress.svg"; +import { useParams } from 'react-router-dom'; + +export const rows = [ +{ + id: 1, + img: img1, + title: "Trainers", + subtitle: "Trainers In White", + price: 76, + rating: 4.6, + color: "primary", + status: "Shipped", + process: "64%" +}, +{ + id: 2, + img: img2, + title: "Boots", + subtitle: "Trainers In Blue", + price: 37, + rating: 4.6, + color: "success", + status: "Delivered", + process: "100%" +}, +{ + id: 3, + img: img3, + title: "Flat sandals", + subtitle: "Trainers In White", + price: 70, + rating: 4.6, + color: "secondary", + status: "Canceled", + process: "0%" +}, +{ + id: 4, + img: img4, + title: "Trainers", + subtitle: "Trainers In Blue", + price: 85, + rating: 4.6, + color: "primary", + status: "Shipped", + process: "64%" +}, +{ + id: 5, + img: img5, + title: "Flat sandals", + subtitle: "Trainers In White", + price: 12, + rating: 4.6, + color: "success", + status: "Delivered", + process: "100%" +}, +{ + id: 6, + img: img6, + title: "Trainers", + subtitle: "Trainers In Blue", + price: 76, + rating: 4.6, + color: "secondary", + status: "Canceled", + process: "0%" +}, +{ + id: 7, + img: img1, + title: "Boots", + subtitle: "Trainers In White", + price: 76, + rating: 4.6, + color: "primary", + status: "Shipped", + process: "64%" +}, +{ + id: 8, + img: img2, + title: "Flat sandals", + subtitle: "Trainers In White", + price: 76, + rating: 4.6, + color: "success", + status: "Delivered", + process: "100%" +}, +{ + id: 9, + img: img3, + title: "Trainers", + subtitle: "Trainers In White", + price: 76, + rating: 4.6, + color: "secondary", + status: "Canceled", + process: "0%" +}, +{ + id: 10, + img: img4, + title: "Boots", + subtitle: "Trainers In Blue", + price: 76, + rating: 4.6, + color: "primary", + status: "Shipped", + process: "64%" +}, +{ + id: 11, + img: img5, + title: "Trainers", + subtitle: "Trainers In White", + price: 71, + rating: 4.6, + color: "success", + status: "Delivered", + process: "100%" +}, +{ + id: 12, + img: img6, + title: "Flat sandals", + subtitle: "Trainers In Blue", + price: 76, + rating: 4.6, + color: "secondary", + status: "Canceled", + process: "0%" +}]; + + +const Product = () => { + const { id } = useParams(); + const productId = Number(id); + const classes = useStyles(); + const [size, setValues] = React.useState(""); + const handleChange = (event) => { + setValues(event.target.value); + }; + const [addSize, setAddSize] = React.useState(1); + const handleChangeAddSize = (event) => { + setAddSize(event.target.value); + }; + + return ( + <> + + + + + + {!productId ? + {rows[0].title} : + + + {rows[productId + + } + + + + + + {!productId ? +
+ {rows[0].rating} + + +
: + + <> + + + {rows[productId - 1].rating} + + + + + }{" "} +
+ + {!productId ? + <> + + {rows[0].title} + + {rows[0].subtitle} + : + + <> + + {rows[productId - 1].title} + + + {rows[productId].subtitle} + + + }{" "} + + + {!productId ? + <> + + ${rows[0].price} + + : + + <> + + ${rows[productId].price} + + + }{" "} + + + Size Guide + + + + + + Select size + + + + + + + + + + + + + + {"mastercard"} + + {"paypal"} + + {"visa"} + + {"americanexpress"} + + + + FREE Delivery & Returns + +
+
+
+
+
+ + + + + + + + PRODUCT DESCRIPTION + +
    +
  • + Sneakers (also known as athletic shoes, tennis shoes,gym + shoes, runners, takkies, or trainers) are shoes + primarily designed for sports or other forms of physical + exercise, but which are now also often used for everyday + wear. +
  • +
  • + The term generally describes a type of footwear with a + flexible sole made of rubber or synthetic material and + an upper part made of leather or synthetic materials. +
  • +
+
+ + + + + PRODUCT CODE + +

135234

+
+ + + TECHNOLOGY + +
    +
  • Ollie patch
  • +
  • Cup soles
  • +
  • Vulcanized rubber soles
  • +
+
+
+ + + + SHARE + +

+ Share photo with a tag{" "} + + #whitetrainers + +

+ + + + + + + + + + + +
+ + + RATING & REVIEWS + + {!productId ? +
+ {rows[0].rating} + + +
: + + <> + + + {rows[productId - 1].rating} + + + + + } +

32 Reviews

+ + Read all + +
+
+
+
+
+
+
+
+ + + + + + + + + + + {rows[0].title} + + + {rows[0].subtitle} + + + + + + + ${rows[0].price} + +
+ {rows[0].rating} + +
+
+
+
+ + + + + + + + {rows[1].title} + + + {rows[1].subtitle} + + + + + + + ${rows[1].price} + +
+ {rows[1].rating} + +
+
+
+
+ + + + + + + + {rows[2].title} + + + {rows[2].subtitle} + + + + + + + ${rows[2].price} + +
+ {rows[2].rating} + +
+
+
+
+ + + + + + + + {rows[3].title} + + + {rows[3].subtitle} + + + + + + + ${rows[3].price} + +
+ {rows[3].rating} + +
+
+
+
+
+
+ ); + +}; + +export default Product; diff --git a/react-material-admin-master/src/pages/ecommerce/ProductsGrid.js b/react-material-admin-master/src/pages/ecommerce/ProductsGrid.js new file mode 100644 index 0000000..bb40f5a --- /dev/null +++ b/react-material-admin-master/src/pages/ecommerce/ProductsGrid.js @@ -0,0 +1,300 @@ +import React from "react"; +import { + Grid, + Box, + FormControl, + InputLabel, + MenuItem, + Select, + Card, + CardActions, + CardContent, + CardActionArea, + CardMedia } from +"@mui/material"; +import { Star as StarIcon } from "@mui/icons-material"; +import { yellow } from "@mui/material/colors"; +import useStyles from "./styles"; + +//components +import { Typography, Chip } from "../../components/Wrappers"; + +//products array +import { rows } from "./mock"; + +const Product = () => { + const classes = useStyles(); + + const selectReducer = (state, action) => { + switch (action.type) { + case "SELECT_TYPE": + return { + ...state, + valueType: action.valueType + }; + case "SELECT_BRANDS": + return { + ...state, + valueBrands: action.valueBrands + }; + case "SELECT_SIZE": + return { + ...state, + valueSize: action.valueSize + }; + case "SELECT_COLOUR": + return { + ...state, + valueColor: action.valueColor + }; + case "SELECT_RANGE": + return { + ...state, + valueRange: action.valueRange + }; + case "SELECT_SORT": + return { + ...state, + valueSort: action.valueSort + }; + default: + return { + ...state + }; + } + }; + + const [state, dispatch] = React.useReducer(selectReducer, { + valueType: "Shoes", + valueBrands: "All", + valueSize: 7, + valueColour: "All", + valueRange: "All", + valueSort: "Favorite" + }); + return ( + <> + + + + + + + Type + + + + + + + Brands + + + + + + + Size + + + + + + + Colour + + + + + + + Range + + + + + + + Sort + + + + + + + + + {rows.map((c) => + + + + + + {c.id % 2 ? + : + + + } + + + + {c.title} + + + + {c.subtitle} + + + + + + + ${c.price} + +
+ {rows[0].rating} + + +
+
+
+
+
+
+ )} +
+
+
+
+ ); + +}; + +export default Product; diff --git a/react-material-admin-master/src/pages/ecommerce/mock.js b/react-material-admin-master/src/pages/ecommerce/mock.js new file mode 100644 index 0000000..f053614 --- /dev/null +++ b/react-material-admin-master/src/pages/ecommerce/mock.js @@ -0,0 +1,106 @@ +//images +import img1 from "../../images/product/img1.jpg"; +import img2 from "../../images/product/img2.jpg"; +import img3 from "../../images/product/img3.jpg"; +import img4 from "../../images/product/img4.jpg"; +import img5 from "../../images/product/img5.jpeg"; +import img6 from "../../images/product/img6.jpg"; + +export const rows = [ + { + id: 1, + img: img1, + title: "Trainers", + subtitle: "Trainers In White", + price: 80, + rating: 4.6 + }, + { + id: 2, + img: img2, + title: "Boots", + subtitle: "Trainers In Blue", + price: 37, + rating: 4.6 + }, + { + id: 3, + img: img3, + title: "Flat sandals", + subtitle: "Trainers In White", + price: 70, + rating: 4.6 + }, + { + id: 4, + img: img4, + title: "Trainers", + subtitle: "Trainers In Blue", + price: 85, + rating: 4.6 + }, + { + id: 5, + img: img5, + title: "Flat sandals", + subtitle: "Trainers In White", + price: 12, + rating: 4.6 + }, + { + id: 6, + img: img6, + title: "Trainers", + subtitle: "Trainers In Blue", + price: 76, + rating: 4.6 + }, + { + id: 7, + img: img1, + title: "Boots", + subtitle: "Trainers In White", + price: 76, + rating: 4.6 + }, + { + id: 8, + img: img2, + title: "Flat sandals", + subtitle: "Trainers In White", + price: 76, + rating: 4.6 + }, + { + id: 9, + img: img3, + title: "Trainers", + subtitle: "Trainers In White", + price: 76, + rating: 4.6 + }, + { + id: 10, + img: img4, + title: "Boots", + subtitle: "Trainers In Blue", + price: 76, + rating: 4.6 + }, + { + id: 11, + img: img5, + title: "Trainers", + subtitle: "Trainers In White", + price: 71, + rating: 4.6 + }, + { + id: 12, + img: img6, + title: "Flat sandals", + subtitle: "Trainers In Blue", + price: 76, + rating: 4.6 + } +]; diff --git a/react-material-admin-master/src/pages/ecommerce/package.json b/react-material-admin-master/src/pages/ecommerce/package.json new file mode 100644 index 0000000..30529c1 --- /dev/null +++ b/react-material-admin-master/src/pages/ecommerce/package.json @@ -0,0 +1,6 @@ +{ + "name": "Ecommerce", + "version": "1.0.0", + "main": "Ecommerce.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/ecommerce/styles.js b/react-material-admin-master/src/pages/ecommerce/styles.js new file mode 100644 index 0000000..80d4400 --- /dev/null +++ b/react-material-admin-master/src/pages/ecommerce/styles.js @@ -0,0 +1,126 @@ +import { makeStyles } from "styles/mui"; +import tinycolor from "tinycolor2"; + +export default makeStyles(theme => ({ + form: { + flexGrow: 1 + }, + selectEmpty: { + marginTop: theme.spacing(2) + }, + card: { + width: "100%" + }, + media: { + height: 320, + padding: theme.spacing(2) + }, + root: { + width: "100%", + marginTop: theme.spacing(3) + }, + paper: { + width: "100%", + marginBottom: theme.spacing(2) + }, + table: { + minWidth: 750 + }, + tableWrapper: { + overflowX: "auto" + }, + visuallyHidden: { + border: 0, + clip: "rect(0 0 0 0)", + height: 1, + margin: -1, + overflow: "hidden", + padding: 0, + position: "absolute", + top: 20, + width: 1 + }, + denseSelect: { + "& .MuiOutlinedInput-input": { + padding: 17 + } + }, + // toast classes + layoutContainer: { + height: 200, + display: "flex", + flexDirection: "column", + justifyContent: "space-between", + alignItems: "center", + marginTop: theme.spacing(2), + border: "1px dashed", + borderColor: theme.palette.primary.main, + position: "relative" + }, + layoutText: { + color: tinycolor(theme.palette.background.light) + .darken() + .toHexString() + }, + layoutButtonsRow: { + width: "100%", + display: "flex", + justifyContent: "space-between" + }, + layoutButton: { + backgroundColor: theme.palette.background.light, + width: 125, + height: 50, + outline: "none", + border: "none" + }, + layoutButtonActive: { + backgroundColor: tinycolor(theme.palette.background.light) + .darken() + .toHexString() + }, + buttonsContainer: { + display: "flex", + flexDirection: "column", + alignItems: "flex-start", + marginTop: theme.spacing(2) + }, + notificationCallButton: { + color: "white", + marginBottom: theme.spacing(1), + textTransform: "none" + }, + codeContainer: { + display: "flex", + flexDirection: "column", + marginTop: theme.spacing(2) + }, + codeComponent: { + flexGrow: 1 + }, + notificationItem: { + marginTop: theme.spacing(2) + }, + notificationCloseButton: { + position: "absolute", + right: theme.spacing(2) + }, + toastsContainer: { + width: "auto", + marginTop: theme.spacing(6), + right: 0 + }, + progress: { + visibility: "hidden" + }, + notification: { + display: "flex", + alignItems: "center", + background: "transparent", + boxShadow: "none", + overflow: "visible" + }, + searchIcon: { + color: "rgba(0, 0, 0, 0.23)" + } +})); diff --git a/react-material-admin-master/src/pages/error/Error.js b/react-material-admin-master/src/pages/error/Error.js new file mode 100644 index 0000000..912f14c --- /dev/null +++ b/react-material-admin-master/src/pages/error/Error.js @@ -0,0 +1,77 @@ +import { Grid, Paper } from '@mui/material'; +import { Link, useLocation } from 'react-router-dom'; +import classnames from 'classnames'; + +// styles +import useStyles from './styles'; + +//components +import { Button, Typography } from '../../components/Wrappers'; + +// logo +import logo from './logo.svg'; + +const ERROR_CONTENT = { + 403: { + title: 'Access denied', + description: "You don't have permissions to view this page", + }, + 404: { + title: "Page doesn't exist", + description: "Looks like the page you're looking for no longer exists", + }, + 500: { + title: 'Server error', + description: 'Something went wrong while processing your request', + }, +}; + +export default function Error({ code }) { + let classes = useStyles(); + const location = useLocation(); + const queryParams = new URLSearchParams(location.search); + const queryCode = Number(queryParams.get('code')); + const errorCode = Number(code) || queryCode || 404; + const content = ERROR_CONTENT[errorCode] || ERROR_CONTENT[404]; + + return ( + +
+ logo + + React Material Admin Full + +
+ + + {errorCode} + + + {content.title} + + + {content.description} + + + +
+ ); +} diff --git a/react-material-admin-master/src/pages/error/logo.svg b/react-material-admin-master/src/pages/error/logo.svg new file mode 100644 index 0000000..60006a3 --- /dev/null +++ b/react-material-admin-master/src/pages/error/logo.svg @@ -0,0 +1,13 @@ + + + + logo_white + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/pages/error/package.json b/react-material-admin-master/src/pages/error/package.json new file mode 100644 index 0000000..441c07a --- /dev/null +++ b/react-material-admin-master/src/pages/error/package.json @@ -0,0 +1,6 @@ +{ + "name": "Error", + "version": "0.0.0", + "main": "Error.js", + "private": true +} diff --git a/react-material-admin-master/src/pages/error/styles.js b/react-material-admin-master/src/pages/error/styles.js new file mode 100644 index 0000000..072004c --- /dev/null +++ b/react-material-admin-master/src/pages/error/styles.js @@ -0,0 +1,60 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + container: { + height: '100vh', + width: '100vw', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'center', + backgroundColor: theme.palette.primary.main, + position: 'absolute', + top: 0, + left: 0, + }, + logotype: { + display: 'flex', + alignItems: 'center', + marginBottom: theme.spacing(12), + [theme.breakpoints.down('sm')]: { + display: 'none', + }, + }, + logotypeText: { + fontWeight: 500, + color: 'white', + marginLeft: theme.spacing(2), + }, + logotypeIcon: { + width: 70, + marginRight: theme.spacing(2), + }, + paperRoot: { + boxShadow: theme.customShadows.widgetDark, + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + paddingTop: theme.spacing(8), + paddingBottom: theme.spacing(8), + paddingLeft: theme.spacing(6), + paddingRight: theme.spacing(6), + maxWidth: 404, + }, + textRow: { + marginBottom: theme.spacing(10), + textAlign: 'center', + }, + errorCode: { + fontSize: 148, + fontWeight: 600, + }, + safetyText: { + fontWeight: 300, + color: theme.palette.text.hint, + }, + backButton: { + textTransform: 'none', + fontSize: 22, + }, +})); diff --git a/react-material-admin-master/src/pages/forms/elements/FormsElements.js b/react-material-admin-master/src/pages/forms/elements/FormsElements.js new file mode 100644 index 0000000..e87832c --- /dev/null +++ b/react-material-admin-master/src/pages/forms/elements/FormsElements.js @@ -0,0 +1,518 @@ +import React from "react"; +import { + Grid, + FormHelperText, + InputAdornment, + Divider, + MenuItem, + Select, + TextField } from +"@mui/material"; +import { styled } from '@mui/material/styles'; +import useStyles from "./styles"; +import cn from "classnames"; +import { Checkbox, Radio, Input, FormControlLabel } from "@mui/material"; + +import CheckBoxIcon from '@mui/icons-material/CheckBox'; +import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank'; +import RadioButtonUncheckedIcon from '@mui/icons-material/RadioButtonUnchecked'; +import RadioButtonCheckedIcon from '@mui/icons-material/RadioButtonChecked'; + +import { + Favorite, + FavoriteBorder, + AccountCircle, + VpnKey as PasswordIcon, + AccountBalanceWallet as WalletIcon } from +"@mui/icons-material"; + +// components +import Widget from "../../../components/Widget/Widget"; +import { Button, Typography } from "../../../components/Wrappers/Wrappers"; +import Code from "../../../components/Code/Code"; + +const GreenCheckbox = styled((props) => )({ + color: "green", + "&.Mui-checked": { + color: "green", + }, +}); + +const GreenRadio = styled((props) => )({ + color: "green", + "&.Mui-checked": { + color: "green", + }, +}); + +const actions = [ +{ + id: 0, + value: "Action" +}, +{ + id: 1, + value: "Another action" +}, +{ + id: 2, + value: "Something else here" +}, +{ + id: 3, + type: "divider" +}, +{ + id: 4, + value: "Separated link" +}]; + + +export default function FormsElements() { + const [isChecked, setChecked] = React.useState({ + default: false, + horizontal: false + }); + const [action, setAction] = React.useState("Action"); + + const handleChange = (e) => { + setAction(e.target.value); + }; + + const classes = useStyles(); + + function StyledRadio(props) { + return ( + } + icon={} + {...props} />); + + + } + return ( +
+ + + + + + + + + Normal field + + + + + + + + + Label hint + + + + + + Some important helper text + + + + + + Disabled input + + + + + + + + + Max length + + + + + + + + + Prepended input + + + + + + } + style={{ width: "100%" }} /> + + + + + + Password + + + + + + } + style={{ width: "100%" }} /> + + + + + + Appended input + + + .00 + } + style={{ width: "100%" }} /> + + + + + + Combined input + + + + + + } + endAdornment={ + .00 + } + style={{ width: "100%" }} /> + + + + + + + + + + + + + + + + + + + + Search type input + + + + + + Outlined input + + + + + + Filled input + + + + + + + + + + + + Default select + + + + + + + + Grouped select + + + + + + + + + + + + + + + + + Fancy smaller inputs? Use the size + + small + + prop.{" "} + + + + + + + + + + + + + + + + + Custom checkboxes & radios + + + setChecked({ [e.target.value]: !isChecked.default }) + } + value="checkedG" /> + + } + label="Disabled" /> + + + setChecked({ [e.target.value]: !isChecked.default }) + } + value="checkedG" /> + + } + label="Custom color" /> + + } + checkedIcon={} + value="checkedH" /> + + } + label="Custom icon" /> + + } + checkedIcon={} + value="checkedI" /> + + } + label="Custom size" /> + + + + + setChecked({ [e.target.value]: !isChecked.default }) + } + value="c" + name="radio-button-demo" + inputProps={{ "aria-label": "C" }} /> + + } + label={"Disabled"} /> + + + setChecked({ [e.target.value]: !isChecked.default }) + } + value="c" + name="radio-button-demo" + inputProps={{ "aria-label": "C" }} /> + + } + label={"Custom color"} /> + + + setChecked({ [e.target.value]: !isChecked.default }) + } + value="e" + color="default" + name="radio-button-demo" + inputProps={{ "aria-label": "E" }} + icon={} + checkedIcon={} /> + + } + label={"Small radio"} /> + + } + label="Custom style" /> + + + + + + + + + + + + + + + Simple textarea + + + + + + + + + + + +
); + +} diff --git a/react-material-admin-master/src/pages/forms/elements/package.json b/react-material-admin-master/src/pages/forms/elements/package.json new file mode 100644 index 0000000..e4104ee --- /dev/null +++ b/react-material-admin-master/src/pages/forms/elements/package.json @@ -0,0 +1,6 @@ +{ + "name": "elements", + "version": "1.0.0", + "main": "FormsElements.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/forms/elements/styles.js b/react-material-admin-master/src/pages/forms/elements/styles.js new file mode 100644 index 0000000..8944bf2 --- /dev/null +++ b/react-material-admin-master/src/pages/forms/elements/styles.js @@ -0,0 +1,48 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + root: { + "&:hover": { + backgroundColor: "transparent" + } + }, + icon: { + borderRadius: "50%", + width: 16, + height: 16, + boxShadow: + "inset 0 0 0 1px rgba(16,22,26,.2), inset 0 -1px 0 rgba(16,22,26,.1)", + backgroundColor: "#f5f8fa", + backgroundImage: + "linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))", + "$root.Mui-focusVisible &": { + outline: "2px auto rgba(19,124,189,.6)", + outlineOffset: 2 + }, + "input:hover ~ &": { + backgroundColor: "#ebf1f5" + }, + "input:disabled ~ &": { + boxShadow: "none", + background: "rgba(206,217,224,.5)" + } + }, + checkedIcon: { + backgroundColor: "#137cbd", + backgroundImage: + "linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))", + "&:before": { + display: "block", + width: 16, + height: 16, + backgroundImage: "radial-gradient(#fff,#fff 28%,transparent 32%)", + content: '""' + }, + "input:hover ~ &": { + backgroundColor: "#106ba3" + } + }, + horizontalFormTop: { + paddingTop: theme.spacing(2) + } +})); diff --git a/react-material-admin-master/src/pages/forms/validation.js b/react-material-admin-master/src/pages/forms/validation.js new file mode 100644 index 0000000..d8192a6 --- /dev/null +++ b/react-material-admin-master/src/pages/forms/validation.js @@ -0,0 +1,150 @@ +import React from 'react'; +import { Grid, Box } from '@mui/material'; +import Input from '@mui/material/TextField'; + +// components +import Widget from '../../components/Widget'; +import { Button, Typography } from '../../components/Wrappers'; + +const Validation = () => { + const MIN_LENGTH = 10; + const [requiredValue, setRequiredValue] = React.useState(''); + const [minLengthValue, setMinLengthValue] = React.useState(''); + const [isSubmitted, setIsSubmitted] = React.useState(false); + + const requiredError = isSubmitted && !requiredValue.trim(); + const minLengthError = + minLengthValue.length > 0 && minLengthValue.length < MIN_LENGTH; + + const validate = () => { + setIsSubmitted(true); + }; + + const resetForm = () => { + setIsSubmitted(false); + setRequiredValue(''); + setMinLengthValue(''); + }; + + return ( +
+ + + + + + Basic example with required and minimum-length validation. + + + + + + + + + Simple required + + + Checked when you click Validate + + + + setRequiredValue(event.target.value)} + error={requiredError} + helperText={requiredError ? 'This field is required' : ' '} + /> + + + + + + + + + + + Min-length on change + + + At least {MIN_LENGTH} characters + + + + setMinLengthValue(event.target.value)} + error={minLengthError} + helperText={ + minLengthError + ? `At least ${MIN_LENGTH} characters (${minLengthValue.length}/${MIN_LENGTH})` + : ' ' + } + /> + + + + + + + + + + + + + + + + +
+ ); +}; + +export default Validation; diff --git a/react-material-admin-master/src/pages/gallery/Gallery.js b/react-material-admin-master/src/pages/gallery/Gallery.js new file mode 100644 index 0000000..ecf6e16 --- /dev/null +++ b/react-material-admin-master/src/pages/gallery/Gallery.js @@ -0,0 +1,107 @@ +import { + Grid, + Card, + CardActionArea, + CardActions, + CardMedia, + IconButton } from +"@mui/material"; +import { Favorite as LikeIcon, Chat as CommentsIcon } from "@mui/icons-material"; + +//images +import img1 from "../../images/gallery/gallery1.jpg"; +import img2 from "../../images/gallery/gallery2.jpg"; +import img3 from "../../images/gallery/gallery3.jpg"; +import img4 from "../../images/gallery/gallery4.jpg"; +import img5 from "../../images/gallery/gallery5.jpg"; +import img6 from "../../images/gallery/gallery6.jpg"; +import img7 from "../../images/gallery/gallery7.jpg"; +import img8 from "../../images/gallery/gallery8.jpg"; +import img9 from "../../images/gallery/gallery9.jpg"; +import img10 from "../../images/gallery/gallery10.jpg"; +import img11 from "../../images/gallery/gallery11.jpg"; +import img12 from "../../images/gallery/gallery12.jpg"; + + +const gallery = [ +{ + img: img1, + id: 1 +}, +{ + img: img2, + id: 2 +}, +{ + img: img3, + id: 3 +}, +{ + img: img4, + id: 4 +}, +{ + img: img5, + id: 5 +}, +{ + img: img6, + id: 6 +}, +{ + img: img7, + id: 7 +}, +{ + img: img8, + id: 8 +}, +{ + img: img9, + id: 9 +}, +{ + img: img10, + id: 10 +}, +{ + img: img11, + id: 11 +}, +{ + img: img12, + id: 12 +}]; + + +const Gallery = () => { + return ( + <> + + {gallery.map((c) => + + + + + + + + + + + + + + + + + )} + + ); + +}; + +export default Gallery; diff --git a/react-material-admin-master/src/pages/gallery/package.json b/react-material-admin-master/src/pages/gallery/package.json new file mode 100644 index 0000000..c25341d --- /dev/null +++ b/react-material-admin-master/src/pages/gallery/package.json @@ -0,0 +1,6 @@ +{ + "name": "gallery", + "version": "1.0.0", + "main": "Gallery.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/grid/Grid.js b/react-material-admin-master/src/pages/grid/Grid.js new file mode 100644 index 0000000..d536bb3 --- /dev/null +++ b/react-material-admin-master/src/pages/grid/Grid.js @@ -0,0 +1,364 @@ +import useStyles from "./styles"; +import { + Table, + TableRow, + TableHead, + TableBody, + TableCell, + Box, + Grid } from +"@mui/material"; +import cn from "classnames"; + +// components +import Widget from "../../components/Widget"; +import Code from "../../components/Code"; +import { Typography, Paper } from "../../components/Wrappers"; + +export default function GridComp() { + const classes = useStyles(); + + return ( +
+ + + + + Material UI’s grid system uses a series of containers, rows, and + columns to layout and align content. It’s built with flexbox and + is fully responsive. Below is an example and an in-depth look at + how the grid comes together. + + + + + One of three + + + + + One of three + + + + + One of three + + + + {` + + One of three + One of three + One of three + + `} + + + + + + + + For example, here are two grid layouts that apply to every device + and viewport, from xs to xl. Add any number of unit-less classes + for each breakpoint you need and every column will be the same + width. + + + + + 1 of 2 + + + + + 2 of 2 + + + + + {` + + 1 of 2 + 2 of 2 + + `} + + + + + + + + + While Material UI grid uses ems or rems for defining most sizes, + pxs are used for grid breakpoints and container widths. This is + because the viewport width is in pixels and does not change with + the font size. See how aspects of the Material UI grid system work + across multiple devices with a handy table. + + + + + + + Extra small +
+ 0px +
+ + Small +
+ ≥600px +
+ + Medium +
+ ≥900px +
+ + Large +
+ ≥1200px +
+ + Extra large +
+ ≥1536px +
+
+
+ + + + Max container width + + auto + 600px + 900px + 1200px + 1536px + + + + Component property + + + {``} + + + {``} + + + {``} + + + {``} + + + {``} + + + + + # of columns + + 12 + + + + Spacing{" "} + + + {``} + + + + + + Nestable + + Yes + + + + Column ordering + + Yes + + +
+
+
+ + + + Use flexbox alignment utilities to vertically and horizontally + align columns. + + + + + + + + Start + + + + + + + + Center + + + + + + + + End + + + + + + {` + + + + One of three + + + One of three + + + One of three + + + + `} + + + + + + + + Use flexbox alignment utilities to vertically and horizontally + align columns. + + + + + + + + + 1 + + + + + + 2 + + + + + + + + + 1 + + + + + + 2 + + + + + + + + + 1 + + + + + + 2 + + + + + + 3 + + + + + + {` + + + 1 + 2 + + + 1 + 2 + + + 1 + 2 + 3 + + + `} + + + + +
+
); + +} diff --git a/react-material-admin-master/src/pages/grid/package.json b/react-material-admin-master/src/pages/grid/package.json new file mode 100644 index 0000000..e407d15 --- /dev/null +++ b/react-material-admin-master/src/pages/grid/package.json @@ -0,0 +1,6 @@ +{ + "name": "Grid", + "version": "1.0.0", + "main": "Grid.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/grid/styles.js b/react-material-admin-master/src/pages/grid/styles.js new file mode 100644 index 0000000..e6f94f7 --- /dev/null +++ b/react-material-admin-master/src/pages/grid/styles.js @@ -0,0 +1,29 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + paperItem: { + textAlign: "center", + padding: theme.spacing(2), + color: "#f3f3f3" + }, + headBold: { + fontWeight: 700 + }, + wrapFix: { + whiteSpace: "pre" + }, + paperMargin: { + margin: 12 + }, + fullHeightBody: { + display: "flex", + flexGrow: 1, + flexDirection: "column", + justifyContent: "space-between" + }, + card: { + minHeight: "100%", + display: "flex", + flexDirection: "column" + } +})); diff --git a/react-material-admin-master/src/pages/icons/Icons.js b/react-material-admin-master/src/pages/icons/Icons.js new file mode 100644 index 0000000..4a8f7bb --- /dev/null +++ b/react-material-admin-master/src/pages/icons/Icons.js @@ -0,0 +1,156 @@ +import { useState } from 'react'; +import { Typography, Grid, Tabs, Tab, Paper } from '@mui/material'; +import AccessAlarmIcon from '@mui/icons-material/AccessAlarm'; +import AccountCircleIcon from '@mui/icons-material/AccountCircle'; +import AddShoppingCartIcon from '@mui/icons-material/AddShoppingCart'; +import AnalyticsIcon from '@mui/icons-material/Analytics'; +import ArticleIcon from '@mui/icons-material/Article'; +import AttachMoneyIcon from '@mui/icons-material/AttachMoney'; +import AutoGraphIcon from '@mui/icons-material/AutoGraph'; +import CalendarMonthIcon from '@mui/icons-material/CalendarMonth'; +import ChatIcon from '@mui/icons-material/Chat'; +import CheckCircleIcon from '@mui/icons-material/CheckCircle'; +import CloudDoneIcon from '@mui/icons-material/CloudDone'; +import DashboardIcon from '@mui/icons-material/Dashboard'; +import DeleteIcon from '@mui/icons-material/Delete'; +import EditIcon from '@mui/icons-material/Edit'; +import FavoriteIcon from '@mui/icons-material/Favorite'; +import FilterListIcon from '@mui/icons-material/FilterList'; +import FolderOpenIcon from '@mui/icons-material/FolderOpen'; +import HomeIcon from '@mui/icons-material/Home'; +import InsightsIcon from '@mui/icons-material/Insights'; +import Inventory2Icon from '@mui/icons-material/Inventory2'; +import LightModeIcon from '@mui/icons-material/LightMode'; +import LockIcon from '@mui/icons-material/Lock'; +import MailIcon from '@mui/icons-material/Mail'; +import MapIcon from '@mui/icons-material/Map'; +import NotificationsIcon from '@mui/icons-material/Notifications'; +import PersonIcon from '@mui/icons-material/Person'; +import SettingsIcon from '@mui/icons-material/Settings'; +import ShoppingCartIcon from '@mui/icons-material/ShoppingCart'; +import TimelineIcon from '@mui/icons-material/Timeline'; +import TrendingUpIcon from '@mui/icons-material/TrendingUp'; +import VisibilityIcon from '@mui/icons-material/Visibility'; +import WorkIcon from '@mui/icons-material/Work'; +import FacebookIcon from '@mui/icons-material/Facebook'; +import InstagramIcon from '@mui/icons-material/Instagram'; +import TwitterIcon from '@mui/icons-material/Twitter'; +import LinkedInIcon from '@mui/icons-material/LinkedIn'; +import GitHubIcon from '@mui/icons-material/GitHub'; +import YouTubeIcon from '@mui/icons-material/YouTube'; +import RedditIcon from '@mui/icons-material/Reddit'; +import TelegramIcon from '@mui/icons-material/Telegram'; +import WhatsAppIcon from '@mui/icons-material/WhatsApp'; +import AppleIcon from '@mui/icons-material/Apple'; +import AndroidIcon from '@mui/icons-material/Android'; +import PublicIcon from '@mui/icons-material/Public'; +import LanguageIcon from '@mui/icons-material/Language'; +import TravelExploreIcon from '@mui/icons-material/TravelExplore'; +import RocketLaunchIcon from '@mui/icons-material/RocketLaunch'; +import SupportAgentIcon from '@mui/icons-material/SupportAgent'; +import WorkspacePremiumIcon from '@mui/icons-material/WorkspacePremium'; +import StorefrontIcon from '@mui/icons-material/Storefront'; +import SecurityIcon from '@mui/icons-material/Security'; +import EmailIcon from '@mui/icons-material/Email'; +import Widget from '../../components/Widget'; +import useStyles from './styles'; + +const MATERIAL_ICONS = [ + { name: 'AccessAlarm', Component: AccessAlarmIcon }, + { name: 'AccountCircle', Component: AccountCircleIcon }, + { name: 'AddShoppingCart', Component: AddShoppingCartIcon }, + { name: 'Analytics', Component: AnalyticsIcon }, + { name: 'Article', Component: ArticleIcon }, + { name: 'AttachMoney', Component: AttachMoneyIcon }, + { name: 'AutoGraph', Component: AutoGraphIcon }, + { name: 'CalendarMonth', Component: CalendarMonthIcon }, + { name: 'Chat', Component: ChatIcon }, + { name: 'CheckCircle', Component: CheckCircleIcon }, + { name: 'CloudDone', Component: CloudDoneIcon }, + { name: 'Dashboard', Component: DashboardIcon }, + { name: 'Delete', Component: DeleteIcon }, + { name: 'Edit', Component: EditIcon }, + { name: 'Favorite', Component: FavoriteIcon }, + { name: 'FilterList', Component: FilterListIcon }, + { name: 'FolderOpen', Component: FolderOpenIcon }, + { name: 'Home', Component: HomeIcon }, + { name: 'Insights', Component: InsightsIcon }, + { name: 'Inventory2', Component: Inventory2Icon }, + { name: 'LightMode', Component: LightModeIcon }, + { name: 'Lock', Component: LockIcon }, + { name: 'Mail', Component: MailIcon }, + { name: 'Map', Component: MapIcon }, + { name: 'Notifications', Component: NotificationsIcon }, + { name: 'Person', Component: PersonIcon }, + { name: 'Settings', Component: SettingsIcon }, + { name: 'ShoppingCart', Component: ShoppingCartIcon }, + { name: 'Timeline', Component: TimelineIcon }, + { name: 'TrendingUp', Component: TrendingUpIcon }, + { name: 'Visibility', Component: VisibilityIcon }, + { name: 'Work', Component: WorkIcon }, +]; + +const BRAND_ICONS = [ + { name: 'Facebook', Component: FacebookIcon }, + { name: 'Instagram', Component: InstagramIcon }, + { name: 'Twitter', Component: TwitterIcon }, + { name: 'LinkedIn', Component: LinkedInIcon }, + { name: 'GitHub', Component: GitHubIcon }, + { name: 'YouTube', Component: YouTubeIcon }, + { name: 'Reddit', Component: RedditIcon }, + { name: 'Telegram', Component: TelegramIcon }, + { name: 'WhatsApp', Component: WhatsAppIcon }, + { name: 'Apple', Component: AppleIcon }, + { name: 'Android', Component: AndroidIcon }, + { name: 'Public', Component: PublicIcon }, + { name: 'Language', Component: LanguageIcon }, + { name: 'TravelExplore', Component: TravelExploreIcon }, + { name: 'RocketLaunch', Component: RocketLaunchIcon }, + { name: 'SupportAgent', Component: SupportAgentIcon }, + { name: 'WorkspacePremium', Component: WorkspacePremiumIcon }, + { name: 'Storefront', Component: StorefrontIcon }, + { name: 'Security', Component: SecurityIcon }, + { name: 'Email', Component: EmailIcon }, +]; + +function IconGrid({ classes, icons }) { + return ( + + + {icons.map(({ name, Component }) => ( + + + {name} + + ))} + + + ); +} + +export default function IconsPage() { + const classes = useStyles(); + const [activeTabId, setActiveTabId] = useState(0); + + return ( + + setActiveTabId(id)} + className={classes.iconsBar} + > + + + + + {activeTabId === 0 && } + {activeTabId === 1 && } + + ); +} diff --git a/react-material-admin-master/src/pages/icons/package.json b/react-material-admin-master/src/pages/icons/package.json new file mode 100644 index 0000000..0c7600f --- /dev/null +++ b/react-material-admin-master/src/pages/icons/package.json @@ -0,0 +1,6 @@ +{ + "name": "Icons", + "version": "0.0.0", + "main": "Icons.js", + "private": true +} diff --git a/react-material-admin-master/src/pages/icons/styles.js b/react-material-admin-master/src/pages/icons/styles.js new file mode 100644 index 0000000..9e3829a --- /dev/null +++ b/react-material-admin-master/src/pages/icons/styles.js @@ -0,0 +1,34 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + titleBold: { + fontWeight: 600 + }, + iconsBar: { + borderBottom: "1px solid", + borderBottomColor: theme.palette.text.hint + "80" + }, + iconList: { + paddingTop: theme.spacing(2), + }, + tab: { + color: theme.palette.primary.light + "CC" + }, + materailIcon: { + display: "flex", + paddingLeft: `${theme.spacing(4)}px !important`, + paddingRight: `${theme.spacing(4)}px !important`, + color: theme.palette.text.secondary, + fontSize: 24, + overflowX: "hidden" + }, + materialIconText: { + marginLeft: theme.spacing(2), + fontSize: 14 + }, + iconsContainer: { + boxShadow: theme.customShadows.widget, + overflow: "hidden", + paddingBottom: theme.spacing(2) + } +})); diff --git a/react-material-admin-master/src/pages/invoice/Invoice.js b/react-material-admin-master/src/pages/invoice/Invoice.js new file mode 100644 index 0000000..7952682 --- /dev/null +++ b/react-material-admin-master/src/pages/invoice/Invoice.js @@ -0,0 +1,238 @@ +import { + Grid, + Box, + Table, + TableBody, + TableCell, + TableHead, + TableRow } from +"@mui/material"; +import { + Print as PrintIcon, + ArrowForward as RightArrowIcon } from +"@mui/icons-material"; +import useStyles from "./styles"; + +//images +import logo from "../../images/invoice/flatlogic.jpeg"; + +//components +import { Typography, Link, Button } from "../../components/Wrappers"; +import Widget from "../../components/Widget"; + +const rows = [ +{ + id: 1, + item: "Brand-new 27 monitor", + desc: "2,560x1,440-pixel (WQHD) resolution supported!", + quantity: 2, + price: 700, + total: 1400.0 +}, +{ + id: 2, + item: "Domain: okendoken.com", + desc: "6-month registration", + quantity: 1, + price: 10.99, + total: 21.88 +}, +{ + id: 3, + item: "Atlas Shrugged", + desc: "Novel by Ayn Rand, first published in 1957 in the United States", + quantity: 5, + price: 35, + total: 175.0 +}, +{ + id: 4, + item: "New Song by Dr. Pre", + desc: "Lyrics: praesent blandit augue non sapien ornare imperdiet", + quantity: 1, + price: 2, + total: 2.0 +}]; + + +const windowPrint = () => { + window.print(); +}; + +const Invoice = () => { + const classes = useStyles(); + return ( + <> + + + + + Flatlogic + + + + #9.45613 / + {" "} + 17 May 2014 + + Some Invoice number description or whatever + + + + + + + Company Information + + Flatlogic LLC + 2 Infinite Loop + Minsk, Belarus 220004 + 088.253.5345 + + e-mail: + email@example.com + + + phone: (012) 345-678-901 + + + fax: (012) 678-132-901 + + + + + + Client Information + + Veronica Niasvizhskaja + + Consultant + + {" "} + at Allspana + + + + e-mail:{" "} + maryna@allspana.by + + + phone: (012) 345-678-901 + + + fax: (012) 678-132-901 + + Note: + + Some nights I stay up cashing in my bad luck. Some nights I + call it a draw + + +
+ + + + # + ITEM + DESCRIPTION + QUANTITY + PRICE PER UNIT + TOTAL + + + + {rows.map((c) => + + {c.id} + {c.item} + {c.desc} + {c.quantity} + {c.price} + {c.total} + + )} + +
+
+ + + + + Note: + + Thank you for your business. Keep in mind, sometimes bad + things happen. But it's just sometimes. + + + + + Subtotal + + 1,598.88 + + + + Tax(10%) + + 159.89 + + + + + Total + + 1,758.77 + + + + +
+ + + + Marketing Consultant + Bob Smith{" "} + + + + + + +
+
+
+ ); + +}; + +export default Invoice; \ No newline at end of file diff --git a/react-material-admin-master/src/pages/invoice/package.json b/react-material-admin-master/src/pages/invoice/package.json new file mode 100644 index 0000000..4f179be --- /dev/null +++ b/react-material-admin-master/src/pages/invoice/package.json @@ -0,0 +1,6 @@ +{ + "name": "Invoice", + "version": "1.0.0", + "main": "Invoice.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/invoice/styles.js b/react-material-admin-master/src/pages/invoice/styles.js new file mode 100644 index 0000000..a613a59 --- /dev/null +++ b/react-material-admin-master/src/pages/invoice/styles.js @@ -0,0 +1,20 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + table: { + "& .MuiTableRow-root:nth-child(odd)": { + backgroundColor: theme.palette.mode === "dark" ? "none" : "#f3f3f3" + } + }, + tableFooter: { + backgroundColor: theme.palette.mode === "dark" ? "none" : "#fff !important" + }, + tableWrapper: { + marginTop: theme.spacing(3), + overflowX: "auto", + width: "100%" + }, + iconButton: { + marginRight: theme.spacing(1) + } +})); diff --git a/react-material-admin-master/src/pages/login/Login.js b/react-material-admin-master/src/pages/login/Login.js new file mode 100644 index 0000000..a021141 --- /dev/null +++ b/react-material-admin-master/src/pages/login/Login.js @@ -0,0 +1,433 @@ +import React, { useState, useEffect } from 'react'; +import { + Grid, + CircularProgress, + Tabs, + Tab, + Grow, + TextField as Input, + Typography, +} from '@mui/material'; +import classnames from 'classnames'; +import { useLocation, useNavigate } from 'react-router-dom'; + +// styles +import useStyles from './styles'; + +// logo +import logo from './logo.svg'; +import google from '../../images/google.svg'; + +// context +import { + useUserDispatch, + loginUser, + registerUser, + sendPasswordResetEmail, +} from '../../context/UserContext'; +import { receiveToken, doInit } from '../../context/UserContext'; + +//components +import { Button } from '../../components/Wrappers'; +import Widget from '../../components/Widget'; +import config from '../../config'; + +const getGreeting = () => { + const d = new Date(); + if (d.getHours() >= 4 && d.getHours() <= 12) { + return 'Good Morning'; + } else if (d.getHours() >= 13 && d.getHours() <= 16) { + return 'Good Day'; + } else if (d.getHours() >= 17 && d.getHours() <= 23) { + return 'Good Evening'; + } else { + return 'Good Night'; + } +}; + +function Login() { + let classes = useStyles(); + const location = useLocation(); + const navigate = useNavigate(); + const tab = new URLSearchParams(location.search).get('tab'); + + // global + let userDispatch = useUserDispatch(); + + useEffect(() => { + const params = new URLSearchParams(location.search); + const token = params.get('token'); + if (token) { + receiveToken(token, userDispatch); + doInit()(userDispatch); + } + }, []); + + // local + let [isLoading, setIsLoading] = useState(false); + let [error, setError] = useState(null); + const parsedTab = Number(tab); + let [activeTabId, setActiveTabId] = useState(Number.isFinite(parsedTab) ? parsedTab : 0); + let [nameValue, setNameValue] = useState(''); + let [loginValue, setLoginValue] = useState('admin@flatlogic.com'); + let [passwordValue, setPasswordValue] = useState('password'); + let [forgotEmail, setForgotEmail] = useState(''); + let [isForgot, setIsForgot] = useState(false); + + let isLoginFormValid = () => { + return loginValue.length !== 0 && passwordValue.length !== 0; + }; + + let loginOnEnterKey = (event) => { + if (event.key === 'Enter' && isLoginFormValid()) { + loginUser( + userDispatch, + loginValue, + passwordValue, + setIsLoading, + setError, + ); + } + }; + + return ( + +
+ logo + + React Material Admin Full + +
+
+
+ {isForgot ? ( +
+ setForgotEmail(e.target.value)} + margin='normal' + placeholder='Email' + type='Email' + fullWidth + /> +
+ {isLoading ? ( + + ) : ( + + )} + +
+
+ ) : ( + <> + setActiveTabId(id)} + indicatorColor='primary' + textColor='primary' + centered + > + + + + {activeTabId === 0 && ( + + {config.isBackend ? ( + + + This is a real app with Node.js backend - use + + "admin@flatlogic.com / password" + {' '} + to login! + + + ) : null} + + {getGreeting()}, User + + +
+
+ + or + +
+
+ + + Something is wrong with your login or password :( + + + setLoginValue(e.target.value)} + margin='normal' + placeholder='Email Adress' + type='email' + fullWidth + onKeyDown={(e) => loginOnEnterKey(e)} + /> + setPasswordValue(e.target.value)} + margin='normal' + placeholder='Password' + type='password' + fullWidth + onKeyDown={(e) => loginOnEnterKey(e)} + /> +
+ {isLoading ? ( + + ) : ( + + )} + +
+ + )} + {activeTabId === 1 && ( + + + Welcome! + + + Create your account + + + + Something is wrong with your login or password :( + + + setNameValue(e.target.value)} + margin='normal' + placeholder='Full Name' + type='email' + fullWidth + /> + setLoginValue(e.target.value)} + margin='normal' + placeholder='Email Adress' + type='email' + fullWidth + /> + setPasswordValue(e.target.value)} + margin='normal' + placeholder='Password' + type='password' + fullWidth + /> +
+ {isLoading ? ( + + ) : ( + + )} +
+
+
+ + or + +
+
+ + + )} + + )} +
+ + 2014-{new Date().getFullYear()}{' '} + + Flatlogic + + , LLC. All rights reserved. + +
+ + ); +} + +export default Login; diff --git a/react-material-admin-master/src/pages/login/logo.svg b/react-material-admin-master/src/pages/login/logo.svg new file mode 100644 index 0000000..60006a3 --- /dev/null +++ b/react-material-admin-master/src/pages/login/logo.svg @@ -0,0 +1,13 @@ + + + + logo_white + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/pages/login/package.json b/react-material-admin-master/src/pages/login/package.json new file mode 100644 index 0000000..2cfd7cc --- /dev/null +++ b/react-material-admin-master/src/pages/login/package.json @@ -0,0 +1,6 @@ +{ + "name": "Login", + "version": "0.0.0", + "main": "Login.js", + "private": true +} diff --git a/react-material-admin-master/src/pages/login/styles.js b/react-material-admin-master/src/pages/login/styles.js new file mode 100644 index 0000000..f212864 --- /dev/null +++ b/react-material-admin-master/src/pages/login/styles.js @@ -0,0 +1,164 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + container: { + height: '100vh', + width: '100%', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + position: 'absolute', + top: 0, + left: 0, + }, + logotypeContainer: { + backgroundColor: theme.palette.primary.main, + width: '60%', + height: '100%', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'center', + padding: '1rem', + [theme.breakpoints.down('md')]: { + width: '50%', + }, + [theme.breakpoints.down('md')]: { + display: 'none', + }, + }, + logotypeImage: { + width: 165, + marginBottom: theme.spacing(4), + }, + logotypeText: { + color: 'white', + fontWeight: 500, + fontSize: 84, + textAlign: 'center', + [theme.breakpoints.down('md')]: { + fontSize: 48, + }, + }, + customFormContainer: { + width: '40%', + height: '100%', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + overflow: 'auto', + alignItems: 'center', + [theme.breakpoints.down('md')]: { + width: '50%', + overflow: 'visible', + }, + }, + formContainer: { + width: '40%', + height: '100%', + display: 'flex', + flexDirection: 'column', + overflow: 'auto', + alignItems: 'center', + [theme.breakpoints.down('md')]: { + width: '50%', + overflow: 'visible', + }, + }, + form: { + width: 320, + }, + tab: { + fontWeight: 400, + fontSize: 18, + }, + greeting: { + fontWeight: 500, + textAlign: 'center', + marginTop: theme.spacing(4), + }, + subGreeting: { + fontWeight: 500, + textAlign: 'center', + marginTop: theme.spacing(2), + }, + googleButton: { + marginTop: theme.spacing(6), + boxShadow: theme.customShadows.widget, + backgroundColor: 'white', + width: '100%', + textTransform: 'none', + }, + googleButtonCreating: { + marginTop: 0, + }, + googleIcon: { + width: 30, + marginRight: theme.spacing(2), + }, + creatingButtonContainer: { + marginTop: theme.spacing(2.5), + height: 46, + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + }, + createAccountButton: { + height: 46, + textTransform: 'none', + }, + formDividerContainer: { + marginTop: theme.spacing(4), + marginBottom: theme.spacing(4), + display: 'flex', + alignItems: 'center', + }, + formDividerWord: { + paddingLeft: theme.spacing(2), + paddingRight: theme.spacing(2), + }, + formDivider: { + flexGrow: 1, + height: 1, + backgroundColor: theme.palette.text.hint + '40', + }, + errorMessage: { + textAlign: 'center', + color: '#ff0000ba', + }, + textFieldUnderline: { + '&:before': { + borderBottomColor: theme.palette.primary.light, + }, + '&:after': { + borderBottomColor: theme.palette.primary.main, + }, + '&:hover:before': { + borderBottomColor: `${theme.palette.primary.light} !important`, + }, + }, + textField: { + borderBottomColor: theme.palette.background.light, + }, + formButtons: { + width: '100%', + marginTop: theme.spacing(4), + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + }, + forgetButton: { + textTransform: 'none', + fontWeight: 400, + }, + loginLoader: { + marginLeft: theme.spacing(4), + }, + copyright: { + marginTop: theme.spacing(4), + whiteSpace: 'nowrap', + [theme.breakpoints.up('md')]: { + bottom: theme.spacing(2), + }, + }, +})); diff --git a/react-material-admin-master/src/pages/maps/Maps.js b/react-material-admin-master/src/pages/maps/Maps.js new file mode 100644 index 0000000..90a4627 --- /dev/null +++ b/react-material-admin-master/src/pages/maps/Maps.js @@ -0,0 +1,33 @@ +import { MapContainer, TileLayer, CircleMarker, Popup } from "react-leaflet"; + +// styles +import useStyles from "./styles"; + +export default function Maps() { + const classes = useStyles(); + + return ( +
+ + + + New York + + + Los Angeles + + + Chicago + + +
+ ); +} diff --git a/react-material-admin-master/src/pages/maps/VectorMap.js b/react-material-admin-master/src/pages/maps/VectorMap.js new file mode 100644 index 0000000..0845d7e --- /dev/null +++ b/react-material-admin-master/src/pages/maps/VectorMap.js @@ -0,0 +1,58 @@ +import React from "react"; +import { MapContainer, TileLayer, GeoJSON } from "react-leaflet"; +import { useTheme } from "@mui/material/styles"; +import { feature } from "topojson-client"; +import useStyles from "./styles"; +import worldMap from "./map.json"; + +function VectorMap() { + const theme = useTheme(); + const classes = useStyles(); + const worldGeoJson = React.useMemo(() => { + if (!worldMap?.objects?.world) { + return null; + } + + return feature(worldMap, worldMap.objects.world); + }, []); + + const countryStyle = React.useCallback( + () => ({ + fillColor: theme.palette.mode === "dark" ? "#2D3B58" : "#C5D3F6", + weight: 1, + opacity: 1, + color: theme.palette.mode === "dark" ? "#4C5D82" : "#8EA4D2", + fillOpacity: 0.75, + }), + [theme.palette.mode], + ); + + const onEachCountry = React.useCallback((countryFeature, layer) => { + const countryName = countryFeature?.properties?.name; + if (countryName) { + layer.bindTooltip(countryName, { sticky: true }); + } + }, []); + + return ( +
+ + + {worldGeoJson && ( + + )} + +
+ ); +} + +export default VectorMap; diff --git a/react-material-admin-master/src/pages/maps/map.json b/react-material-admin-master/src/pages/maps/map.json new file mode 100644 index 0000000..ca92d9d --- /dev/null +++ b/react-material-admin-master/src/pages/maps/map.json @@ -0,0 +1 @@ +{"arcs":[[[7080,7327],[-5,4],[-10,-10],[5,-6]],[[7070,7315],[-16,-12],[-9,5],[-28,-4],[-12,-6],[-1,-5],[-17,-18],[-11,-16],[6,-10],[6,-18],[-2,-15],[3,-8],[-18,-35],[4,-12],[-2,-18],[-7,-5],[-13,0],[-13,4],[3,-16],[6,-6],[-1,-9],[4,-9],[-12,-14],[-8,0],[-6,-18],[2,-7],[-6,-11],[2,-30],[-8,-17],[-6,-1],[-2,8],[-15,4],[-3,-8],[-14,-12],[6,-9],[-11,-7],[-13,6],[-7,-15],[-8,-7],[-3,-19],[2,-9],[-4,-35],[-32,-17],[-16,2],[-11,-11],[-14,6],[-30,-5],[-46,26]],[[6689,6902],[27,56],[1,10],[-4,21],[-24,7],[-1,9],[1,35],[-7,43],[0,9],[7,14],[1,9],[-10,5],[0,31],[11,8],[-5,13],[7,6],[5,26],[-1,11],[4,19]],[[6701,7234],[8,-10],[13,-1],[6,-7],[1,-9],[5,8],[5,-4],[13,13],[0,24],[9,0],[4,6],[20,11],[9,15],[0,16],[5,14],[-1,9],[9,8],[12,0],[4,16],[4,3],[15,-14],[5,2]],[[6847,7334],[14,2],[7,-12],[6,6],[8,-6]],[[6882,7324],[7,-15],[7,10],[15,9],[2,5],[10,-14],[5,7],[-2,13],[4,8],[21,2],[-3,18],[5,4],[12,26],[9,-2],[7,-9],[-1,-21],[6,3],[2,-8],[-3,-14],[-1,-35],[3,-12],[7,-4],[15,19],[9,1],[3,11],[14,14],[13,-2],[-1,-12],[14,8],[12,2],[7,-9]],[[5665,4557],[3,-32],[-3,-9],[0,-36],[2,-12],[-5,-22],[4,-12],[-56,0],[0,-182],[3,-21],[6,-7],[15,-33],[6,-7],[3,-10],[6,-7]],[[5649,4167],[-53,-21],[-11,4],[-8,-4],[-13,9],[-8,-3],[-17,2],[-5,4],[-10,0],[-7,9],[-5,14],[-52,0],[-66,0],[-7,-1],[-12,17],[-4,9],[-6,1],[-18,-16],[-15,4],[-6,-6]],[[5326,4189],[0,28],[2,-1],[-2,58],[7,9],[1,23],[6,24],[2,20],[0,23],[5,12],[0,26],[4,4],[8,20],[0,10],[6,12],[5,0],[8,20],[5,28],[-1,20],[2,29],[-2,15],[-7,15],[-8,46],[-7,29],[6,16],[6,7],[-1,21],[-3,9],[-10,48],[-2,4],[0,21],[-8,16],[-8,30],[16,4],[10,11]],[[5366,4846],[4,-2],[18,2],[12,-3],[21,2],[32,1],[7,-4],[4,-15],[0,-22],[3,-16],[3,-3],[0,-19],[10,-23],[0,-8],[9,-20],[7,4],[6,-4],[2,6],[33,0],[1,20],[4,12],[-2,8],[2,18],[21,0],[9,5],[-3,-22],[36,0],[1,-22],[-2,-20],[5,-23],[-4,-53],[1,-14],[6,-17],[3,-2],[4,-23],[0,-22],[-4,-9],[3,-18],[6,7],[13,-4],[14,9],[12,-3],[2,8]],[[5363,4916],[-7,-5],[-8,-18],[-1,-40],[-8,-2]],[[5339,4851],[-2,5],[2,14],[-6,24]],[[5333,4894],[10,23],[7,3],[4,10],[9,-14]],[[5582,7537],[-1,0]],[[5581,7537],[1,0]],[[5537,7617],[1,0]],[[5538,7617],[-1,0]],[[5557,7633],[4,-13],[7,-4],[3,-22]],[[5571,7594],[-4,-21],[6,-24]],[[5573,7549],[2,-10]],[[5575,7539],[6,-2]],[[5581,7537],[1,-1]],[[5582,7536],[0,0]],[[5582,7536],[0,-5]],[[5582,7531],[1,-5]],[[5583,7526],[0,0]],[[5583,7526],[-2,-13],[-5,-2],[-2,-17],[-11,-8],[3,-12],[-6,-8],[-5,3]],[[5555,7469],[-3,19],[-11,9],[-1,22],[-4,4],[4,16],[-1,29],[5,23],[-7,2]],[[5537,7593],[1,14]],[[5538,7607],[0,13]],[[5538,7620],[9,19],[3,-11],[7,5]],[[5553,8659],[10,-5],[-7,-11],[-10,6],[7,10]],[[5047,7630],[-7,-5],[-1,11]],[[5039,7636],[8,1],[0,-7]],[[6563,6637],[0,0]],[[6563,6659],[2,-2],[1,-36]],[[6566,6621],[-8,-14],[-3,13],[-6,-4],[-1,-38],[7,-9],[-11,-3],[-4,-6],[2,-9],[-10,-44],[0,-17]],[[6532,6490],[-2,-5],[-70,18],[-3,5],[-25,63],[0,9]],[[6432,6580],[6,-1],[0,-13],[12,-3],[10,11],[24,-2],[11,-4],[15,12],[6,14],[1,15],[11,12],[13,31],[11,13],[5,19]],[[6557,6684],[3,-2],[-1,-22],[4,-1]],[[6562,6642],[0,0]],[[3093,2021],[0,6]],[[3093,2027],[0,-6]],[[3093,2028],[0,123]],[[3093,2151],[10,-17],[-8,-15],[11,-6],[5,-17],[12,-13],[7,-13],[17,-13],[11,-14],[12,-7],[20,0],[-5,-16],[-18,1],[-11,-8],[-12,6],[-51,9]],[[3259,3902],[11,-14],[7,-29],[9,-17],[15,-17],[3,-11],[17,-13],[11,-1],[15,-18],[4,-9],[15,-17],[9,-5],[5,-8],[13,-5],[8,-20],[-6,-14],[-3,-19],[-8,-10],[-1,-25],[-3,-14],[-5,-4],[-5,-15],[4,-5],[13,1],[19,-8],[5,-5],[7,4],[5,-5],[6,3],[4,-8],[3,12],[5,5],[10,-9],[5,8],[-1,8],[6,12],[6,0],[11,18],[5,40],[0,22]],[[3483,3710],[5,-4],[6,7],[9,-9],[1,-17],[5,-14],[-2,-9],[0,-25],[-2,-17],[-13,-19],[-15,-5],[-6,-19],[-8,-4],[-6,-13],[-7,-5],[3,-10],[-6,-4],[-20,-39],[-2,-11],[-12,-25],[-5,-2],[-1,-10],[-8,-11]],[[3399,3445],[0,-7],[-7,-12],[2,-23],[-3,-20],[-5,-13],[3,-4],[-2,-14],[-4,-5],[3,-25],[-3,-8]],[[3383,3314],[2,-25],[-2,-12],[-6,0],[-4,-34],[5,-29],[-4,-14],[5,-12],[23,-21],[11,-25],[-7,-19],[0,-13],[7,-17],[12,-6],[1,-29],[-11,-30],[-13,-26],[-2,-16],[-27,-24],[-37,-16],[-27,-8],[-27,0],[-15,11],[3,-32],[5,-9],[-2,-21],[-4,3],[-1,-21],[-4,-5],[6,-17],[-2,-18],[-20,-16],[-21,0],[-26,20],[-8,2],[-4,-10],[5,-32],[-2,-24],[6,-16],[11,-4],[-4,-10],[13,0],[2,10],[-6,0],[14,11],[5,-13],[1,-17],[-3,-12],[-12,-5],[-3,16],[-13,5],[-9,-15],[19,-13],[-20,-17],[-8,-19],[3,-43],[-4,-11],[-9,-7],[0,-20],[-14,3],[-8,-5],[-1,-8],[-14,-5],[-9,-18],[0,-9],[-6,-9],[-2,-14],[7,-25],[7,-6],[8,-16],[6,-4],[17,0],[6,-6],[2,-20],[-5,-33],[-6,-2],[-12,-18],[-16,-14],[-3,-10],[-9,-10],[-6,-22],[2,-16],[-5,-18],[-5,-6],[-23,-14],[-5,-12],[-2,-21],[2,-24],[9,-34],[11,-24],[-3,-1]],[[3098,2168],[-15,10],[-26,10],[-55,1],[-4,12],[-11,13],[6,19],[-5,7],[5,13],[-2,14],[-13,1],[-11,-8],[-3,26],[-7,9],[2,22],[-3,11],[3,15],[9,1],[3,17],[12,10],[1,22],[7,7],[-1,15],[-5,7],[6,30],[8,13],[2,22],[8,9],[-3,32],[4,11],[-4,4],[0,15],[8,5],[5,13],[-8,17],[-14,5],[7,5],[17,3],[2,17],[-18,3],[-1,18],[5,7],[-4,14],[3,7],[-6,16],[5,9],[-11,7],[0,45],[3,8],[8,1],[-5,26],[2,43],[-3,11],[4,27],[5,21],[-2,18],[8,13],[0,25],[15,13],[-3,15],[-1,21],[-5,20],[3,35],[-2,24],[3,12],[10,4],[-1,8],[10,14],[-2,40],[-4,4],[6,6],[0,12],[9,39],[6,2],[-2,34],[3,18],[-9,9],[3,18],[-4,6],[0,16],[-5,12],[-2,14],[3,9],[-5,2],[-3,15],[1,24],[6,8],[0,13],[5,19],[7,8],[2,10],[-4,4],[2,16],[-4,31],[7,10],[1,26],[4,17],[13,33],[9,38],[6,-3],[8,7],[0,10],[-8,21],[0,10],[5,9],[-2,26],[-3,17],[2,15],[5,4],[-6,14],[2,14],[7,13],[25,20],[9,54],[-5,17]],[[3133,3869],[5,9],[0,8],[7,6],[2,12],[9,5],[4,19],[3,-2],[10,-17],[21,0],[12,-5],[6,-38],[3,20],[8,29],[32,1],[4,-14]],[[6265,7522],[0,0]],[[6249,7560],[2,-10],[15,-14],[-6,-16],[6,-11],[11,-10],[-3,-13],[-7,2],[15,-25],[9,-1],[-3,-13],[5,-7],[-5,-5],[3,-15]],[[6291,7422],[-10,-2]],[[6281,7420],[-4,23],[-7,7],[1,10],[-13,-1],[-8,14],[-7,-4]],[[6243,7469],[-8,16],[-12,1],[-11,7],[-3,20],[5,12],[-3,17],[-5,8]],[[6206,7550],[9,0],[11,7],[10,-3],[13,6]],[[6249,7546],[0,0]],[[6255,7542],[0,0]],[[488,408],[24,-7],[-48,-4],[-13,16],[37,-5]],[[542,484],[-90,7],[20,11],[65,-10],[5,-8]],[[3331,592],[8,-3],[-1,-57],[-23,-11],[-52,4],[-17,17],[-32,-10],[-67,20],[3,10],[19,-10],[115,3],[8,27],[39,10]],[[4135,588],[34,-2],[-10,-10],[-44,8],[-5,11],[25,-7]],[[3120,602],[25,-4],[35,-20],[-20,-7],[-40,31]],[[3137,618],[-11,-15],[-30,6],[41,9]],[[4054,618],[1,-6],[-76,3],[30,13],[45,-10]],[[547,618],[21,-9],[14,-23],[-47,-2],[-90,25],[-10,7],[5,17],[24,15],[25,0],[58,-30]],[[3143,666],[-58,-38],[-39,-36],[-31,3],[-10,10],[11,23],[23,11],[92,33],[12,-6]],[[9654,680],[-35,-8],[-8,14],[21,-7],[22,11],[0,-10]],[[3740,650],[1,-7],[44,2],[21,-39],[-7,-30],[-18,-1],[9,-11],[-158,-26],[-16,-9],[-121,-4],[1,17],[22,27],[26,-4],[60,37],[-13,14],[14,40],[31,33],[52,14],[37,-3],[38,-11],[19,-13],[-4,-20],[-38,-6]],[[9641,732],[63,-13],[-27,-10],[-42,-2],[-19,12],[25,13]],[[839,754],[14,-14],[-32,3],[-11,7],[29,4]],[[938,754],[-21,-7],[-2,12],[23,-5]],[[951,834],[16,-10],[-24,3],[8,7]],[[9561,885],[-8,-14],[-7,9],[15,5]],[[1342,903],[19,-12],[-6,-6],[-27,12],[14,6]],[[1458,897],[-1,-13],[-17,20],[18,-7]],[[1760,918],[-17,-8],[-3,7],[26,11],[-6,-10]],[[1680,914],[-12,3],[10,17],[17,-2],[-1,-10],[-14,-8]],[[1635,935],[17,0],[7,-14],[-23,-10],[0,-10],[-32,-4],[-22,7],[3,11],[15,12],[-27,3],[7,10],[55,-5]],[[4425,917],[9,-22],[-14,0],[-4,16],[-29,3],[20,7],[12,19],[11,1],[-5,-24]],[[9717,944],[-11,3],[8,14],[3,-17]],[[1498,961],[13,-7],[9,-16],[-11,-7],[29,6],[17,-9],[7,-11],[-6,-12],[-22,3],[-48,22],[0,8],[-19,7],[-3,16],[34,0]],[[2955,972],[-2,-10],[-13,0],[15,10]],[[2514,979],[-20,-5],[-4,5],[22,8],[2,-8]],[[2918,987],[18,-3],[-8,-40],[-36,14],[-7,10],[11,7],[18,0],[-19,10],[23,2]],[[2474,988],[-3,-19],[-14,-1],[6,17],[-10,16],[23,1],[-2,-14]],[[2365,999],[-10,3],[18,7],[-8,-10]],[[2270,1031],[14,-3],[-2,14],[10,0],[2,-17],[10,19],[19,1],[5,-10],[-23,-11],[8,-3],[27,11],[-6,-10],[13,-10],[-15,-1],[1,-9],[-72,2],[2,5],[-24,-1],[6,7],[-29,6],[-58,7],[6,10],[57,7],[8,-11],[7,7],[23,-12],[-13,13],[17,9],[15,-6],[-8,-14]],[[4919,1112],[8,-10],[14,1],[-17,-19],[-8,18],[-16,10],[19,0]],[[2947,1119],[8,-13],[-22,-10],[-48,-11],[-9,4],[2,12],[33,5],[9,12],[8,-13],[3,14],[16,0]],[[3313,1111],[-7,10],[11,1],[-4,-11]],[[4835,1126],[-5,-10],[-10,9],[15,1]],[[5082,1116],[-11,6],[19,4],[-8,-10]],[[4913,1121],[-10,0],[6,12],[12,3],[2,-14],[-10,-1]],[[7004,1113],[-10,3],[-5,16],[16,-11],[-1,-8]],[[5124,1122],[-12,11],[12,5],[0,-16]],[[5745,1129],[-22,0],[-2,11],[19,6],[5,-17]],[[5040,1146],[-7,-18],[-5,21],[12,-3]],[[2924,1165],[8,-12],[-12,-13],[-23,5],[-1,13],[8,7],[20,0]],[[5449,1148],[-17,8],[11,12],[19,-1],[-11,-8],[-2,-11]],[[3001,1170],[-23,2],[-6,7],[17,4],[12,-13]],[[3283,1179],[-6,-12],[-16,30],[11,2],[11,-20]],[[3055,1197],[19,-24],[1,-17],[16,-26],[11,-25],[3,-60],[-6,-23],[-20,-7],[-2,-10],[-40,-7],[-49,0],[-21,13],[10,8],[16,-3],[45,-2],[14,8],[-7,6],[-28,-9],[-18,10],[35,8],[1,5],[-31,0],[-14,17],[-11,-17],[-31,2],[10,-8],[-14,-9],[-38,14],[-1,15],[15,8],[16,-8],[-4,12],[9,4],[16,-13],[-4,14],[29,-2],[9,7],[-23,7],[10,6],[30,-6],[19,11],[20,0],[13,-11],[-2,16],[-35,7],[5,17],[24,8],[15,-4],[-18,14],[-20,-4],[-27,14],[7,34],[-10,5],[0,20],[45,10],[9,-7],[2,-18]],[[7385,1327],[-15,4],[8,9],[7,-13]],[[3111,1321],[9,-5],[-16,-13],[-8,-22],[-11,0],[-7,9],[22,44],[15,12],[5,-5],[-10,-11],[1,-9]],[[7686,1378],[4,-8],[-14,-2],[10,10]],[[3174,1408],[-3,-16],[-10,-2],[6,17],[7,1]],[[7805,1401],[-19,0],[-1,7],[12,10],[15,-7],[-7,-10]],[[7870,1413],[-16,19],[9,-2],[7,-17]],[[3410,1465],[-6,6],[14,7],[-8,-13]],[[3242,1481],[-2,-9],[14,-8],[-14,-12],[-26,3],[20,26],[8,0]],[[3270,1492],[2,-17],[-12,-8],[10,25]],[[3394,1508],[-2,-9],[20,-7],[-8,-17],[-7,6],[-7,-7],[-14,20],[5,8],[13,6]],[[3446,1521],[-9,7],[15,-2],[-6,-5]],[[0,324],[46,3],[68,-14],[19,8],[194,-14],[21,-11],[128,-2],[122,-11],[81,-3],[-58,13],[54,1],[-124,12],[-104,7],[24,11],[-55,17],[37,2],[-52,17],[-71,-3],[-37,23],[-127,27],[73,-2],[18,-14],[73,-4],[20,4],[70,-3],[6,-14],[50,10],[19,-11],[127,8],[18,9],[-44,5],[81,5],[16,14],[70,14],[-10,10],[-54,26],[31,11],[-19,10],[-74,13],[17,11],[109,6],[135,7],[0,5],[-77,24],[-11,11],[13,10],[43,-4],[46,10],[-17,11],[-75,12],[-55,17],[-3,5],[-68,8],[-43,21],[14,11],[48,6],[-2,14],[-71,-7],[-47,23],[14,18],[-3,26],[9,1],[24,-17],[21,17],[21,-5],[18,4],[38,-10],[-9,-10],[36,-3],[2,10],[72,-30],[30,16],[30,6],[-36,7],[7,14],[32,-17],[21,7],[13,-13],[27,0],[-16,13],[21,1],[-31,15],[29,-5],[-22,20],[-27,16],[-38,-3],[-33,3],[2,9],[28,4],[9,7],[69,-21],[6,8],[-27,13],[9,11],[56,6],[1,10],[41,4],[2,6],[19,-3],[9,-14],[18,0],[-10,14],[29,6],[16,14],[61,4],[30,-4],[-16,9],[4,14],[30,0],[11,11],[22,-4],[18,-16],[30,9],[58,-4],[20,-5],[64,13],[93,0],[8,-7],[45,3],[41,0],[59,10],[-3,10],[24,6],[6,-12],[33,-3],[51,6],[-7,21],[11,10],[21,0],[-9,-7],[19,2],[-8,-12],[4,-14],[15,3],[-18,-16],[-6,-21],[9,6],[46,8],[15,0],[-10,11],[0,20],[15,6],[35,-17],[-5,-19],[-34,-18],[4,-7],[45,4],[84,-10],[53,13],[28,-3],[14,4],[49,-4],[-3,-8],[20,-8],[70,13],[-27,6],[2,10],[-34,3],[17,7],[3,14],[-46,3],[5,11],[-7,15],[-33,5],[-4,20],[42,-4],[3,-6],[47,2],[-5,21],[-41,3],[-46,0],[-11,7],[-4,20],[11,7],[26,-4],[-17,-12],[21,-4],[33,4],[84,-1],[9,-7],[44,-11],[17,7],[24,-7],[21,8],[46,0],[33,-7],[16,10],[25,1],[6,10],[-10,17],[33,-4],[1,-10],[-15,-14],[9,-9],[30,6],[8,-11],[38,11],[5,-13],[28,-10],[20,2],[43,-19],[29,9],[-2,28],[24,-11],[-8,25],[28,-2],[24,-17],[-2,-16],[55,8],[5,-7],[-15,-14],[48,6],[7,5],[34,-5],[26,15],[57,12],[21,-2],[42,10],[35,16],[22,43],[-1,7],[-20,21],[-4,13],[6,23],[-15,38],[-15,16],[4,21],[-13,16],[15,0],[-1,7],[25,-14],[5,14],[11,6],[0,11],[-18,7],[14,5],[-5,17],[6,14],[-9,16],[12,3],[6,21],[-10,5],[-19,-1],[15,30],[6,0],[-2,-17],[15,-6],[1,26],[-4,14],[8,4],[14,-7],[5,34],[14,-2],[-5,11],[19,-4],[3,23],[16,1],[-5,27],[11,6],[16,-7],[-4,11],[20,14],[11,-3],[9,12],[10,1],[-1,10],[14,4],[-1,13],[30,14],[13,-2],[3,10],[12,2],[1,8],[21,4],[7,8],[13,6],[11,-3],[7,-20],[-10,-3],[-2,12],[-15,-12],[-10,0],[-15,-17],[-9,-22],[-9,-6],[-7,7],[-6,-6],[-19,-5],[-17,-29],[-20,3],[6,-10],[-18,-10],[9,-14],[-14,-14],[13,-19],[16,3],[0,10],[21,-2],[-16,-14],[-16,0],[-2,-16],[-5,16],[-19,-3],[1,-28],[-16,27],[-15,3],[-10,-29],[11,-10],[-9,-4],[-14,11],[-12,-15],[6,-16],[-15,-6],[-8,5],[-3,-33],[10,-6],[-12,-11],[21,6],[6,-6],[-20,-7],[14,-6],[-10,-7],[36,-17],[-2,17],[23,7],[-14,-17],[15,-6],[-5,-8],[14,-25],[14,-7],[-2,-21],[15,-13],[-1,-11],[-10,4],[5,-18],[22,1],[-16,-24],[20,4],[9,-21],[-5,-12],[-12,-1],[-14,-13],[14,-1],[11,10],[9,-8],[-7,-12],[-38,-3],[36,-14],[13,10],[0,-26],[-19,-2],[6,-18],[17,8],[-7,-24],[25,4],[-11,-19],[-9,8],[-3,-13],[-15,12],[-21,5],[13,-17],[21,-10],[-7,-23],[-21,5],[21,-13],[-23,-13],[31,7],[-9,-17],[-36,6],[17,-17],[-10,-13],[-13,-3],[-2,17],[-17,2],[6,-15],[-14,3],[-10,-10],[18,2],[7,-9],[-35,-4],[-2,-7],[33,-3],[-85,-34],[-52,-9],[4,-3],[-60,-13],[4,-11],[-17,-7],[-31,-1],[-20,4],[-46,0],[-31,8],[-64,0],[34,-42],[23,-15],[10,6],[66,-8],[-25,-26],[-38,-9],[-61,13],[-95,13],[-30,-6],[118,-34],[-9,-17],[-71,-7],[-61,21],[-37,30],[12,-23],[-13,-4],[17,-20],[42,-17],[17,-23],[18,-7],[2,20],[108,-4],[17,-13],[-20,-24],[-22,-3],[-62,0],[55,-10],[39,6],[24,-26],[-8,-7],[24,-16],[19,7],[38,-10],[7,13],[39,9],[21,-6],[9,-14],[46,-9],[89,-24],[77,-3],[-92,-8],[62,-5],[-2,-4],[-62,-1],[-6,-25],[26,-5],[52,8],[75,3],[-64,-17],[33,-33],[-6,-17],[66,-4],[49,30],[72,31],[52,14],[16,-1],[53,11],[65,5],[59,-2],[6,-17],[-17,-11],[31,-7],[67,24],[-2,10],[36,18],[9,16],[79,27],[42,-13],[34,10],[18,17],[53,0],[40,12],[42,-3],[-21,10],[37,0],[5,7],[153,6],[48,10],[-61,7],[-165,11],[31,17],[-27,0],[9,15],[-73,-12],[-96,23],[-5,14],[12,23],[11,3],[8,18],[24,0],[-7,12],[28,18],[34,10],[17,0],[5,10],[28,7],[15,13],[36,16],[52,10],[29,14],[48,10],[53,7],[31,-4],[22,14],[17,-6],[43,6],[-18,11],[29,26],[-3,10],[14,17],[24,3],[23,-7],[39,33],[-10,4],[-27,-10],[-22,3],[17,4],[-20,7],[1,13],[28,23],[18,3],[12,-9],[16,11],[-15,16],[29,-7],[14,11],[42,13],[3,19],[10,20],[-18,0],[-18,7],[-1,18],[16,2],[1,-9],[21,-10],[7,17],[16,9],[-12,10],[13,4],[3,-10],[22,-7],[10,-28],[15,7],[15,-5],[-4,9],[6,23],[-11,13],[13,5],[25,-7],[16,14],[13,-8],[-20,-29],[71,-3],[7,-9],[4,12],[18,3],[5,-6],[28,-5],[7,11],[12,-7],[-4,-14],[12,-9],[21,25],[13,8],[41,14],[105,20],[19,0],[28,7],[-5,17],[12,2],[-1,-17],[11,-3],[25,9],[-8,8],[9,9],[22,-23],[31,-14],[21,-5],[14,25],[18,7],[-16,10],[16,1],[8,-13],[22,-4],[22,3],[27,-4],[3,9],[17,3],[-3,-18],[45,-4],[11,1],[-6,11],[17,9],[11,-10],[-10,-23],[10,-10],[23,-1],[26,4],[3,13],[16,24],[24,-18],[-21,-6],[14,-7],[26,-5],[13,26],[15,-4],[0,-15],[27,-15],[31,-3],[35,17],[23,3],[38,21],[40,5],[38,11],[7,7],[2,33],[-12,13],[-1,13],[20,12],[28,0],[4,-8],[-21,-13],[24,-1],[20,-13],[-2,-23],[45,4],[8,-15],[7,9],[26,-1],[-5,-7],[19,-19],[2,12],[13,7],[-1,10],[15,4],[-2,32],[4,14],[26,6],[21,15],[28,4],[8,17],[32,8],[24,0],[-6,5],[34,13],[14,-6],[-2,23],[18,5],[14,-8],[-13,-7],[10,-3],[6,-12],[9,8],[16,-6],[-5,-17],[13,20],[-3,14],[16,5],[2,11],[-19,-3],[-6,13],[27,6],[-2,-9],[15,2],[0,-13],[11,8],[11,-7],[10,7],[-14,3],[10,16],[-16,1],[-1,12],[9,14],[23,4],[11,12],[30,4],[25,7],[40,-6],[19,-10],[15,-20],[11,3],[13,-8],[1,-9],[-36,3],[15,-8],[-11,-23],[1,-12],[7,13],[33,10],[23,-11],[12,1],[5,-20],[12,-4],[4,11],[24,0],[18,-7],[45,-7],[24,9],[30,-9],[45,-7],[48,-4],[9,-3],[35,8],[-1,-15],[14,-30],[-13,-3],[-7,-17],[13,0],[-16,-9],[12,-8],[0,-9],[-27,-3],[17,-14],[-13,-6],[9,-5],[-17,-12],[-13,18],[-18,-29],[13,-14],[34,8],[1,-21],[-15,-30],[-17,-8],[-5,-19],[-10,-7],[-6,-33],[-12,-36],[-15,-8],[25,-10],[22,10],[-3,26],[14,11],[34,3],[8,20],[20,6],[-6,7],[17,12],[14,3],[-11,7],[16,40],[17,7],[14,12],[-6,15],[22,23],[15,5],[8,-12],[28,6],[5,-7],[13,8],[-3,16],[35,18],[22,5],[7,21],[16,4],[-7,13],[9,12],[19,10],[73,24],[30,4],[13,-3],[-6,13],[29,18],[36,-4],[9,7],[18,0],[34,17],[8,-5],[14,4],[23,-4],[23,1],[19,14],[25,5],[12,-6],[34,1],[4,-10],[31,17],[11,-4],[8,-10],[13,6],[16,0],[16,6],[13,-10],[14,13],[9,0],[8,-26],[8,11],[13,3],[9,9],[27,7],[14,17],[0,7],[27,0],[8,6],[27,-9],[24,-3],[65,-22],[29,-6],[-3,-17],[12,13],[16,-19],[18,0],[29,17],[7,0],[-5,20],[13,14],[62,17],[35,-27],[-3,-15],[21,2],[16,-8],[3,-10],[-17,-16],[-31,-8],[-11,-15],[25,3],[22,10],[32,6],[13,10],[-3,-10],[19,3],[5,-6],[32,-1],[41,14],[0,-3],[-45,-17],[5,-7],[73,19],[18,14],[58,14],[13,-9],[11,6],[8,14],[14,6],[12,-14],[14,6],[-8,-12],[3,-11],[11,0],[0,-16],[28,6],[11,-7],[10,7],[6,-10],[11,13],[2,21],[16,19],[18,8],[28,-7],[30,4],[8,6],[19,-2],[13,-11],[-5,-11],[19,10],[11,0],[9,12],[4,-14],[13,7],[8,-8],[30,1],[20,-11],[35,-3],[12,-6],[28,-3],[10,-5],[20,3],[14,-13],[27,10],[12,-6],[-4,-11],[21,8],[5,-6],[-22,-38],[0,-10],[11,0],[26,23],[9,-10],[14,7],[14,-31],[13,5],[-8,-14],[8,-7],[23,3],[4,-6],[39,4],[35,-1],[10,4],[-1,-21],[16,-13],[0,14],[24,0],[17,-11],[23,7],[-5,24],[5,3],[24,-14],[2,-10],[16,-13],[14,-3],[17,-14],[19,3],[6,-10],[6,8],[17,-1],[45,-17],[14,-20],[-16,0],[28,-13],[19,-34],[-3,-13],[18,0],[2,34],[16,3],[22,-23],[21,2],[-3,7],[38,-3],[13,-6],[12,5],[13,-6],[-9,-6],[27,2],[18,-20],[10,-3],[48,-30],[2,21],[19,-31],[-5,-6],[-13,7],[-13,-34],[12,6],[-5,-17],[-39,15],[-11,-1],[16,-13],[29,-8],[-8,-19],[-20,-10],[-14,16],[-2,-13],[-32,1],[-12,5],[1,-16],[9,6],[23,-6],[-20,-4],[-5,-9],[-34,0],[9,-14],[-26,-1],[1,15],[-11,9],[-4,-20],[17,-14],[-15,0],[13,-30],[-24,1],[-20,-6],[-3,16],[-30,-30],[9,-7],[-5,-13],[-22,2],[-34,-12],[45,-1],[-4,-7],[21,-16],[-2,-16],[-18,-5],[18,-3],[4,-13],[-13,-11],[14,-5],[-14,-17],[18,0],[20,-30],[-7,-11],[27,-7],[-11,-20],[14,-7],[20,8],[12,-14],[36,-4],[-15,-13],[-12,9],[-47,-2],[-37,-7],[-14,-13],[-34,22],[20,-29],[-38,2],[-9,-8],[9,-14],[-23,-14],[27,3],[-37,-16],[52,-4],[-72,-17],[-6,-13],[61,6],[7,-8],[-35,-4],[40,-4],[-17,-13],[9,-23],[-22,5],[25,-20],[40,-9],[38,-31],[-89,-12],[59,-2],[53,8],[73,-27],[12,-14],[24,3],[-3,-20],[86,-9],[66,-23],[124,-12],[-9955,-15]],[[3456,1546],[12,-3],[-1,-9],[-17,4],[-19,-9],[3,13],[22,4]],[[3431,1556],[12,-2],[-6,-9],[-6,11]],[[3331,1581],[7,-5],[-12,-7],[-4,7],[-20,-3],[-1,6],[30,2]],[[3392,1616],[7,-6],[-33,-7],[10,13],[16,0]],[[3470,1665],[-6,-10],[-5,8],[11,2]],[[6916,2373],[5,-3],[-5,-12],[16,-14],[19,13],[7,-1],[-1,-15],[-9,1],[-11,-5],[2,-7],[13,1],[-1,-9],[-22,3],[-7,8],[-5,-13],[-8,4],[5,20],[-5,14],[1,12],[6,3]],[[9093,2685],[-7,-6],[5,12],[2,-6]],[[9020,2837],[14,-3],[13,-8],[2,-6],[17,-8],[24,13],[5,-4],[5,11],[5,-4],[4,9],[10,-13],[-1,-28],[1,-39],[-7,1],[-1,-22],[-4,-21],[3,-1],[0,-21],[-10,9],[6,10],[-14,1],[-4,-23],[-2,6],[-8,-26],[-9,6],[-14,-1],[-3,20],[-2,-6],[-4,15],[-7,9],[-6,24],[0,13],[9,-9],[-13,31],[-11,37],[-2,13],[4,15]],[[9121,2859],[-9,-6],[0,6],[9,0]],[[9109,2896],[9,-16],[1,-14],[-5,-2],[-11,22],[6,10]],[[9001,2876],[-5,-4],[-1,25],[7,3],[-1,-24]],[[8822,3134],[-1,-10],[12,1],[0,-11],[-11,1],[-5,-10],[-20,1],[-4,17],[21,11],[8,0]],[[9263,3604],[-1,-18],[-2,14],[3,4]],[[9261,3608],[-2,17],[3,2],[-1,-19]],[[8136,3714],[7,-36],[-7,19],[0,17]],[[9257,3758],[2,-20],[-10,-37],[1,32],[5,7],[-2,14],[4,4]],[[9195,3832],[5,-3],[0,-17],[-7,17],[2,3]],[[9061,4133],[3,-7],[-3,-7],[-4,13],[4,1]],[[8880,4236],[-7,-7],[0,-6],[-8,0],[1,8],[10,8],[4,-3]],[[8805,4285],[2,-15],[-4,8],[2,7]],[[8797,4395],[0,-9],[6,2],[-5,-8],[-1,-14],[6,-6],[-8,0],[-6,5],[-1,14],[9,16]],[[8621,4522],[5,-21],[-7,4],[-8,-2],[5,9],[-2,9],[6,10],[1,-9]],[[8624,4533],[6,-6],[14,10],[6,-2],[1,-21],[-14,-18],[-13,16],[-3,29],[3,-8]],[[8682,4547],[1,-13],[-4,6],[3,7]],[[8959,4566],[-1,-8],[6,-7],[3,-19],[0,-30],[10,-9],[-4,-20],[6,-4],[4,-11],[-2,-17],[5,2],[-1,-13],[3,-19],[-2,-19],[5,-20],[3,-22],[5,-2],[15,18],[4,-22],[18,-23],[-3,-12],[2,-6],[2,-37],[3,-8],[-2,-16],[6,-22],[9,-9],[-1,-11],[5,-19],[1,-16],[-3,-34],[9,-15],[-2,-17],[5,-14],[13,-15],[4,7],[2,-12],[8,0],[4,-6],[1,-14],[19,-12],[1,-10],[7,5],[3,-13],[4,1],[1,-10],[-4,-1],[-1,-10],[15,-24],[-1,-8],[8,-30],[0,-14],[3,-20],[8,-7],[5,-13],[-3,22],[4,5],[3,-9],[10,-13],[2,13],[6,-21],[-2,-15],[3,-36],[4,0],[4,-13],[5,-4],[6,-13],[6,3],[4,-6],[6,-27],[8,-7],[4,-25],[10,-6],[0,-27],[6,-16],[-2,-19],[4,-40],[-4,-3],[10,-41],[1,-17],[3,-4],[1,-40],[-7,-21],[-2,-39],[-7,-32],[0,-30],[-3,-28],[-5,-21],[-6,-11],[0,-23],[-13,-15],[-11,-20],[-6,-26],[-5,-3],[0,-26],[-9,-18],[-3,-27],[-4,-14],[2,-9],[-8,-7],[-9,-34],[0,-24],[-7,-34],[4,-21],[-2,-14],[-13,-16],[-33,-2],[-16,-10],[-10,-13],[-13,-24],[-19,-4],[3,-12],[4,7],[-2,-20],[-6,16],[-8,-3],[-4,16],[-3,-3],[-8,9],[5,8],[-2,9],[-6,0],[-1,-10],[-8,-5],[-6,8],[8,1],[3,17],[-6,10],[-15,-14],[10,-2],[-2,-8],[-6,0],[-10,-11],[-14,-22],[-32,28],[-5,-2],[-8,7],[-9,-1],[1,-6],[-8,1],[-4,13],[-14,5],[-10,11],[-3,13],[-13,23],[-3,18],[5,6],[0,13],[-9,34],[-14,26],[6,2],[3,10],[-4,3],[-21,-20],[-8,0],[-1,7],[9,12],[3,33],[-8,16],[-3,16],[-7,-13],[-1,-20],[-5,-23],[-7,4],[-15,-11],[3,23],[11,-3],[3,21],[-1,25],[4,17],[9,19],[-3,19],[6,4],[-8,34],[0,-26],[-3,2],[-6,-11],[-5,-27],[-25,-26],[-8,-24],[-4,-3],[-4,-16],[6,2],[0,-12],[-5,7],[-6,-5],[-6,18],[-1,21],[-3,17],[-11,20],[-4,27],[-12,0],[-2,13],[-4,1],[7,15],[-5,12],[-8,-5],[3,9],[-8,16],[-14,-5],[-10,14],[-7,1],[-9,-6],[-12,18],[-18,14],[-9,-7],[-18,2],[-33,-7],[-27,-23],[-20,-11],[-17,-2],[-14,5],[-18,-19],[-15,-10],[-2,-6],[-17,-8],[-4,-5],[-5,-28],[-7,-16],[-6,-7],[-4,3],[-6,-7],[-3,9],[-19,-3],[-8,-6],[0,8],[-14,3],[-20,-2],[-13,-6],[-16,-1],[-9,-16],[-2,-12],[-16,1],[-3,-11],[-7,-4],[-2,-11],[-20,-8],[-2,-5],[-12,7],[-18,-1],[-15,14],[-10,19],[-10,9],[-4,-3],[-4,15],[0,32],[6,-7],[7,3],[6,18],[-1,36],[3,8],[0,43],[-18,66],[-4,34],[1,32],[-5,22],[-7,17],[0,16],[-11,24],[-2,38],[-5,16],[-11,32],[-7,13],[5,14],[6,-26],[7,6],[0,9],[-9,14],[-4,27],[2,4],[7,-20],[-1,-17],[5,14],[2,-22],[7,-2],[0,30],[-5,13],[-6,26],[-4,4],[-3,21],[-5,16],[1,26],[4,22],[5,6],[0,24],[2,10],[-5,22],[3,7],[7,33],[4,4],[-2,-20],[1,-21],[7,4],[8,34],[23,20],[13,26],[21,22],[5,-3],[8,6],[7,-7],[12,7],[8,14],[17,3],[10,20],[12,-6],[7,6],[12,3],[16,11],[11,13],[9,25],[3,19],[4,4],[16,39],[-4,1],[-2,36],[3,14],[8,17],[6,3],[0,10],[7,12],[-1,-15],[5,-3],[0,-14],[12,-37],[-1,10],[3,13],[-2,11],[7,-10],[-3,24],[-6,5],[6,13],[-5,8],[5,2],[7,-7],[-1,9],[7,-9],[16,-1],[-10,3],[-1,9],[6,4],[1,18],[-4,-11],[-3,18],[1,9],[6,1],[3,9],[5,0],[4,-9],[1,10],[-6,3],[4,17],[11,-10],[0,9],[-8,16],[10,14],[3,-4],[7,6],[1,-11],[3,5],[4,26],[-5,5],[4,7],[3,-19],[9,16],[1,-16],[4,14],[4,0],[-3,11],[6,4],[4,-14],[9,1],[11,-28],[10,-16],[-3,-17],[0,-13],[4,-1],[-1,11],[5,14],[4,3],[12,-5],[9,-11],[-1,11],[7,-5],[3,-14],[4,1],[-3,18],[5,-1],[-6,15],[-7,11],[4,20],[7,4],[1,18],[4,9],[11,12],[-5,9],[0,14],[6,2],[0,12],[6,6],[2,11],[7,-14],[0,17],[4,-2],[-1,12],[9,5],[3,-13],[13,4],[4,-5],[9,5],[7,9],[2,24],[-7,12],[-9,-5],[-5,12],[-5,0],[7,11],[10,-1],[9,-21],[6,10],[7,-21],[14,-7],[4,6],[4,-11],[3,4],[4,-12],[6,-1],[8,7],[11,-18],[13,11],[6,2],[-4,-8],[2,-6],[5,7],[5,-5],[-2,-11],[7,-1],[3,14],[-5,3],[10,9],[4,-17],[3,7],[4,-11],[-12,-28],[4,-6],[-9,-21],[0,9],[-5,-6],[0,8],[-7,-9],[0,-26],[4,3],[-4,-29],[-3,-3],[-7,-24],[-4,-4],[2,-13],[22,-27],[0,-8],[10,-11],[4,-9],[7,1],[10,-14],[10,-7],[9,-21],[7,-8],[20,-9],[4,-7],[1,-15],[22,-24],[14,4],[10,13],[3,24],[7,18],[3,26],[3,9],[-2,9],[3,25],[5,20],[-4,40],[3,16],[-4,13],[1,21],[5,21],[-2,18],[6,14],[-2,11],[-5,-4],[6,28],[6,1],[-2,8],[6,41],[0,14],[5,2],[6,11]],[[5470,7982],[-2,-9],[5,-23],[3,-3]],[[5476,7947],[-3,-17],[-12,3],[-6,-6],[7,-3],[-5,-12],[-1,-22],[-9,-9]],[[5447,7881],[-19,-12],[-16,-2],[-9,-14],[-23,9]],[[5380,7862],[-32,7],[-12,17],[2,7],[-12,-5],[-17,-1],[-4,-11],[-15,6]],[[5290,7882],[-2,7],[-6,-8],[-16,12]],[[5266,7893],[-2,12]],[[5264,7905],[1,14]],[[5265,7919],[4,2]],[[5269,7921],[7,0],[8,-16],[6,15],[12,-1],[2,-7],[9,1],[9,10],[32,4],[6,-11],[3,9],[-5,5],[1,13],[-6,9],[4,7],[12,5],[4,16],[7,-3],[3,13]],[[5383,7990],[7,-9],[18,0],[7,11],[0,12],[11,-1],[20,-13],[10,3],[13,-6],[1,-5]],[[6281,7420],[-19,8],[-9,14],[-9,24]],[[6244,7466],[-1,3]],[[6289,7594],[9,-6],[11,-12],[5,-17],[16,-3],[5,15],[9,6],[5,16]],[[6349,7593],[15,-31],[1,-11],[10,-28],[15,-3],[8,-10],[-11,-3],[-13,-11],[0,-11],[-6,-28],[4,-11],[-5,0],[-1,-17],[-7,10],[-2,-43]],[[6357,7396],[-7,-2],[-6,12],[-11,12],[1,8],[7,2],[-5,18],[6,7],[-10,16],[-4,-1],[-26,-29],[-11,-17]],[[6249,7560],[8,10],[13,-8],[8,-9],[6,1],[6,-8],[4,3],[1,15],[-10,9],[-3,13],[7,8]],[[5848,5045],[-4,-15],[2,-14],[9,-5],[0,-17],[-9,-13],[-9,-34],[-11,-21],[-3,1]],[[5823,4927],[-9,39],[1,21],[-4,4]],[[5811,4991],[0,18],[-4,5],[-2,12]],[[5805,5026],[4,7],[5,-4],[0,-9],[11,1],[5,7],[1,21],[6,-6],[7,7],[4,-5]],[[5166,8104],[10,-14],[1,-10],[-8,-11]],[[5169,8069],[-7,-3],[-4,-16],[2,-14]],[[5160,8036],[-9,-3],[-4,10],[-13,7],[-1,21],[-9,-13],[-10,3],[2,15],[-5,5],[-10,0],[0,6],[-11,5],[-4,15],[-7,-6],[-7,8],[-2,15]],[[5070,8124],[16,14],[7,3]],[[5093,8141],[0,-6],[16,-3],[8,9]],[[5117,8141],[1,0]],[[5118,8141],[3,3],[16,-1],[7,-8],[9,0],[9,-11],[-6,-13],[10,-7]],[[5099,5856],[-3,-17],[7,-16],[0,-19],[3,-5],[-1,-16],[-5,0],[1,-14],[-3,-18],[-6,-3],[0,-9],[-5,-12],[-2,-20],[-8,-4],[-2,-15],[0,-41],[-1,-12],[2,-25],[1,-42],[-2,-18]],[[5075,5550],[-31,-9]],[[5044,5541],[5,3],[-5,18],[1,24],[0,73],[-1,5],[0,43],[-6,13],[-1,37],[-16,23],[0,19],[4,17]],[[5025,5816],[5,3],[1,13],[4,-1],[3,11],[6,-3],[11,2],[8,13],[3,14]],[[5066,5868],[-1,19],[14,10],[10,-21],[2,-8],[6,-4],[2,-8]],[[5006,6041],[-2,-21],[6,-16],[-1,-9],[7,-24],[5,0],[7,-13],[7,-7],[-9,-1],[0,-15],[6,-6],[11,-19],[8,-1],[3,7],[5,-3],[3,-15],[-6,-4],[10,-26]],[[5025,5816],[-12,0],[-18,8]],[[4995,5824],[-8,-3],[-5,-10],[-2,5],[-59,0],[-3,-22],[3,-11],[2,-25],[0,-24],[2,-5]],[[4925,5729],[-4,-4],[-10,24],[-6,5],[-10,1],[-11,-7],[-4,-11],[-11,3],[-4,12],[-3,-1],[-4,24],[-9,1],[-3,7]],[[4846,5783],[3,24],[-2,14],[6,9],[1,19],[-4,14],[8,10],[9,1],[10,18],[-1,24],[6,0],[0,14],[-3,11],[10,13],[15,-13],[5,7],[0,25],[6,-5],[5,21],[11,16],[12,-6],[1,16],[8,3],[11,13],[8,5],[8,15],[8,-4],[8,2],[11,-8]],[[7529,6456],[0,16],[3,-11],[-3,-5]],[[7521,6458],[-5,-7],[2,29],[-4,4],[3,11],[6,-20],[-2,-17]],[[7571,6448],[0,-29],[2,-10],[-12,7],[1,-20]],[[7562,6396],[1,-15],[-7,20],[-1,27],[-3,9],[-2,29],[-11,31],[-5,-14],[-9,0],[-8,26],[1,14],[-4,6],[-9,4],[11,-11],[-4,-10],[2,-12],[-3,-8],[5,-13],[-2,-18],[-6,-9],[-1,-11],[-7,1],[1,7],[-5,6],[-2,-15],[-12,-7],[0,14],[-4,-18],[-4,10],[-1,18]],[[7473,6457],[-6,48],[2,14],[-7,2],[3,13],[-6,8],[0,11],[5,8],[0,22],[-7,0],[-11,12],[-2,7],[4,12],[5,1],[3,18],[13,-1],[-3,18],[-8,1],[-3,11],[-9,14],[2,12],[5,4],[4,14],[5,-9],[11,-3],[7,-14],[7,-2],[2,15],[6,-18],[-2,-4],[1,-32],[15,-8],[23,2],[7,-3],[18,3],[11,-14],[-6,-2],[-5,-31],[-5,-2],[0,-9],[-8,2],[0,-6],[-7,0],[-7,-21],[2,-14],[9,-30],[7,5],[0,15],[5,8],[-1,11],[5,4],[8,-22],[0,-25],[3,-12],[3,-42]],[[5793,7702],[0,-17],[-11,-3],[-6,-14],[-2,-26],[-4,1],[-8,-16],[5,1],[11,-28]],[[5778,7600],[-13,-4],[-6,9],[-21,-5],[-7,-15]],[[5731,7585],[-8,0],[2,-21],[-25,-7],[-9,10],[-8,1],[-2,6],[-14,0],[-8,-7],[-13,0],[-10,-4]],[[5636,7563],[3,22],[-5,18],[-9,5],[-5,11]],[[5620,7619],[5,6],[-3,23],[9,5],[7,17],[-13,15],[-4,15],[1,17],[8,13]],[[5630,7730],[9,-8],[-4,-15],[17,3],[18,-8],[10,3],[21,-5],[4,-4],[11,5],[9,16],[25,10],[10,-10],[15,-2],[8,-13],[10,0]],[[6402,6694],[3,0],[0,-24],[-4,8],[1,16]],[[2971,6401],[-3,-10],[-15,-3],[-1,6],[9,10],[4,-4],[6,12],[0,-11]],[[2969,6475],[8,-3],[-7,-3],[-1,6]],[[2948,6491],[0,-14],[-5,9],[5,5]],[[2889,6546],[9,-13],[-10,9],[1,4]],[[2908,6546],[6,-21],[0,-8],[7,-10],[0,-8],[-7,15],[-1,14],[-5,18]],[[2840,6572],[6,0],[0,-20],[-8,5],[-3,13],[5,2]],[[2908,6577],[-3,0],[-4,16],[7,-16]],[[2830,6632],[3,0],[8,-40],[-8,-11],[-10,14],[7,37]],[[2869,6655],[0,-4],[16,-20],[-1,-29],[-2,7],[3,17],[-6,14],[-11,8],[1,7]],[[2819,6722],[15,-4],[-21,-5],[6,9]],[[2839,6733],[5,0],[16,-25],[0,-11],[-4,-3],[0,-19],[-6,5],[4,8],[0,18],[-8,23],[-7,4]],[[5528,7765],[9,0],[-7,-29],[14,-17],[-10,-5],[7,-13],[-1,-8],[-7,-3]],[[5533,7690],[-8,-3],[0,-8],[-7,-6],[-1,-13],[-4,0],[-1,-26]],[[5512,7634],[-22,19]],[[5490,7653],[-2,3]],[[5488,7656],[0,8],[-35,57],[-8,32],[-7,3],[0,29],[6,2],[10,-12],[3,10],[9,-1],[4,7],[4,-7],[22,-6],[4,4],[19,-3],[2,-11],[7,-3]],[[5781,8416],[4,-6],[9,3],[3,-8],[9,4],[11,-6],[1,-13],[12,9],[16,-3],[11,-11],[-2,-19],[6,-15],[-7,-13],[11,-10],[-3,-7],[7,-14],[15,-15],[-3,-11],[10,1],[11,-9],[6,-11],[-15,-22],[-22,5],[-4,-9],[8,-10],[2,-30],[5,-13]],[[5882,8183],[-23,-2],[-12,-29],[3,-14],[-7,-1],[-6,11],[-15,-1],[-9,-6],[-5,14],[-13,-11],[-11,13],[-16,-10],[1,7],[-13,0],[-1,7],[-21,5],[-10,6],[-28,2],[-19,-4],[-11,-18],[-11,3],[0,-5]],[[5655,8150],[0,34],[-12,10],[6,13],[15,11],[0,18],[-7,25],[-5,28]],[[5652,8289],[20,1],[5,-4],[12,5],[-1,7],[19,11],[1,-8],[8,6],[-7,3],[9,37],[8,1],[3,10],[9,-1],[6,10],[-8,1],[2,20]],[[5738,8388],[11,10],[17,-2],[8,17],[7,3]],[[2547,6247],[-3,-6],[9,0],[-1,-18],[-5,-28],[4,-4],[-4,-10],[2,-16],[-2,-24],[-7,-21],[-5,-2],[-5,-20]],[[2530,6098],[-9,0],[2,51],[0,60]],[[2523,6209],[4,10],[4,-6],[9,26],[0,6],[7,2]],[[3084,4249],[-4,-1]],[[3080,4248],[4,1]],[[3384,4022],[-1,21],[-24,29],[-24,0],[-51,-22],[-4,-23],[-10,-28],[0,-29],[-8,-54],[-3,-14]],[[3133,3869],[-10,-5],[-9,4],[1,16],[-3,11],[0,16],[-4,7],[-3,23],[0,15],[-6,20],[-4,2],[2,18],[-6,6],[1,10],[-3,14],[6,2],[1,8],[-5,11],[7,16],[-13,23],[-3,34],[-3,18],[2,6],[-7,5],[0,8],[-5,18]],[[3069,4175],[-4,17],[7,8],[10,30]],[[3082,4230],[5,-3],[-1,11],[8,5],[0,6],[-7,0],[-1,9],[4,4],[-7,3],[0,7],[-10,17]],[[3073,4289],[6,16],[-7,15],[6,28],[5,6],[3,20],[-6,22],[4,8],[-1,36],[7,11],[2,12],[-16,55],[-9,34]],[[3067,4552],[23,-3],[-1,-8],[10,6],[9,20],[11,3],[11,19],[7,3],[11,20],[19,8],[7,1],[4,-5],[5,9],[3,-32],[-4,-13],[3,-21],[-2,-18],[2,-19],[3,-2],[1,-14],[4,-2],[1,-12],[5,-1],[4,-10],[6,-4],[1,-11],[13,-4],[4,4],[10,-7],[4,-8],[5,4],[9,-20],[4,1],[8,-10],[7,0],[0,-6],[8,-17],[22,4],[18,-27],[-2,-20],[5,-18],[1,-28],[-9,-1],[9,-20],[3,-47],[47,-4],[3,3],[0,-13],[-4,-8],[2,-34],[11,-15],[6,-1],[0,-8],[6,-27],[0,-10],[-6,-46],[-9,-38],[7,-13],[-8,-10]],[[3651,3581],[1,22],[3,0],[-4,-22]],[[3650,3661],[-4,8],[6,7],[-2,-15]],[[3919,4412],[0,-16],[-4,16],[4,0]],[[3660,5124],[-3,3],[4,9],[-1,-12]],[[3588,5149],[0,-7],[-8,-7],[1,9],[7,5]],[[3577,5151],[2,-5],[-4,-19],[-3,-11],[-15,-19],[0,13],[7,10],[0,14],[2,11],[8,8],[3,-2]],[[3573,5156],[5,19],[0,-10],[-5,-9]],[[3608,5175],[11,-6],[9,5],[27,-7],[-2,-14],[-1,-20],[-4,-14],[-5,-5],[0,-14],[-7,-5],[-3,7],[0,-11],[-9,1],[-6,-12],[-14,3],[-4,-6],[-5,2],[-7,28],[1,13],[6,-5],[1,8],[-7,-1],[0,23],[2,17],[4,10],[5,5],[8,-2]],[[3586,5165],[-4,4],[1,13],[7,3],[2,-9],[-6,-11]],[[3625,5187],[3,-5],[-2,-7],[-11,2],[10,10]],[[3599,5183],[-5,0],[-2,9],[6,-1],[1,-8]],[[3624,5200],[-6,-5],[-3,-12],[-14,0],[-1,12],[8,1],[15,9],[1,-5]],[[3600,5213],[1,-14],[-2,-7],[0,23],[1,-2]],[[3609,5216],[-6,-13],[1,14],[5,-1]],[[3608,5236],[0,-10],[-5,0],[5,10]],[[3600,5305],[1,-11],[-5,4],[4,7]],[[3431,5295],[13,-7],[2,14],[-6,10],[5,17],[6,-8],[11,2],[0,4],[10,2],[8,-5],[3,-7]],[[3483,5317],[3,-7],[8,-3],[7,3],[6,9],[5,-7],[6,5],[9,-9],[9,11],[8,31],[1,14],[4,7],[15,44]],[[3564,5415],[5,24],[8,-16],[1,-21],[3,4],[-1,-29],[3,-31],[7,-22],[1,-18],[6,-18],[13,-4],[4,-8],[0,-19],[-7,-4],[7,-3],[-11,-17],[-5,-12],[-4,-17],[-5,-11],[-5,-1],[-9,-17],[-4,-19],[-8,-19],[0,-14],[-7,-8],[-1,-13],[-6,4],[-14,-13],[13,2],[0,-10],[9,7],[7,10],[11,11],[13,17],[-5,-12],[5,-5],[0,-14],[4,-9],[0,-11],[7,-14],[4,9],[6,4],[5,-7],[12,10],[1,-7],[-5,-41],[2,-2],[8,40],[7,18],[2,-8],[8,21],[3,-12],[1,19],[4,-2],[4,16],[1,15],[5,0],[5,12],[2,-11],[4,10],[11,-7],[19,-9],[0,-10],[7,-6],[8,5],[1,-7],[10,-9],[1,-8],[6,9],[-2,-11],[1,-13],[3,11],[5,4],[10,-14],[-3,-5],[6,-1],[3,-8],[-5,-16],[5,5],[3,-14],[-4,0],[-5,-36],[2,-9],[6,14],[1,23],[8,8],[1,-9],[-7,-12],[7,-2],[2,14],[9,4],[6,-4],[-1,12],[4,0],[18,-13],[6,-11],[15,-5],[3,6],[5,-9],[29,4],[3,2],[14,-3],[25,-31],[3,-1],[8,-15],[5,-2],[11,-27],[14,-26],[9,-6],[4,-12],[6,-1],[6,-8],[16,-1],[5,3],[13,-6],[4,-13],[9,-57],[1,-24],[5,-21],[-1,-53],[-7,-40],[-7,-25],[-10,-27],[-3,5],[-2,-16],[-12,-24],[-3,-13],[-10,-10],[-5,-9],[-11,-37],[-15,-52],[-13,-34],[-5,0],[0,14],[-4,9],[-4,-16],[0,-17],[-4,-7],[0,-27],[-2,-5],[2,-28],[-3,-20],[2,-9],[0,-24],[2,-28],[2,-6],[-4,-25],[-6,-53],[1,-31],[-2,-9],[-7,-8],[-7,-30],[2,-51],[-3,-13],[-6,-6],[-9,-44],[-13,-31],[-8,-25],[4,-27],[-5,-10],[-12,-7],[-13,-20],[0,-21],[-17,1],[-11,-3],[0,18],[-7,-5],[2,-13],[-22,-7],[10,7],[-9,3],[-8,-7],[-2,7],[-9,-7],[1,-17],[-10,-3],[-2,-6],[-10,-7],[-1,-11],[-12,4],[-8,-7],[-1,-7],[-11,-6],[-11,-13],[-5,-12],[-10,-9],[-10,-15],[-1,-15],[-8,-7],[-6,4],[1,-17],[-4,-17],[-1,-19],[-5,-6],[4,-6],[-3,-16],[3,-6],[2,-32],[-2,-52],[-4,-17],[-17,-23],[-5,-12],[-14,-39],[-8,-37],[-10,-34],[-12,-25],[-22,-27],[-3,-9],[0,17],[5,-4],[11,20],[5,3],[4,11],[-1,12],[5,1],[0,10],[9,9],[-1,22],[4,-6],[1,12],[-12,-4],[-9,8],[3,-7],[-6,-21],[-1,-24],[-6,-10],[-9,-4],[-3,-21],[-4,-3],[-1,-14],[5,-10],[-5,-7],[-6,-30],[-7,-26],[-18,-28]],[[3517,3240],[-4,10]],[[3513,3250],[2,1],[1,23],[5,4],[2,13],[5,6],[5,-10],[6,18],[-4,16],[-12,-19]],[[3523,3302],[-11,11],[-5,23],[-15,14],[-9,21],[-8,3],[-4,8],[-7,3],[-2,10],[-8,11],[-6,-13],[-4,0],[0,16],[-23,40],[-7,0],[-2,-8],[-11,-2],[-2,6]],[[3483,3710],[0,8]],[[3483,3718],[5,3],[0,26],[4,16],[0,34]],[[3492,3797],[-9,15],[-10,-10],[-13,1],[-3,21],[1,11],[-4,23],[1,21],[-7,19],[-9,1],[-6,12],[-12,-10],[-31,8],[0,36],[3,16],[-9,61]],[[3067,4552],[-11,2],[-7,-8],[-12,3],[0,41],[1,29],[2,20],[-10,-14],[-2,-7],[-9,-11],[-25,0],[-3,27],[-14,7],[-11,0],[7,16],[0,8],[-6,17],[-4,2],[-1,11],[-5,6],[-2,15],[-5,9],[2,9],[-8,14],[1,11],[7,2],[-3,13],[2,13],[11,17],[5,3],[1,12],[-3,14],[8,24],[1,30],[14,14],[14,21],[17,5],[10,6],[5,11],[9,1],[3,-6],[10,-5],[0,5]],[[3056,4939],[6,58],[0,9],[5,46],[0,10],[5,54],[-4,13],[-2,24],[-13,21],[1,42],[12,4],[3,5],[10,-6],[-2,21],[-4,4],[-14,0],[0,37],[8,4],[5,-3],[34,0],[-1,16],[7,-15],[5,4],[9,19],[4,-5],[7,-29],[-1,-21],[6,2]],[[3142,5253],[11,-21],[10,-7],[10,14],[6,-1],[-1,-17],[11,17],[1,10],[11,6],[10,16],[0,-8],[9,16],[0,14],[19,16],[1,14],[-20,4],[2,15],[-6,20],[0,30],[-13,22],[-4,12],[2,5],[4,-10],[12,0],[4,-14],[10,4],[4,-5],[4,7],[4,-5],[7,-18],[7,5],[-1,20],[6,1],[4,9],[7,-6],[18,12],[0,6],[16,10],[10,22],[-2,13],[-3,1]],[[3312,5482],[11,0],[3,4],[8,-12],[-3,-33],[6,0],[5,-8],[-2,-8],[4,-14],[0,-10],[-7,-12],[1,-13],[-4,-17],[-1,-22],[2,-17],[5,-5],[0,-26],[6,-8],[8,-19],[8,-4],[4,-7],[8,5],[0,10],[5,9],[9,-5],[6,11],[7,0],[3,11],[9,7],[9,-8],[9,4]],[[3347,5935],[-4,3],[0,13],[6,-10],[-2,-6]],[[8198,5465],[5,-34],[-7,5],[-2,24]],[[8194,5460],[4,5]],[[8166,5448],[6,-1],[7,5],[7,12],[9,10],[-2,-10]],[[8193,5464],[-7,-9],[2,-17],[0,-14],[-7,-10],[-7,23],[-8,11]],[[7545,6781],[-2,-8],[5,-11],[6,3],[3,-10],[-3,-11],[3,-13],[-5,-4],[-33,-3],[-10,8],[-6,-9],[-11,-3],[-12,9],[-6,-2],[-7,7],[-3,12],[4,10]],[[7468,6756],[3,13],[13,29],[11,14],[12,3],[0,-5],[9,-1],[-4,-10],[18,-5],[5,6],[10,-8],[0,-11]],[[5701,4158],[-1,-8],[8,-27],[7,-13],[6,-21],[4,-29],[8,-13],[14,-17],[7,-3],[3,-9],[0,-15],[12,-1],[-1,-34],[6,-12],[3,-15],[18,-5],[12,-10],[1,-14],[7,-7]],[[5815,3905],[-9,-3],[-3,-13],[-8,-7],[-12,-4],[-12,-27],[-5,-6],[-2,-10],[-11,-7],[-4,-13],[-5,-31],[-8,-10],[-3,-10],[-15,-6],[0,-10],[-8,-41],[-5,-7],[-10,1],[-4,-5],[-17,5],[-10,6],[-13,20],[-7,1],[-7,-5],[-6,-23],[0,-14],[-6,-13],[-8,-7],[-6,-18],[-7,-2],[-2,-10],[-15,0],[-15,4],[0,21],[5,11],[0,19],[-4,13],[-1,14],[-10,29],[-8,10]],[[5554,3757],[0,159],[28,0],[0,212],[23,4],[21,9],[21,5],[9,-27],[15,26],[7,4],[4,-6],[7,13],[12,2]],[[5634,5812],[4,-14],[8,-14],[10,-31],[1,-16],[-1,-21],[-5,-6],[3,-9],[-2,-17],[19,-1]],[[5671,5683],[2,-7],[-4,-11],[3,-6],[16,-5],[8,-17],[5,-3],[1,-11],[-4,-4],[6,-14],[18,-19],[2,-10],[8,-10],[-2,-16],[8,-21],[6,-2],[13,-23],[-1,-15],[6,-14]],[[5762,5475],[-12,7],[-4,-8],[-10,-1],[-12,12],[-6,-3],[-11,9],[-4,-5],[0,-13],[-18,-7],[-5,11],[-6,-10],[-27,-19],[-12,12],[-9,-34],[-3,-5],[-23,9],[-2,-3],[-20,12],[-7,-2],[-6,20],[-13,14],[-3,7],[-10,1],[-17,-34],[-1,-7],[-6,-3],[2,-12],[-1,-27],[1,-13]],[[5517,5383],[-4,9],[-11,-4],[-16,7],[-8,-6],[-15,-2],[-4,-7],[-3,-27],[1,-7],[-8,-34]],[[5449,5312],[-2,8],[0,26],[-4,13],[-5,3],[-15,32],[-6,21],[4,1],[-3,14],[-10,19],[-1,31],[-4,6],[2,8],[1,27],[-7,10],[10,13],[5,24],[3,4],[6,30],[6,14]],[[5429,5616],[9,-4],[7,8],[10,5],[4,11],[2,-12],[5,-7],[23,26],[7,-2],[5,4],[15,1],[15,36],[-6,7],[0,8],[5,5],[17,0],[10,7],[9,-1],[4,12],[8,5],[5,19],[13,24],[5,4],[3,10],[-1,14],[8,5],[0,5],[14,9],[9,-3]],[[2957,7804],[-12,-5],[13,16],[-1,-11]],[[2699,7829],[2,-7],[13,9],[3,-9],[5,9],[9,-4],[2,-11],[-7,-12],[-23,15],[-15,6],[11,4]],[[2665,7849],[6,-2],[-2,-11],[-4,13]],[[3319,7889],[6,-10],[-2,-13],[-7,-22],[5,3],[-19,-34],[10,5],[9,11],[-10,0],[12,21],[4,-8],[11,0],[-7,-23],[-16,-12],[-6,3],[-13,-5],[-5,21],[1,13],[6,7],[10,30],[7,14],[4,-1]],[[3221,7879],[6,-21],[3,6],[12,-8],[33,3],[3,-3],[-17,-10],[4,-13],[-11,-3],[-2,12],[-19,2],[-4,11],[-11,0],[2,14],[-9,-1],[4,16],[7,9],[-1,-14]],[[3503,7956],[10,3],[-1,-7],[-9,4]],[[2562,7993],[-9,-6],[0,8],[9,-2]],[[2924,7774],[20,14],[8,11],[6,0],[2,17],[7,17],[14,11],[5,9],[17,17],[5,-2],[32,22],[14,22],[0,4],[14,20],[0,5],[16,23],[21,20],[44,28],[28,8],[18,-3],[10,-5],[11,-14],[1,-8],[-11,8],[11,-15],[-4,-13],[-11,-4],[-1,-6],[-18,-13],[-16,11],[-3,-5],[-11,0],[18,-11],[9,-15],[8,9],[12,0],[3,-6],[-7,-14],[-1,-10],[-11,-13],[16,0],[-3,-15],[11,-32],[20,-8],[-8,-6],[7,-7],[10,0],[4,-9],[5,5],[24,-6],[10,10],[5,-15],[7,3],[7,-12],[-7,-5],[14,-3],[-1,-4],[-18,-7],[0,-3],[-32,-21],[-9,4],[-4,-9],[-8,1],[1,-9],[-11,0],[1,10],[-9,-5],[-4,-8],[2,-10],[-6,-5],[-8,-19],[-9,-10],[-6,1],[-9,-11],[-5,14],[-9,5],[-1,14],[7,29],[21,24],[22,18],[1,-13],[7,8],[20,9],[-34,2],[-5,-6],[-4,6],[13,15],[-3,9],[-5,-12],[-16,-9],[-17,-16],[-4,4],[-10,-10],[-12,-1],[-8,6]],[[3134,7784],[-9,6],[1,19]],[[3126,7809],[-10,9]],[[3116,7818],[1,1],[-1,74],[-14,17],[-16,-11],[-9,17],[-19,-37],[-4,-23],[-7,-12],[1,-17],[-12,-20],[1,-11],[-18,-5],[-6,-16],[-89,-1]],[[1546,8044],[6,-11],[-14,13],[8,-2]],[[1479,8054],[4,-13],[-7,0],[-4,9],[7,4]],[[3218,8058],[33,-11],[15,-14],[11,-6],[10,-14],[-16,-6],[-24,11],[-14,9],[-2,9],[-22,16],[9,6]],[[1494,8104],[-11,-4],[6,9],[5,-5]],[[1448,8112],[20,-17],[22,-5],[26,-13],[5,-19],[9,-12],[4,-16],[22,-13],[10,-22],[8,-25],[-6,-6],[-11,3],[-22,14],[-14,12],[9,11],[-18,-4],[-9,9],[4,11],[-8,0],[-1,10],[-14,-3],[0,11],[7,3],[-8,5],[-1,10],[-15,-2],[-33,43],[-2,7],[16,8]],[[3447,8155],[6,-8],[7,7],[-5,-17],[-12,4],[2,-12],[7,-5],[-28,-60],[-3,-27],[6,13],[13,21],[12,-13],[7,0],[-17,-14],[11,-17],[15,9],[-2,-16],[12,1],[8,14],[9,-8],[5,3],[15,-10],[-4,-13],[-17,-15],[10,3],[-3,-15],[12,-7],[3,10],[4,-6],[7,9],[-5,-19],[-11,-9],[-7,0],[6,-14],[-6,-9],[8,-15],[2,13],[6,14],[12,6],[-9,-18],[-1,-22],[8,8],[3,14],[5,-19],[-5,-10],[-2,-19],[-5,-17],[-6,3],[-10,-3],[4,26],[-2,5],[-14,-23],[-4,1],[8,31],[1,14],[-5,15],[-18,-29],[-10,-9],[0,-8],[-8,-11],[-9,-1],[-9,5],[3,7],[11,3],[15,28],[-11,3],[-6,-12],[-10,12],[-28,-4],[-25,3],[-6,4],[-18,-6],[-15,-2],[-4,17],[27,37],[-9,3],[-14,-6],[8,9],[6,-3],[9,33],[10,-9],[-2,9],[8,4],[-11,4],[25,78],[8,11],[8,28],[24,18]],[[1448,8147],[-7,0],[2,14],[5,-14]],[[1445,8181],[-2,-17],[-4,14],[6,3]],[[2798,8181],[-3,-7],[-8,3],[11,4]],[[1462,8192],[-15,-17],[2,14],[17,12],[-4,-9]],[[1430,8212],[1,-9],[-8,2],[7,7]],[[2738,8248],[8,-1],[10,-15],[3,-12],[-10,1],[-29,15],[6,10],[12,2]],[[1339,8249],[4,-12],[-6,-9],[6,-21],[17,-18],[-5,-5],[-20,26],[-16,32],[20,7]],[[1427,8244],[3,-10],[-2,-21],[-14,7],[-3,12],[2,20],[14,-8]],[[1419,8255],[-7,1],[4,10],[3,-11]],[[1382,8268],[9,-8],[5,-15],[-7,0],[-15,26],[8,-3]],[[1386,8270],[-9,4],[2,6],[7,-10]],[[1395,8273],[11,-17],[-5,-9],[-21,36],[3,5],[12,-15]],[[1380,8293],[-2,-10],[-7,7],[9,3]],[[1305,8302],[20,-3],[5,-14],[-15,-10],[13,-2],[2,21],[12,6],[-8,-28],[0,-22],[-13,-7],[-9,10],[7,6],[-11,3],[-7,25],[4,15]],[[2815,8428],[-1,-10],[-7,-3],[4,17],[4,-4]],[[2787,8429],[-11,-11],[1,8],[10,3]],[[2801,8446],[-3,-6],[9,-8],[-12,-27],[-8,-3],[2,12],[-9,-16],[-3,4],[14,23],[3,-5],[3,26],[4,0]],[[3293,8462],[1,-19],[-7,7],[6,12]],[[3204,8666],[5,-10],[-11,7],[6,3]],[[3109,8672],[7,-7],[-4,-10],[-10,-6],[-3,7],[5,16],[5,0]],[[3200,8731],[-2,-16],[-16,19],[18,-3]],[[2793,8775],[5,-7],[-8,-30],[-8,-9],[-10,11],[-2,14],[12,23],[11,-2]],[[3203,8784],[8,0],[-6,-10],[-9,3],[7,7]],[[3033,8802],[15,-11],[0,-7],[-13,1],[-7,15],[5,2]],[[2719,8809],[7,-3],[-2,-12],[-27,-27],[-23,-5],[-6,18],[18,27],[8,-5],[9,6],[16,1]],[[2822,8839],[21,-4],[4,-9],[-13,-10],[-16,17],[4,6]],[[3216,8833],[-8,14],[5,2],[3,-16]],[[2857,8849],[12,-6],[0,-11],[-20,14],[8,3]],[[3204,8862],[4,-12],[-12,8],[8,4]],[[3186,8910],[2,-6],[-13,-6],[11,12]],[[2625,8972],[12,-9],[-7,-5],[11,-20],[9,16],[14,-17],[20,-4],[4,-10],[19,-12],[5,2],[16,-14],[5,-23],[19,-8],[-1,8],[22,-21],[-8,-2],[-19,-16],[-26,14],[-12,-1],[-1,17],[-15,-1],[2,13],[-19,-10],[2,-14],[-19,-8],[-9,-19],[-25,-10],[-5,33],[-27,-2],[-14,-5],[8,20],[20,13],[-6,24],[6,15],[0,28],[5,23],[13,12],[1,-7]],[[2638,8984],[9,-10],[0,-16],[-12,13],[3,13]],[[2657,8990],[18,-11],[-3,-6],[15,-10],[-15,2],[-15,25]],[[2936,9103],[24,-5],[1,-12],[-28,0],[-10,16],[13,1]],[[2601,9095],[-7,-12],[-8,5],[-3,16],[9,13],[7,-6],[2,-16]],[[2900,9117],[16,-9],[-4,-11],[3,-24],[-9,-11],[-14,-6],[-31,-1],[-7,12],[0,22],[15,25],[31,3]],[[2096,9122],[-15,8],[14,1],[1,-9]],[[2919,9131],[3,-14],[-16,10],[2,12],[11,-8]],[[2173,9144],[-3,-12],[-12,5],[15,7]],[[2218,9152],[-13,-10],[2,17],[11,-7]],[[2820,9179],[-10,-28],[-16,-3],[26,31]],[[2860,9180],[10,-6],[-13,-11],[-6,16],[9,1]],[[2315,9189],[14,0],[-4,-11],[-10,11]],[[2342,9191],[8,-12],[-14,-3],[6,15]],[[3114,9197],[-2,-10],[-10,3],[12,7]],[[2834,9196],[-16,-12],[-9,1],[20,15],[5,-4]],[[2787,9204],[9,-8],[-21,-3],[4,-8],[-24,10],[16,8],[16,1]],[[2294,9191],[5,5],[10,-12],[22,-14],[6,-20],[18,-3],[-17,-6],[-13,-15],[-33,4],[-9,7],[-25,7],[-3,8],[-11,-6],[-11,11],[33,17],[-4,16],[12,-9],[-6,16],[10,11],[18,-11],[-2,-6]],[[3004,9275],[14,-3],[-20,-12],[-5,8],[11,7]],[[2924,7774],[-11,-4],[-19,-25]],[[2894,7745],[-6,-7],[-19,-10],[-11,-18],[-17,9],[-5,-3],[-30,-8],[-17,-15],[-5,-17],[13,-6],[7,4]],[[2804,7674],[-1,-9]],[[2803,7665],[5,-11],[-36,-7],[-9,-13],[-11,6],[-12,-1],[-32,-36],[-12,-2],[-5,4],[0,12],[5,4],[13,-1],[1,10],[-6,4]],[[2704,7634],[5,9],[1,17]],[[2710,7660],[8,4],[12,20],[-1,38],[4,14],[9,16],[0,12],[-12,25],[11,0],[1,-14],[14,-17],[18,-14],[0,17],[4,6],[6,-5],[-9,17],[2,14],[-10,3],[-10,32],[-12,0],[-10,8],[-39,6],[-3,0],[-30,10]],[[2663,7852],[0,10],[-10,-4]],[[2653,7858],[-3,4],[4,24],[-8,1],[3,23],[-11,14],[5,20],[-25,0],[-8,9],[-12,39],[-22,-2],[-24,14],[-2,-22],[-7,-2],[3,15],[-6,-2],[-5,-26],[-5,-3],[3,16],[-10,-5],[-5,-22],[-7,-6]],[[2511,7947],[-9,-1],[-4,7],[-20,0],[-2,7],[-16,-11],[-8,4],[-10,14],[-8,-7],[-3,12],[-14,11],[-22,-6],[-3,7],[-17,3],[-6,5],[-4,31],[-9,3],[0,-22],[-79,0],[-80,0],[-55,0],[-79,0],[-79,0],[-49,0],[-49,0],[-80,0],[-61,0],[-74,0],[-81,0]],[[1590,8004],[-8,0]],[[1582,8004],[-1,0]],[[1581,8004],[-7,20],[2,14],[-8,-11],[-12,8],[-1,15],[-14,0],[-6,8],[3,18],[-3,5],[-9,0],[-20,12],[-13,-2],[6,17],[-14,1],[-10,6],[-4,-6],[-14,11],[-8,12],[9,23],[13,3],[-9,3],[-10,-15],[-4,12],[0,14],[19,25],[0,13],[-12,-16],[-7,-5],[-8,17],[-4,-12],[4,26],[-10,9],[-10,34],[10,-5],[-8,12],[5,21],[-17,-20],[-3,-14],[-21,32],[-4,26],[-6,-3],[1,17],[7,4],[10,33],[-5,0],[-4,28],[2,8]],[[1387,8402],[0,0]],[[1387,8402],[-1,12],[-9,1],[-9,13],[-10,3],[-14,11],[-7,0],[0,11],[-7,4],[2,10],[-29,56],[-20,40],[-12,8],[-4,12],[-21,22],[3,8],[-13,13],[-25,-11],[-2,-20],[-27,-20],[-5,17],[-43,50],[3,16],[-17,-1],[-9,-8],[-12,6],[-16,1],[0,538]],[[1083,9194],[29,-2],[23,-6],[15,-16],[50,-21],[26,2],[-3,18],[20,5],[-1,8],[29,8],[12,-5],[-9,-9],[24,4],[10,14],[16,0],[45,28],[22,-4],[5,11],[9,-11],[-45,-25],[-27,-6],[-3,-10],[-18,-6],[-4,-15],[-9,3],[-4,-11],[24,-3],[-11,15],[29,13],[15,12],[12,-9],[14,21],[35,9],[0,-10],[23,16],[-2,9],[22,7],[-13,3],[0,17],[23,-16],[14,-32],[15,-16],[20,-9],[9,4],[-8,12],[10,9],[8,18],[10,-1],[-2,-19],[12,0],[-13,-19],[24,-2],[14,8],[6,20],[36,-3],[23,-10],[23,-16],[31,-5],[23,-13],[57,-13],[-9,8],[11,4],[38,-17],[18,-18],[-3,-9],[-26,2],[-8,-18],[-9,-3],[47,-13],[40,-1],[3,4],[36,1],[22,14],[13,-16],[18,0],[7,-21],[6,15],[20,-23],[-7,-21],[25,-29],[-12,23],[1,18],[16,-14],[-4,15],[-9,8],[0,15],[-12,12],[7,19],[35,18],[21,5],[1,13],[-24,-7],[2,-8],[-22,-7],[-16,5],[7,-11],[-22,-3],[-2,12],[-10,-3],[14,20],[27,5],[31,14],[12,-3],[9,-11],[4,-20],[19,-6],[4,-12],[20,-1],[9,8],[5,-11],[27,-14],[21,-3],[23,10],[26,-1],[15,-7],[25,5],[22,-12],[12,11],[-16,12],[-10,-9],[-10,10],[3,9],[-11,11],[27,1],[-8,9],[21,-3],[5,-12],[18,3],[-11,-15],[26,12],[-16,-41],[11,-19],[10,8],[11,-20],[4,16],[-15,26],[7,19],[17,-3],[18,14],[18,33],[-10,8],[-5,-13],[-15,0],[11,34],[18,-2],[2,13],[-22,-5],[-9,14],[-7,-7],[-25,10],[-21,22],[1,14],[9,15],[-12,9],[5,30],[14,6],[8,-7],[5,12],[-13,4],[18,9],[2,13],[18,3],[4,-19],[7,7],[32,-24],[4,-30],[37,-41],[-25,2],[-4,-6],[18,-3],[-25,-18],[20,-9],[18,7],[10,-9],[19,-1],[-23,-12],[14,-11],[6,-20],[-2,-17],[9,-12],[11,12],[4,31],[11,15],[9,1],[28,-27],[5,-32],[-16,2],[1,-19],[8,-19],[17,-15],[-1,-14],[15,7],[-3,7],[14,-1],[1,20],[17,23],[7,37],[25,0],[-10,13],[11,7],[-20,11],[-2,10],[6,23],[7,-4],[20,5],[16,-9],[30,-1],[15,-23],[22,-5],[-6,-12],[-12,-5],[20,-5],[1,-10],[-20,-13],[-17,6],[-2,-7],[18,-11],[-5,-13],[26,-30],[-7,-27],[-13,-1],[-17,-24],[-12,-1],[-10,-11],[-25,21],[16,-30],[-4,-2],[-19,14],[4,-14],[-25,7],[-5,17],[-19,-5],[-18,2],[7,-12],[19,-9],[-16,-15],[-3,-13],[-23,-20],[-16,0],[-17,15],[-31,20],[-10,-3],[-30,2],[32,-7],[14,-11],[11,-16],[56,-5],[2,-11],[-16,-20],[-14,-27],[-18,-15],[-24,1],[-12,10],[4,-14],[-10,-17],[-21,-3],[-19,10],[-14,0],[-37,16],[-8,-2],[11,-10],[4,5],[31,-11],[-10,-11],[18,11],[6,-8],[25,-12],[2,-18],[-22,-16],[-19,5],[-10,-3],[15,-16],[-19,5],[-2,-20],[-8,-12],[-18,-12],[11,-4],[-17,-12],[-19,-60],[-8,-31],[3,-40],[-3,-17],[13,-17],[3,4],[29,-1],[2,-15],[10,-37],[9,-24],[-3,-25],[12,2],[30,12],[15,-3],[15,-12],[30,-8],[12,-15],[13,-10],[7,-15],[10,-12],[11,-1],[32,-17],[21,-20],[12,-3],[19,5],[15,-6],[12,1],[18,-9],[3,-14],[-6,-25],[0,-12],[8,-17],[-2,-23],[3,-13],[-5,-19],[20,-28],[6,-21],[10,-5],[15,-30],[1,-10],[19,-11],[1,16],[10,15],[11,-20],[6,11],[-9,15],[13,19],[2,22],[-6,4],[1,19],[-5,0],[-5,42],[-2,32],[-7,2],[-6,25],[-5,1],[39,22],[16,14],[19,23],[12,21],[4,16],[0,44],[-8,34],[-9,20],[-24,23],[-13,16],[-2,16],[22,21],[-1,20],[14,6],[-1,13],[-7,2],[-7,35],[6,6],[-16,2],[10,15],[2,20],[6,5],[-13,13],[-4,34],[18,16],[21,-4],[32,-14],[34,-1],[14,12],[18,-9],[17,-14],[-1,-8],[30,-19],[-9,-10],[14,-16],[23,-5],[11,2],[2,-11],[12,-1],[2,12],[5,-18],[-12,-15],[6,-26],[2,-26],[-6,-6],[3,-9],[11,-2],[-8,-8],[2,-18],[-19,-7],[10,-3],[15,12],[13,1],[11,-6],[5,-24],[7,10],[9,-20],[28,15],[6,21],[10,-9],[5,18],[7,3],[-2,12],[8,8],[-3,22],[8,2],[7,25],[14,2],[0,-12],[9,-6],[-1,-17],[6,0],[5,-15],[12,-13],[-11,-9],[13,3],[1,-13],[7,1],[4,-11],[-9,-11],[16,0],[-2,-19],[15,-12],[7,-20],[-14,-11],[10,2],[6,-6],[-6,-7],[18,-7],[-8,-18],[-7,0],[5,-13],[-9,-4],[11,-10],[-12,-2],[5,-5],[14,1],[-3,-13],[10,-2],[1,-7],[22,-5],[-4,-5],[3,-16],[-4,-16],[20,12],[-2,-10],[10,-5],[10,9],[6,-22],[30,-6],[14,-10],[-9,-11],[-15,-1],[-1,-6],[-33,-12],[21,5],[3,-3],[-30,-15],[-13,-3],[2,-15],[-11,-14],[38,24],[6,15],[19,9],[-5,7],[24,-1],[11,-22],[-12,-11],[6,-9],[9,15],[30,-19],[4,-15],[-6,-7],[5,-9],[-7,-12],[8,-9],[4,-17],[-8,-15],[-20,-17],[-10,-13],[-8,5],[-25,-14],[-8,3],[-7,-12],[-8,-5],[1,-12],[-13,-8],[0,-8],[-11,-6],[-3,-10],[-38,-3],[-10,-5],[-6,7],[-51,4],[-26,-2],[-37,0],[-5,-5],[-8,5],[-19,-25],[-3,-23],[-4,-6],[-19,-3],[-4,-11],[-24,-18],[-10,-28],[-7,-9],[-19,14],[-5,-2],[22,-14],[-5,-20],[-10,-17],[-6,-3],[-6,-17],[-17,-23],[-15,-1],[-21,-24],[-10,-4],[-7,-18],[-12,-11],[-7,-11],[-6,-2],[5,-8],[-15,-12],[-6,-8]],[[1827,9404],[6,-29],[-17,-11],[32,3],[-4,6],[17,15],[49,-17],[-3,-15],[17,6],[18,-8],[8,4],[-26,29],[23,-2],[24,-23],[11,-1],[-1,-11],[13,-38],[6,-4],[21,15],[-15,14],[-9,45],[0,25],[29,-10],[8,7],[26,-17],[18,-30],[4,-24],[19,-29],[-7,-28],[16,-17],[25,-16],[8,1],[35,-23],[16,4],[4,-24],[-13,-6],[-4,13],[-5,-14],[-19,11],[-14,-26],[22,5],[-2,-17],[9,-10],[-19,-8],[-24,-5],[-49,6],[4,12],[-40,5],[-4,18],[-10,-16],[-17,-13],[-28,-6],[-12,-9],[-56,-11],[-59,-3],[-16,19],[2,22],[-18,5],[-26,-3],[-22,4],[-18,9],[0,6],[-18,12],[-4,14],[39,12],[41,5],[53,-7],[9,7],[22,-3],[-18,14],[-19,2],[-18,8],[-58,-6],[-19,4],[-40,-1],[-19,23],[17,8],[41,11],[13,11],[-48,-10],[-21,6],[13,5],[-36,7],[0,11],[16,17],[13,3],[-13,15],[34,25],[50,16],[27,11],[10,-5]],[[2094,9405],[-16,-22],[-8,1],[-18,19],[-26,12],[13,13],[42,1],[16,-10],[-3,-14]],[[2768,9430],[25,-7],[37,2],[19,-6],[32,-26],[-1,-17],[-52,5],[-28,-9],[-22,6],[-4,22],[-21,5],[1,25],[14,0]],[[2595,9436],[41,-3],[4,-8],[-30,-21],[-18,-26],[10,-20],[-3,-28],[9,-14],[19,-16],[14,-5],[-16,-13],[-13,0],[-8,-10],[21,10],[18,-2],[8,17],[-4,14],[-16,-1],[-8,13],[2,21],[16,1],[-18,12],[-3,25],[14,2],[-6,11],[26,-5],[-19,15],[63,24],[37,-1],[11,-27],[14,-5],[0,-14],[10,-10],[-26,-24],[18,11],[-11,-18],[5,-13],[12,5],[16,25],[23,-13],[11,14],[26,14],[67,-15],[7,-14],[-14,-14],[33,4],[0,-15],[-32,-17],[31,12],[19,-1],[-10,-9],[-4,-17],[12,19],[3,-12],[15,-7],[13,23],[32,-12],[8,-11],[-10,-12],[-11,3],[-13,-14],[4,-6],[25,7],[4,9],[15,2],[3,-9],[-13,-17],[30,15],[-3,-16],[15,10],[31,-11],[-10,-16],[-31,-9],[32,3],[-1,-16],[12,9],[6,14],[24,-23],[2,-12],[-26,3],[-15,-11],[19,-8],[19,1],[16,-11],[-2,-8],[-26,2],[-15,8],[-22,3],[22,-8],[13,-10],[-8,-4],[5,-11],[-43,2],[33,-6],[-9,-8],[29,-2],[23,-6],[-10,-6],[8,-11],[37,-12],[12,7],[-2,-12],[18,-4],[13,-28],[-21,-10],[47,10],[-7,-18],[22,-5],[5,9],[18,-10],[10,-16],[-20,-10],[14,-3],[-30,-8],[14,-7],[-7,-17],[-15,-3],[7,-7],[-17,-1],[-7,16],[3,-21],[-9,-4],[9,-9],[-5,-24],[-17,9],[-9,14],[-1,-9],[-18,16],[-1,14],[-9,5],[19,17],[-31,-5],[-2,9],[-22,20],[2,8],[-13,-6],[-6,-11],[-16,12],[7,-15],[16,-12],[-1,-7],[-20,-1],[-9,18],[-2,-18],[12,-16],[14,3],[-2,-10],[10,-2],[10,-39],[1,14],[31,-16],[-3,-16],[17,0],[-10,-10],[11,-14],[11,-5],[-9,-11],[12,-6],[0,-25],[-7,5],[-4,18],[-2,-14],[10,-29],[-17,5],[8,-19],[-7,-5],[-1,13],[-12,11],[-12,-3],[-13,13],[-5,-5],[-20,21],[-6,12],[-1,-16],[-27,24],[-8,-3],[23,-33],[17,-6],[17,-21],[5,0],[16,-26],[7,-2],[-9,-20],[-30,16],[-35,7],[-12,7],[-25,24],[-9,-2],[-38,22],[-5,14],[15,10],[-16,12],[-2,-7],[-15,9],[-13,14],[-15,33],[-20,-9],[4,15],[-14,-6],[-5,-14],[-30,14],[-5,-12],[-24,-12],[-14,2],[-18,11],[-4,27],[5,9],[18,8],[-3,15],[21,-2],[25,-11],[9,-9],[-6,-7],[10,-12],[-2,16],[-16,17],[23,-3],[1,7],[15,-3],[11,12],[19,-5],[-7,19],[-8,4],[-13,18],[41,32],[5,19],[15,6],[-4,22],[-12,18],[-4,23],[-23,5],[3,18],[-19,-6],[-13,16],[2,15],[-9,-11],[-10,2],[-32,-14],[0,20],[28,3],[1,9],[-30,19],[-15,5],[10,9],[-23,0],[0,21],[-20,2],[-10,12],[-21,2],[21,-15],[3,-13],[-29,-7],[-6,8],[-39,3],[15,-14],[-9,-2],[-14,13],[-15,-11],[-25,12],[-15,-3],[-31,3],[-5,4],[-39,2],[-21,21],[1,-11],[-47,11],[-21,25],[9,7],[22,-4],[27,0],[-15,18],[-6,-3],[-47,6],[-5,7],[5,17],[-9,11],[5,24],[25,52],[36,27],[33,8]],[[2227,9438],[17,-9],[57,6],[4,-12],[-12,-6],[8,-7],[-19,-7],[-19,-16],[35,-3],[9,-16],[12,3],[5,-18],[-9,-6],[3,-27],[-25,-13],[-26,2],[9,-8],[-13,-13],[-19,3],[-13,25],[-27,24],[-21,3],[-34,24],[-4,9],[14,16],[11,-4],[16,-18],[24,2],[10,8],[-4,14],[-11,1],[-28,20],[11,7],[16,-9],[3,8],[-13,12],[33,5]],[[2287,9448],[-13,-11],[-23,-4],[-12,7],[34,10],[14,-2]],[[2423,9449],[18,-8],[8,5],[45,-7],[-28,-33],[-12,-21],[-14,-14],[-33,4],[-13,-4],[10,-16],[-18,-22],[-29,-6],[-2,33],[-11,9],[-2,60],[11,2],[1,14],[44,9],[25,-5]],[[1623,9476],[28,-12],[41,-10],[46,4],[58,-41],[-3,-6],[-28,-9],[-76,-37],[-3,-15],[-14,-8],[-13,1],[-3,-32],[-7,-11],[-22,-7],[-9,5],[-11,-12],[-27,-10],[-26,36],[-34,14],[-14,0],[0,10],[14,22],[9,4],[-4,18],[17,2],[-12,9],[14,21],[16,15],[-10,9],[-14,28],[87,12]],[[2118,9518],[-3,-12],[-30,4],[15,17],[18,-9]],[[2378,9537],[25,-20],[2,-24],[-5,-11],[-41,1],[-43,18],[23,30],[25,8],[14,-2]],[[2325,9539],[-16,-17],[-5,9],[21,8]],[[2164,9558],[-14,-12],[-20,-1],[7,9],[27,4]],[[2380,9546],[-17,10],[11,3],[6,-13]],[[2157,9563],[-38,-10],[11,8],[27,2]],[[1732,9567],[5,-3],[-22,-28],[-10,-5],[-22,5],[20,18],[29,13]],[[2805,9567],[0,-15],[-16,-3],[16,18]],[[2149,9575],[-6,-11],[-43,0],[2,8],[47,3]],[[2113,9595],[25,-12],[-38,-5],[-7,16],[20,1]],[[2266,9598],[21,-11],[7,-58],[-18,1],[14,-20],[-11,-7],[-47,-3],[-20,3],[-11,19],[33,20],[-52,-5],[-33,-7],[2,14],[20,10],[-6,28],[18,3],[35,-31],[7,21],[-30,12],[15,9],[23,0],[13,-10],[20,12]],[[2213,9601],[-38,-8],[20,9],[18,-1]],[[2508,9589],[-10,-2],[-15,15],[17,6],[8,-19]],[[1981,9607],[-3,-11],[20,-20],[-11,-11],[22,-7],[-10,-10],[27,5],[12,10],[31,-10],[1,-18],[-15,-30],[-28,-8],[-21,7],[-19,-7],[-5,8],[-25,-11],[-22,-4],[-24,-12],[-34,-10],[-29,0],[-27,17],[52,17],[27,0],[19,13],[-36,-6],[-3,5],[-44,-9],[-5,24],[-10,-23],[-35,-6],[-55,16],[12,13],[30,0],[31,14],[-30,-8],[-32,0],[10,12],[57,5],[-39,0],[-12,12],[23,10],[10,12],[36,1],[7,-17],[28,5],[33,-21],[14,-22],[62,-1],[6,7],[-32,17],[18,11],[-30,11],[18,11],[15,19],[15,0]],[[1840,9610],[3,-10],[-34,3],[31,7]],[[2354,9618],[44,-6],[16,-16],[46,3],[26,-13],[-26,0],[59,-9],[-2,-7],[-52,-1],[30,-6],[28,-18],[2,-16],[14,11],[11,-8],[26,6],[13,-9],[59,10],[21,10],[23,-5],[16,6],[39,-3],[40,-18],[6,-11],[-25,-15],[16,1],[10,-9],[-23,-7],[-1,-11],[-29,0],[-12,-6],[-33,5],[-7,16],[-11,-16],[-84,-5],[-53,2],[2,20],[-21,-15],[-21,-3],[-30,10],[-10,-4],[-19,9],[1,10],[-13,14],[11,38],[-14,8],[-14,21],[-17,-6],[-37,-3],[6,7],[-27,3],[-11,14],[-18,4],[15,6],[-15,7],[13,6],[32,-1]],[[1774,9644],[20,-9],[-25,-7],[-2,-15],[13,-14],[-30,-8],[-9,-17],[-20,9],[5,24],[-19,-6],[-1,-22],[-34,-26],[-19,-3],[-7,19],[-15,-12],[-46,8],[9,15],[31,5],[9,14],[22,7],[15,17],[27,15],[26,1],[18,-6],[32,11]],[[2491,9653],[17,-10],[-11,-14],[-30,11],[0,13],[24,0]],[[2083,9641],[18,-11],[-11,-7],[-23,12],[-14,25],[13,0],[17,-19]],[[2350,9662],[51,0],[13,-7],[-11,-10],[-70,0],[-6,13],[23,4]],[[2196,9660],[-42,-1],[0,9],[21,1],[21,-9]],[[1824,9675],[20,-11],[-15,-6],[-27,14],[22,3]],[[1955,9679],[-35,-12],[21,-5],[-3,-16],[-52,-10],[-31,11],[3,23],[51,10],[46,-1]],[[1933,9718],[31,-15],[-4,-11],[-50,5],[-52,-7],[-5,8],[40,8],[40,12]],[[2308,9715],[18,-10],[40,-9],[-15,-7],[9,-16],[-51,-11],[-22,18],[22,2],[-33,10],[-10,12],[7,18],[35,-7]],[[2120,9752],[22,-6],[10,-21],[25,12],[58,-29],[-8,-16],[22,-13],[0,-11],[-25,-6],[-19,5],[-12,19],[-45,10],[-50,-6],[-10,18],[38,-3],[1,15],[-18,11],[-27,-9],[10,11],[-26,2],[4,16],[50,1]],[[2237,9796],[21,-8],[-5,-17],[-36,22],[20,3]],[[2423,9866],[56,-44],[40,-1],[1,-15],[22,9],[22,-2],[19,-26],[-9,-26],[20,9],[23,-2],[24,-19],[-46,-14],[-69,-50],[-26,25],[15,-26],[-24,10],[0,-11],[-49,4],[-22,17],[34,3],[-45,2],[-28,21],[25,12],[79,3],[-58,1],[0,12],[-36,-11],[-3,7],[-33,-6],[-14,15],[27,4],[-31,3],[-21,14],[-4,14],[53,-6],[21,9],[-36,-4],[-32,9],[14,17],[41,2],[7,8],[-33,3],[17,15],[39,0],[7,9],[-28,8],[41,-2]],[[3064,9969],[92,-13],[-63,-13],[33,0],[64,14],[63,-22],[36,-2],[8,-17],[-85,-27],[-75,-6],[11,-7],[-78,-18],[137,21],[-4,-9],[-119,-45],[-9,-11],[-28,-4],[-23,-32],[-31,-8],[-32,7],[7,-13],[-52,-10],[-85,-2],[20,-4],[80,-3],[-1,-11],[-35,3],[-9,7],[-57,-2],[56,-5],[-45,-3],[55,-3],[-14,-6],[38,-1],[8,-15],[-22,-5],[-30,2],[38,-10],[-14,-14],[-35,-13],[-43,0],[19,-17],[-14,-13],[-47,-6],[-38,9],[-17,14],[5,-14],[18,-8],[57,-7],[-10,-14],[19,-6],[18,11],[7,-22],[-21,-10],[-5,7],[-22,-15],[-42,-11],[8,17],[-36,5],[-6,-7],[-40,2],[-13,10],[-6,-17],[-23,-1],[-61,10],[-4,-7],[-37,4],[-15,10],[-1,17],[33,15],[23,-1],[15,8],[-21,5],[-15,25],[29,7],[27,-6],[22,-23],[54,-3],[27,35],[-39,-27],[-38,10],[15,39],[-21,-13],[-21,5],[-35,-4],[1,19],[24,20],[44,7],[35,-5],[56,1],[-53,4],[-30,6],[11,9],[-23,27],[-37,6],[0,32],[75,-4],[67,-35],[-7,16],[-44,23],[80,9],[54,8],[-44,0],[94,17],[-62,-3],[-2,9],[57,26],[-37,-9],[-40,-28],[-44,-11],[-53,-5],[27,11],[-48,2],[1,-13],[-55,-1],[-26,5],[26,19],[85,11],[-93,-8],[-33,-21],[-58,14],[99,12],[30,12],[-43,-8],[-98,-8],[-15,8],[12,11],[45,14],[-57,-12],[12,13],[-22,4],[-21,-8],[-14,7],[27,11],[83,15],[87,-6],[-56,12],[43,5],[-12,10],[30,1],[59,-23],[-11,12],[82,-19],[-75,24],[18,17],[41,-8],[-28,15],[47,-2],[16,12],[41,-3],[44,-11],[-31,15],[35,4],[54,-3],[10,-8],[24,12],[91,2]],[[5255,7927],[0,0]],[[5255,7927],[0,0]],[[5255,7927],[10,-8]],[[5264,7905],[2,-12]],[[5290,7882],[-2,-13],[-10,-7],[4,-15],[-6,6],[-12,-4],[-2,10],[-5,0],[-1,-14],[-5,-6],[-1,-18],[-7,10],[2,5],[-11,9],[0,13],[-10,-11],[1,-8],[-9,-12],[-8,4],[-13,-4]],[[5195,7827],[-7,15],[0,14]],[[5188,7856],[-5,6],[-8,-4],[-3,-9]],[[5172,7849],[-4,7],[2,10],[8,9],[0,11],[7,4],[12,28],[8,-5],[5,10]],[[5210,7923],[14,-1],[9,5],[4,9],[9,-9],[9,0]],[[3101,2016],[-9,-10],[13,-7],[6,-18],[-2,-7],[-8,14],[-15,-2],[2,19],[-18,-5],[-1,-4],[-14,10],[3,5],[39,9],[4,-4]],[[3116,2021],[14,-1],[7,-9],[-5,-12],[-7,7],[-9,-6],[-8,1],[-2,15],[10,5]],[[3041,2018],[7,-9],[-19,2],[-1,8],[13,-1]],[[3069,2021],[8,-5],[-19,-3],[-1,8],[12,0]],[[3013,2074],[7,-1],[8,-15],[-5,-7],[-8,10],[-4,-3],[-2,16],[4,0]],[[3003,2080],[6,-2],[-5,-24],[-11,16],[0,7],[10,3]],[[3044,2081],[2,-8],[-9,4],[3,-17],[-9,10],[-1,10],[8,1],[-2,10],[6,7],[2,-17]],[[2972,2103],[2,3],[22,-21],[-6,-2],[-14,-18],[4,15],[-9,1],[-7,-7],[1,12],[-8,1],[3,17],[12,-1]],[[2925,2147],[15,-16],[8,0],[21,-22],[-10,3],[-11,14],[-13,-1],[-10,22]],[[3093,2028],[0,-1]],[[3093,2021],[-12,-3],[-17,9],[-13,-4],[-23,10],[-10,10],[-17,-8],[-1,12],[8,-7],[10,12],[7,-9],[6,12],[-2,12],[20,-15],[7,5],[13,-4],[10,-11],[3,8],[-28,18],[-4,19],[24,15],[-1,8],[-25,-6],[-6,8],[1,17],[9,1],[0,8],[12,7],[2,13],[6,4],[5,-11],[16,0]],[[2952,2165],[-2,-17],[-9,0],[-2,7],[13,10]],[[2921,2176],[8,-2],[-6,-7],[-2,9]],[[2938,2182],[8,-11],[-5,-6],[-3,17]],[[2920,2209],[3,-4],[-3,-19],[-5,7],[5,16]],[[2943,2211],[3,-10],[-9,5],[6,5]],[[2925,2234],[1,-8],[-9,1],[8,7]],[[2931,2257],[2,-13],[-14,-1],[-1,9],[9,-2],[4,7]],[[2924,2263],[1,-11],[-8,7],[7,4]],[[2906,2275],[8,0],[-10,-15],[2,15]],[[2931,2276],[3,1],[5,-22],[-5,0],[-6,13],[3,8]],[[2908,2302],[14,-5],[0,-6],[-18,-9],[1,12],[7,-5],[-4,13]],[[2903,2329],[8,-14],[-12,3],[4,11]],[[2914,2359],[5,-2],[0,-12],[-9,10],[4,4]],[[2906,2359],[2,-6],[-9,-5],[7,11]],[[2925,2377],[5,0],[2,-27],[-3,-27],[3,-13],[-9,-10],[-4,6],[1,25],[-4,-21],[-7,11],[-2,25],[13,-3],[2,12],[-7,18],[10,4]],[[2906,2392],[1,-9],[-7,-5],[-2,13],[8,1]],[[2924,2406],[4,-8],[2,-18],[-14,4],[-1,6],[9,16]],[[2913,2413],[9,-4],[-1,-11],[-7,-2],[-5,19],[4,-2]],[[2907,2415],[7,-32],[-6,0],[0,16],[-5,-5],[-3,20],[7,1]],[[2921,2430],[3,-17],[-11,6],[-1,6],[9,5]],[[2945,2427],[4,-6],[-19,2],[7,7],[8,-3]],[[2914,2436],[-3,-8],[-5,6],[8,2]],[[2924,2545],[-1,-11],[-10,7],[11,4]],[[2936,2556],[-5,-9],[0,15],[5,-6]],[[2955,2556],[-6,-2],[3,11],[3,-9]],[[2948,2591],[3,-16],[-7,2],[-6,12],[10,2]],[[2946,2594],[-9,-4],[3,9],[6,-5]],[[2946,2613],[2,-4],[-11,-6],[-4,10],[13,0]],[[2974,2623],[6,-4],[-12,-23],[-4,-1],[-5,16],[7,2],[-1,11],[9,-1]],[[2948,2662],[3,-7],[-11,0],[8,7]],[[2945,2775],[11,1],[5,-30],[-8,-2],[-4,-15],[9,-10],[-6,-5],[6,-13],[-7,-2],[2,-14],[-17,3],[-3,4],[7,21],[-1,36],[4,8],[2,18]],[[3098,2168],[-21,9],[-7,-4],[-3,-12],[-8,-1],[-27,-20],[-3,-19],[-1,-36],[-7,-5],[-24,11],[-10,15],[5,11],[15,1],[10,5],[6,18],[-5,1],[-22,-19],[-5,6],[-7,-20],[1,-10],[-20,22],[9,0],[-1,20],[14,1],[13,9],[14,0],[-2,5],[-21,3],[-19,-19],[1,-11],[-6,-4],[-8,6],[6,5],[-9,6],[9,1],[2,11],[-11,-5],[0,29],[6,-2],[15,16],[9,-1],[0,13],[-7,-6],[-15,13],[10,-15],[-6,-4],[-4,-13],[-8,7],[0,17],[-9,7],[-1,13],[6,2],[1,13],[-6,-6],[-7,4],[-1,17],[11,-2],[-1,9],[-6,-4],[-5,21],[-13,14],[9,8],[1,26],[3,6],[-5,9],[0,44],[10,11],[-11,13],[-3,13],[21,-4],[6,-13],[5,5],[-10,27],[-1,-6],[-21,1],[-2,12],[9,-2],[-7,11],[6,12],[5,0],[6,11],[-6,2],[-3,12],[-11,0],[-1,-5],[-11,14],[4,11],[-13,-16],[2,-11],[-6,-3],[-4,19],[13,13],[3,10],[12,11],[0,11],[14,3],[6,-14],[-1,-8],[7,-4],[-7,-18],[4,-3],[5,16],[4,49],[8,10],[-3,20],[4,-1],[14,13],[1,15],[-14,13],[4,39],[-1,17],[9,12],[-3,14],[0,18],[5,2],[-3,15],[5,3],[4,-15],[0,27],[-8,-3],[-4,6],[8,12],[-10,13],[-3,-13],[-12,-6],[-7,4],[2,7],[-5,11],[-2,27],[5,20],[1,37],[9,7],[4,19],[1,19],[-9,38],[2,30],[-6,26],[1,22],[9,-3],[5,16],[0,18],[4,-4],[5,42],[6,9],[-1,15],[6,18],[5,6],[1,15],[4,12],[1,31],[6,21],[4,4],[1,12],[-4,23],[6,5],[4,37],[-4,9],[1,25],[-5,52],[0,24],[2,12],[7,5],[2,44],[-5,10],[-1,19],[6,11],[4,20],[0,18],[3,22],[4,2],[-1,30],[4,5],[2,15],[2,41],[-2,11],[2,19],[6,8],[-1,24],[-2,5],[1,62],[3,17],[-6,0],[1,25],[6,1],[4,33],[0,23],[2,25],[2,3],[0,24],[-3,10],[0,37],[2,6],[-1,31],[-5,51],[0,21],[-2,8]],[[3044,4127],[12,4],[4,9],[0,26],[9,9]],[[8073,6343],[8,-9],[1,-20],[-9,-13],[-7,-43],[-4,0],[-5,-15],[-9,-1],[-2,-11],[-14,6],[-14,12],[-1,42],[10,19],[8,9],[-1,10],[7,-3],[5,9],[8,-6],[10,10],[8,-9],[1,13]],[[8066,6398],[4,-5],[-8,-2],[4,7]],[[8393,6916],[2,-7],[-8,4],[6,3]],[[8386,6994],[-10,4],[-11,15],[6,2],[9,-11],[8,-5],[-2,-5]],[[8689,7778],[-2,10],[-10,6],[-11,-7]],[[8666,7787],[-4,7],[-12,-22],[-11,-4],[0,-9],[6,-40],[-2,-28],[3,-6],[-5,-31],[-19,-10],[3,-13]],[[8625,7631],[-8,13],[0,9],[-9,7],[-4,-13],[-1,-19],[-14,-5],[-1,-10],[-7,-10],[-26,-3],[8,-20],[-3,-13],[-30,7],[-2,12],[-9,1],[-12,-34],[-9,-16],[-6,0],[-8,-10],[-16,-14],[-14,-21]],[[8454,7492],[-5,-13],[-6,-5],[-9,3],[-11,-3],[-28,-28],[-3,-9],[-8,-11],[-3,5],[-7,-13],[-10,-4],[0,12],[15,8],[-10,29],[6,0],[-2,11],[12,12],[11,27],[-3,13],[-22,14],[-12,-7],[0,-7],[-10,-13],[-4,-16],[-14,-7],[-17,-19],[-1,-19],[-10,-15],[-10,0],[-7,-8],[-11,11],[-6,-6],[-5,-28],[5,-14],[10,-13],[14,-4],[7,5],[12,-25],[-7,-1],[-2,-21],[10,-12],[13,1],[2,11],[10,10],[3,9],[12,10],[11,-8],[0,-6],[9,-7],[34,-4],[-7,-15],[3,-13],[-9,-5],[-5,9],[-28,-23],[-6,3],[4,-11],[-7,-1],[0,-17],[-11,-5],[2,8],[-8,2],[2,-13],[-7,-22],[-8,-4],[-7,-26],[-5,-3],[1,-16],[12,-14],[17,-12],[6,-38],[11,-36],[-1,-21],[15,-16],[0,-13],[11,-10],[4,-16],[-8,1],[-9,9],[-10,-3],[-4,11],[-11,2],[-5,-7],[-7,4],[-3,16],[-6,2],[3,-11],[11,-13],[16,4],[2,-9],[7,-5],[8,-15],[9,-9],[6,-12],[2,-13],[-9,-2],[-12,-10],[-8,-11],[-5,-15],[6,-2],[6,9],[6,-1],[8,-19],[13,-6],[-13,-19],[7,5],[0,-22],[-4,-6],[-5,3],[1,-27],[-5,-3],[5,-23],[-5,2],[-4,-10],[-3,12],[-9,-28],[-8,-17],[-3,-23],[-6,-4],[-1,-11],[-9,-7],[-1,-8],[-5,9],[-4,-6],[5,-6],[2,-11],[-5,4],[2,-10],[-5,-15],[5,-3],[-3,-18],[-4,0],[6,-17],[-11,10],[-4,-8],[5,-14],[-9,1],[-3,-9],[3,-10],[-10,0],[4,-9],[-3,-8],[-6,3],[-5,-5],[-2,8],[-5,-13],[3,-11],[-5,-4],[-1,-10],[-6,-1],[-7,-13],[-4,1],[-5,-14],[-6,5],[0,-9],[-10,-21],[-1,-10],[-6,1],[-13,-12],[-7,6],[0,-11],[-14,8],[-5,-13],[-6,11],[-5,-7],[4,-8],[-4,-3],[-2,9],[-5,-3]],[[8172,6482],[-4,-2]],[[8168,6480],[-7,-3],[-2,17],[-3,-1],[-2,15],[-6,-8],[6,-17],[0,-15],[-2,-9],[-10,20],[7,-19],[-10,-14],[-5,1],[-13,-12],[-10,3],[-11,-15],[-25,-8],[-3,-10],[-6,-1],[-7,-13],[5,-7],[-1,-13],[7,-9],[-4,-10],[-13,-2],[-1,10],[-7,25],[3,28],[5,0],[0,8],[-8,1],[-2,14],[-1,-16],[-12,1],[0,6],[-9,2],[-9,13],[2,-16],[-6,7],[0,-8],[-9,-5]],[[7999,6420],[-7,10],[-9,-4],[-12,14],[1,6],[-10,2],[0,14],[-4,7],[0,14],[5,0],[0,16],[-14,0],[-18,12],[-7,14],[-14,-13],[1,-9],[-14,-14],[-3,8],[-6,-8],[0,-9],[-11,16],[-4,-12],[-5,11],[-7,-21],[-5,10],[-13,9],[-4,-20],[-3,0]],[[7836,6473],[-13,3],[-4,-12],[1,-10],[5,-15],[0,-39],[-5,6],[-9,-2],[-2,20]],[[7809,6424],[-2,12],[-7,-6],[-3,-8],[-8,-4],[-2,5],[-5,-6],[-2,13],[-4,3],[-1,19],[-14,5],[-6,-1],[0,16],[4,5],[-1,14],[6,11],[-5,13],[-8,-2],[-7,5],[2,6],[-6,40],[6,9],[-9,-3],[-13,1],[-14,-14],[-2,5],[5,10],[-1,18],[-4,0],[0,17],[7,8],[-2,12],[4,11],[2,-3],[6,10],[0,13],[6,-3],[3,13],[7,6],[-4,6],[5,33],[0,29],[-2,31],[-7,4],[-1,-9],[-7,20],[0,16],[-8,13],[-9,9],[-5,-18]],[[7703,6808],[-7,9],[-4,-3],[-7,15],[-7,1],[5,6],[-4,17],[-9,21],[-12,-9],[-6,0],[-6,-9],[-9,4],[-9,11],[-8,-6],[-3,-16],[-9,-6],[-6,-8],[-7,-1],[-9,-16],[-12,-14],[0,-11],[-9,-9],[-12,-5],[-8,2]],[[7468,6756],[-4,12],[3,18],[-1,10],[-6,5],[-13,-14]],[[7447,6787],[-8,2],[-4,-5],[-15,1],[-3,7],[-14,9],[-4,-11],[-9,10],[-3,-11],[-2,13],[-6,7],[-16,3],[2,17],[-4,3],[-7,-6],[-9,11],[-7,12],[-2,16],[-5,5],[-13,-7],[-9,26],[-9,2],[-9,15],[-10,8],[-1,15],[-14,5],[-11,-23],[-7,11]],[[7248,6922],[-11,15],[-10,6],[1,9],[-14,15],[-4,-3],[-9,13],[-5,16],[-9,-8],[-2,12],[4,5],[-4,7],[2,15],[-9,14],[-2,20],[9,4],[6,-16],[10,8],[7,13],[-5,14],[0,12],[-7,3],[-8,16],[-3,33],[8,8],[0,7],[-10,12],[-9,5],[-8,41],[1,9],[-7,0]],[[7160,7227],[-18,1],[-11,8]],[[7131,7236],[-5,6],[0,8],[-13,-4],[-4,10],[1,27],[-7,15],[-9,1],[0,7],[-8,7],[-7,-2],[-9,4]],[[7080,7327],[7,10],[-8,13],[3,7],[-5,17],[-1,26],[-12,9],[-6,0],[-2,-9],[-6,3],[-4,16],[4,9],[-6,12],[1,14]],[[7045,7454],[8,8],[-3,9],[4,18],[11,3],[10,14],[3,10],[11,-4],[8,11],[4,-20],[18,4],[9,13],[0,10],[5,15],[18,-2],[11,5],[5,-2],[8,19],[26,23],[27,15],[-1,8]],[[7227,7611],[1,3],[-3,23],[3,11],[9,6],[-7,5],[13,6],[-4,13],[2,7],[-11,37],[0,32],[5,5],[-18,8],[7,9],[21,5],[23,13],[3,-9],[13,3],[7,-7],[4,17],[-11,7],[7,21],[9,47],[5,14],[0,14],[24,-13],[21,1],[4,-10],[13,13],[7,0],[5,9],[-4,41],[4,25],[25,10],[4,10],[0,17],[4,6],[12,-1]],[[7424,8009],[15,5]],[[7439,8014],[-4,-17],[9,-8],[-2,-9],[16,-10],[2,-12],[14,-12],[11,1],[7,-11],[9,3],[11,-21],[0,-11],[15,-34],[1,-11],[-5,-14],[3,-17],[-7,-13],[-2,-16],[6,-17],[6,2],[16,-9],[23,-4],[11,2],[23,-8],[6,-13],[7,0],[14,-19],[9,-5],[11,2],[-2,-16],[6,-3],[9,-41],[12,-19],[2,-11],[23,4],[63,-13],[14,6],[49,-12],[7,-15],[29,-11],[18,-15],[23,7],[0,-12],[13,-5],[6,10],[44,30],[36,10],[20,-3],[20,4],[25,19],[15,29],[18,12],[10,13],[-9,18],[-7,23],[11,33],[5,4],[13,-1],[5,-10],[14,-6],[13,-3],[16,16],[14,24],[6,-3],[23,5],[15,18],[-1,7],[11,24],[6,3],[15,-1],[1,13],[9,-4],[16,12],[12,-3],[3,5],[14,-8],[11,-1],[5,6],[-4,23],[-18,25],[0,6],[-10,7],[-6,11],[-10,5],[-12,-3]],[[8270,7946],[-7,-13]],[[8263,7933],[-5,-6],[-13,13],[-17,-1],[-11,-9],[-7,10],[-2,13],[8,8],[-1,12],[25,79]],[[8240,8052],[16,-12],[14,-6],[12,9],[13,17],[12,1],[7,6],[1,14],[-4,6],[8,27],[7,10],[1,11],[8,23],[16,14],[3,17],[-4,7],[3,13],[-8,5],[-12,-1],[22,37],[12,1],[26,11],[19,0],[11,6],[28,-11],[4,-9],[20,-1],[17,-13],[23,-49],[-3,-10],[6,-23],[6,-9],[1,-20],[10,-19],[1,-23],[7,-6],[-2,-23],[5,-9],[11,-7],[20,2],[7,-14],[13,-3],[9,-7],[11,-17],[12,0],[-4,-13],[6,-8],[2,-13],[-4,-13],[7,-20],[15,2],[13,-5],[17,3],[3,9],[12,14],[12,-1],[6,9],[18,8],[9,-7],[-4,-13],[6,-17],[-8,-19],[-9,-6],[-4,-38],[-5,-13],[2,-9],[-11,-22],[-1,-15],[-8,-8],[-2,-21],[-8,-3]],[[4913,5477],[0,-1]],[[4913,5476],[0,1]],[[4925,5729],[-2,-26],[3,-1],[4,-47],[-8,-15],[-6,-39],[-7,-28],[2,-31],[2,-4],[4,-31],[5,-1],[2,-13],[-3,-14]],[[4921,5479],[-10,3],[-3,-4],[-15,4],[-5,4],[-18,3],[-3,-9],[16,7],[6,-3],[-22,-5],[-22,-3],[-38,-25],[-5,-8],[-12,-10]],[[4790,5433],[-1,2],[0,41],[5,10],[-1,33],[-10,7],[-1,13],[-6,7],[-10,3],[-6,8],[8,15],[1,23],[-5,23]],[[4764,5618],[7,-1],[3,10],[3,27],[-7,4],[2,14],[7,0],[5,-7],[2,15],[-8,9],[1,12],[5,5],[-5,6],[2,13],[-5,-2],[-3,7],[1,32],[4,6]],[[4778,5768],[4,2],[5,14],[5,1],[3,-12],[9,-6],[2,12],[7,-1],[1,18],[8,-5],[-1,8],[5,2],[2,-15],[-2,-13],[6,-3],[3,9],[11,4]],[[5402,5930],[2,-13],[7,-8],[3,-17],[-1,-10],[5,-3],[2,-34],[-2,-3],[-1,-26],[3,-28],[9,-22],[6,-8],[-7,-3],[-9,3],[-10,-4],[-15,3],[-7,-19],[11,-27],[17,-29],[3,-1],[8,-30],[2,-17],[4,-2],[-3,-16]],[[5449,5312],[-3,-5],[2,-25],[-18,15],[-7,3],[-10,-2],[-8,12],[-9,-3],[-27,0]],[[5369,5307],[-6,5],[-48,3],[-1,-7]],[[5314,5308],[-38,0],[-4,10]],[[5272,5318],[0,12],[4,27],[-1,12],[-8,18],[-2,13],[6,11],[-2,8],[-10,-11],[-10,10],[-2,29],[-11,-4],[2,17]],[[5238,5460],[6,19],[1,41],[4,2],[10,24],[10,13],[2,14],[10,13],[3,-8],[7,1],[1,9],[8,-5],[7,-14],[1,-16],[7,1],[6,15],[-1,8],[10,15],[-2,17],[5,9],[0,9],[5,14],[1,25],[16,23],[2,34],[9,9],[2,17],[-1,14],[6,5],[3,30],[12,34],[6,-1],[11,14],[1,37],[-3,10],[-10,4],[-3,40]],[[5390,5936],[7,0]],[[5397,5936],[-1,-11],[6,5]],[[5398,5936],[1,0]],[[5399,5936],[-1,0]],[[5944,7202],[0,0]],[[5944,7202],[-3,0]],[[5941,7202],[0,0]],[[5941,7202],[3,0]],[[5905,7208],[0,1]],[[5905,7209],[1,0]],[[5906,7209],[1,0]],[[5907,7209],[-2,-1]],[[5935,7200],[1,-2]],[[5936,7198],[-7,-1],[-1,11],[-17,-6],[-3,7]],[[5908,7209],[0,0]],[[5908,7209],[3,-5],[17,6],[1,-10],[6,0]],[[5807,5072],[0,-19],[-2,6],[2,13]],[[5762,5475],[2,-10],[7,-8],[0,-10],[16,-18],[12,12],[6,1],[5,-9],[7,12],[0,6],[10,-5],[0,-12],[4,-3],[7,-21],[10,-6],[0,-14],[6,4],[2,-10]],[[5856,5384],[2,-7],[-5,-19],[3,-15],[-4,-19],[8,-3],[8,-13]],[[5868,5308],[-10,-15],[-12,-24],[0,-15]],[[5846,5254],[-7,-6],[-2,-13],[-6,-5],[0,-21],[-3,-7],[-4,-25]],[[5824,5177],[-7,-9],[-3,-12],[1,-13],[8,12]],[[5823,5155],[-1,-6],[-1,-46]],[[5821,5103],[-7,-8],[-3,-9]],[[5811,5086],[-3,1],[-7,-28],[3,-9],[-3,-10]],[[5801,5040],[4,-14]],[[5811,4991],[-2,-3],[-1,-49],[4,11],[-1,-27],[-3,-5],[0,-30],[7,-28],[-1,-13],[-4,-5],[10,-49],[6,-14],[6,-6],[6,-13],[2,-29],[7,-10],[2,-12]],[[5849,4709],[-28,-8],[-19,-7]],[[5802,4694],[-16,-35],[0,-23],[4,-2],[2,9]],[[5792,4643],[4,-21],[-1,-21],[1,-34],[-5,-16],[0,-10],[-4,-17],[4,-25],[9,-11],[6,-17],[14,-4],[-2,11],[9,5],[0,-75],[-5,1],[-1,12],[-10,-10],[-7,1],[-2,14],[-6,17],[-4,-2],[-1,13],[-5,13],[-16,7],[-6,6],[-3,16],[-5,7],[-1,12],[-5,0],[-1,-16],[-7,-8],[-10,6],[-11,0],[-4,7],[-14,8],[0,26],[-17,-7],[-8,-8],[-4,5],[3,14],[-8,6],[-4,9]],[[5366,4846],[-9,2],[-4,-10],[-7,-3],[-7,16]],[[5363,4916],[8,-9],[0,-6],[8,11],[1,14],[7,-2],[12,12],[2,-8],[-3,-7],[1,-20],[9,0],[4,6],[10,27],[8,8],[1,8],[9,4],[10,35],[-1,29],[1,13],[-1,26],[12,25],[0,7],[11,30],[8,5],[12,27],[0,21],[3,25],[3,7],[-2,14],[1,28],[5,27],[-1,34],[16,57],[0,19]],[[5333,4894],[-5,13],[0,10],[-15,33],[-5,6]],[[5308,4956],[2,12],[8,13],[5,-10],[5,-2],[4,22],[-8,9],[3,10],[-7,12],[2,7],[-1,20],[4,-5],[6,5],[4,-5],[11,5],[-1,24],[5,5],[5,-5],[5,-26],[11,-4],[9,13],[1,6],[9,-22],[5,9],[0,20],[5,5],[1,41],[-2,10],[3,23],[-9,9],[-3,11],[-5,0],[0,27],[5,19],[5,0],[6,16],[-5,18],[0,11],[-14,6],[-7,-9],[-7,-3],[-4,22],[2,23],[3,9]],[[3018,5865],[-19,-13],[-7,-27],[-6,-1],[-7,-26],[-5,-13],[-2,-37],[-11,-37],[11,7],[1,-11],[4,2],[4,-28],[8,-16],[1,-19],[-4,-7],[1,-28],[7,-3],[3,-18],[7,-5],[5,4],[18,-4],[9,7],[10,-10],[7,-1],[18,-46],[5,-2],[7,8],[11,-5],[29,8],[4,-18],[-6,-10],[0,-17],[-5,-6],[0,-66],[5,-28],[4,-2],[5,-17],[-15,-35],[7,-6],[11,-18],[0,-12],[4,-17],[5,-39]],[[3056,4939],[-8,22],[-6,-2],[-7,6],[18,59],[0,7],[-26,25],[-10,-10],[-2,7],[-8,7],[-6,-11],[-10,-7],[-8,6],[-9,-5],[-7,8],[2,12],[-2,17],[-10,6],[1,12],[-4,13],[-7,3],[-5,10],[-5,2],[-4,26],[-6,11],[-5,2],[-8,14],[-5,-2]],[[2909,5177],[-11,11],[-3,-1],[-7,15],[-8,7],[-3,-12],[-9,-1],[-19,10],[-1,14],[-7,11],[-11,5],[-13,16],[-7,13]],[[2810,5265],[-5,10],[5,13],[7,-2],[-3,14],[0,13],[7,19],[10,-5],[0,9],[9,-4],[1,22],[12,29],[0,6],[7,20],[-6,-5],[-4,5],[-1,15],[3,16],[-2,57],[-5,2],[9,12],[0,7],[-7,20],[3,5],[1,19],[-5,6],[-3,17],[-7,14]],[[2836,5599],[2,14],[13,12],[1,13],[4,2],[-6,28],[-3,3],[3,11]],[[2850,5682],[12,-31],[1,-12],[5,0],[-1,29],[-4,10],[7,5],[10,15],[6,23],[12,4],[2,15],[-3,1],[3,13],[-1,20],[3,2],[0,16],[8,14],[11,14],[9,-5],[-3,-8],[7,-4],[4,18],[1,14],[10,-3],[15,1],[6,12],[10,13],[13,10],[3,11],[-1,9],[6,1],[12,10],[8,-6],[3,-18],[-6,-10]],[[6235,4487],[1,-17],[-4,8],[3,9]],[[6207,4496],[-7,9],[1,21],[4,1],[-1,-12],[3,-19]],[[4324,6037],[-5,9],[5,2],[0,-11]],[[4340,6065],[8,-16],[-5,-7],[-4,7],[1,16]],[[4365,6116],[5,-8],[-8,-3],[3,11]],[[4303,6173],[3,-6],[-7,-10],[-3,11],[7,5]],[[2676,5812],[7,-32],[16,-36],[7,-10]],[[2706,5734],[-3,-5],[-5,7],[-2,-8],[0,-23],[6,-10],[-5,-4],[2,-19],[-6,-11],[4,-16]],[[2697,5645],[-2,11],[-5,9],[0,15],[-9,5],[5,-10],[0,-10],[-12,12],[3,27],[-8,14],[-10,11],[-11,8],[1,10],[-12,21],[-4,-7],[9,-12],[-6,-16],[-6,15],[-10,5],[-5,19],[1,16],[3,2],[1,15],[-8,5],[7,2],[0,9]],[[2619,5821],[2,7],[21,-15],[5,7],[13,-10],[0,-5],[8,-5],[8,5],[0,7]],[[2698,6446],[5,-3],[4,-17],[-10,-9],[-8,8],[7,1],[-4,15],[6,5]],[[2836,6454],[6,-1],[-1,-7],[-5,8]],[[2823,6481],[-2,-7],[-7,5],[9,2]],[[2914,6329],[-1,4]],[[2913,6333],[-1,0]],[[2912,6333],[-2,-4]],[[2910,6329],[-10,-1],[-15,6],[-21,-3],[-2,-3],[-21,-3],[6,17],[9,10],[3,9],[-8,15],[-19,-1],[-13,20],[-1,18],[-6,16],[-14,-5],[-10,8],[-8,0],[-10,11],[-5,10],[-13,-1],[-13,8],[-13,4],[-7,11],[12,1],[1,7],[-7,6],[-25,1],[-10,-21],[-7,-9],[-15,0],[-2,-15],[-3,2],[-11,-11],[1,10],[-11,-3],[10,9],[5,0],[-2,15],[3,11],[12,15],[14,8],[3,6],[19,3],[9,8],[27,-2],[3,-6],[15,2],[6,-8],[10,1],[11,-12],[9,-20],[15,-1],[13,-13],[5,-1],[7,-16],[12,-5],[-3,9],[12,-16],[5,-11],[23,-17],[0,-5],[12,2],[3,-6],[-5,-10],[2,-9],[20,1],[7,-5],[9,-19],[5,2],[2,-9],[-3,-6],[-13,0],[-10,-9]],[[3089,5876],[-11,16],[3,2],[8,-18]],[[5905,7209],[1,0]],[[5941,7202],[-6,-2]],[[5908,7209],[6,1],[0,11],[14,-4],[17,8],[15,13],[0,-3],[-19,-22],[3,-11]],[[5938,7197],[0,0]],[[5938,7197],[0,0]],[[5937,7198],[0,0]],[[5944,7202],[-3,-6]],[[5941,7196],[0,6]],[[5936,7198],[0,-1]],[[5936,7197],[-3,-9],[-16,-11]],[[5917,7177],[-8,1]],[[5909,7178],[-7,3],[-5,11],[1,9],[7,7]],[[5907,7209],[1,0]],[[5411,8112],[4,8],[9,-9],[14,-7],[6,-6],[12,-3],[-7,-8],[13,-20],[10,7],[-4,12],[9,-2],[19,-24],[4,4],[7,-7],[8,0],[8,-23]],[[5523,8034],[-8,-1],[-12,-15],[-1,-11],[-15,-14],[-9,4],[-8,-15]],[[5383,7990],[-10,11],[-13,20],[-10,9],[-7,17],[3,13],[-5,11],[6,13],[26,11],[3,8],[9,1],[13,9],[-2,8],[15,-9]],[[5255,7927],[0,0]],[[5394,8289],[0,-4]],[[5394,8285],[0,4]],[[5371,8330],[6,-3],[4,-14],[-11,-5],[-6,4],[1,12],[6,6]],[[5262,8339],[4,3],[12,-11],[5,-15],[13,-5],[11,2],[1,-9],[-10,-8],[12,-2],[8,-7],[5,14],[11,2],[14,11],[13,4],[3,-10],[10,-8],[6,2],[3,-17],[13,-10]],[[5396,8275],[3,-23],[-5,-27],[12,-14],[-3,-9],[7,-21],[-4,-20],[2,-11],[7,-4],[2,-14],[-6,-20]],[[5269,7921],[-15,12],[1,-6]],[[5210,7923],[-2,4],[8,55],[9,11],[2,10],[-16,4],[-4,7],[-18,-1],[-13,17]],[[5176,8030],[4,20],[-6,3],[-5,16]],[[5166,8104],[-3,14],[9,22],[0,9],[-8,12],[5,10],[8,-4],[10,5],[8,28],[-10,5],[2,9],[8,1],[4,18],[0,16]],[[5199,8249],[-3,19],[6,6],[21,2],[6,-18],[0,12],[8,-4],[2,20],[9,1],[-8,29],[10,6],[-9,13],[-1,9]],[[5240,8344],[22,-5]],[[6201,5844],[-9,-28]],[[6192,5816],[-6,4],[-22,-7],[-4,8]],[[6160,5821],[0,12]],[[6160,5833],[0,24],[10,22],[7,22]],[[6177,5901],[8,-6],[3,9],[9,11]],[[6197,5915],[6,-14],[2,-25],[-10,-14],[-7,-3],[-3,-11],[13,3],[3,-7]],[[3294,6081],[4,-5],[0,-15],[-3,-3],[-3,16],[2,7]],[[5312,8347],[17,-10],[-1,-7],[-10,-1],[-8,6],[2,12]],[[5348,8350],[-12,-5],[4,7],[8,-2]],[[5272,8355],[7,-12],[-8,2],[1,10]],[[5413,8363],[6,-13],[-9,3],[3,10]],[[5287,8385],[7,0],[6,-15],[-2,-16],[-19,1],[-11,24],[19,6]],[[5342,8415],[7,-3],[0,-22],[-11,-12],[8,-11],[-13,-8],[5,-3],[-8,-10],[8,-5],[-9,-11],[-4,32],[-13,0],[-2,28],[13,12],[5,-13],[14,26]],[[5247,8463],[-2,-13],[-9,0],[11,13]],[[5240,8344],[-2,32],[-14,7],[3,14],[6,5],[-4,11],[-4,-6],[0,34],[16,1],[7,12],[9,-10],[-3,15],[18,12],[-32,-9],[-5,-13],[-7,3],[11,20],[17,1],[9,6],[10,19],[20,10],[-6,-10],[3,-20],[-7,-15],[2,-23],[12,-1],[5,-6],[-6,-16],[-11,2],[-4,-20],[-20,-21],[6,-16],[-7,-5],[8,-8],[-8,-10]],[[3006,6222],[2,16],[-6,10]],[[3002,6248],[0,0]],[[3002,6248],[-1,2]],[[3001,6250],[-1,4]],[[3000,6254],[8,11],[-2,9],[4,12],[-4,32]],[[3006,6318],[3,11],[14,-4],[4,6],[11,-10],[5,1],[4,-8],[11,0],[4,-20],[6,2],[11,-3],[-2,-5],[-11,2],[0,-8],[24,-7],[12,-20],[-9,-23],[-8,11],[-17,0],[-9,4],[-8,-14],[-9,-2],[-3,12],[-9,-8],[-5,2],[1,-9],[-10,-31],[-6,8],[-4,17]],[[5238,7310],[2,-6],[-7,-4],[1,-6],[-8,-8],[6,-5],[-4,-35],[3,-10],[-1,-19],[4,-5],[-4,-8],[-3,-30],[-11,-11],[-1,-9],[-7,-8],[-1,-14],[7,-25],[0,-11],[10,-7],[6,-15],[2,-20],[19,-24],[7,-62],[6,-44]],[[5264,6924],[-7,-7],[11,-29],[5,-37],[-2,-44],[4,-19],[-5,-34],[2,-21],[3,-4],[-2,-20],[-10,-9],[-3,-10],[18,-52],[0,-25],[5,-5],[1,-10],[6,-6],[7,5],[21,-13],[3,-4],[11,-43]],[[5332,6537],[-28,-35],[-99,-122],[-24,-40],[-17,-32],[-8,-8],[-39,-15]],[[5117,6285],[-26,-9],[-5,7],[4,15],[-2,11],[1,14],[-8,8],[-12,4],[-9,16],[-2,-4],[-9,5],[-4,14],[-14,12],[1,19],[-14,18],[-28,40],[-8,9],[-36,49],[-21,30],[-8,9],[-51,70]],[[4866,6622],[-64,78],[-16,21],[-28,33]],[[4758,6754],[0,22]],[[4758,6776],[0,59],[12,18],[18,22],[7,0],[8,8],[10,0],[27,5],[6,-5],[7,21],[11,17],[11,11],[6,11],[17,8],[3,14],[-8,21],[4,4],[1,15],[23,9],[-3,14],[12,5],[35,-3],[0,17],[6,7],[-11,14],[-4,11],[2,8],[-5,10],[2,18],[-4,8],[2,24],[-4,15],[3,6],[-4,7],[2,9],[-12,19]],[[4938,7203],[8,0],[18,16],[2,12],[11,12],[8,0],[1,7],[6,-5],[8,2],[5,15],[24,22],[25,4],[10,4],[8,-2],[11,13],[3,-4],[12,2],[9,8],[21,-1],[13,-7],[8,-8],[10,11],[14,5],[6,10],[12,-12],[8,2],[0,9],[9,-1],[7,-10],[13,4],[10,-1]],[[2774,5010],[-4,-1],[0,11],[5,9],[5,-3],[-6,-16]],[[2519,5143],[-4,-14],[-5,0],[9,14]],[[2493,5154],[0,-14],[-8,2],[1,11],[7,1]],[[2459,5168],[2,-12],[-7,2],[-1,8],[6,2]],[[2478,5174],[6,-6],[-5,-6],[-4,5],[3,7]],[[2463,5192],[4,-22],[6,-11],[-1,-9],[6,-10],[-4,-13],[-13,-3],[-3,10],[12,14],[-9,21],[-3,18],[5,5]],[[2909,5177],[-10,0],[6,-20],[4,-4],[-1,-13],[2,-13],[-5,0],[-4,-27],[-15,-40],[-16,-25],[-33,-24],[-9,-21],[1,-7],[-6,5],[-1,-22],[-8,-31],[-1,-17],[-4,-3],[-1,-12],[-4,-7],[-8,2],[-5,16],[0,9],[-8,2],[-9,11],[-8,-11],[-2,5],[4,10],[-5,9],[10,10],[-2,22],[-3,6]],[[2768,4987],[11,12],[6,40],[-3,5],[-4,-11],[-1,15],[-7,-22],[-11,18],[-7,5],[5,13],[-1,22],[-2,5],[2,15],[-4,19],[10,7],[3,21],[-1,11],[12,24],[1,31],[-2,13],[12,11],[19,9],[4,15]],[[5949,6986],[2,-6]],[[5951,6980],[17,-99]],[[5968,6881],[-4,-12],[-3,-33],[-5,-16],[0,-26],[-5,-14],[-13,15],[-6,17],[-10,16],[-1,26],[-8,12],[-5,14],[-2,23],[-4,-1],[-4,-16],[6,-10],[3,-16],[0,-14],[4,-6],[14,-42],[5,-5],[5,-36],[4,-4],[5,-25],[0,-11],[11,-43],[15,-51],[8,-35],[15,-29],[-8,3],[2,-41],[3,-16],[6,-13],[10,-6],[2,-8],[16,-29]],[[6024,6449],[-78,0],[-73,0],[0,14],[-6,-14],[-57,0],[-71,0],[-46,0]],[[5693,6449],[0,421],[-3,10],[-1,24],[-4,13],[6,20],[3,17],[-4,22],[0,14],[8,16]],[[5698,7006],[1,-7],[7,-2],[12,7],[14,-6],[27,-8],[1,-7],[8,-5],[5,4],[4,-9],[21,-6],[8,-9],[13,7],[16,22],[4,-4],[4,14],[3,-3],[11,6],[-9,-10],[9,2],[7,11],[13,-9],[8,5],[-3,-15],[7,-4],[1,-7],[6,2],[0,9],[6,-10],[7,-4],[31,7],[9,9]],[[6111,6097],[3,-11],[8,-6],[-12,2],[-2,8],[3,7]],[[6177,5901],[-6,15],[-8,12],[-5,18],[-14,19],[-7,23],[-5,10],[-10,7],[-5,9],[-9,-1],[-10,9],[-10,-6],[-5,10],[-3,-8],[-13,-5],[-6,16],[-3,-1],[-6,12],[-9,-45],[-6,19],[-5,1],[-2,-8],[-10,1],[-6,-4]],[[6014,6004],[-3,51],[6,17],[1,18],[3,5],[5,24],[-2,23],[3,6],[-1,17],[12,-2],[3,17],[21,13],[5,18],[5,9]],[[6072,6220],[9,-35],[0,-9],[6,-31],[1,-24],[3,-23],[4,-4],[0,-17],[5,-2],[2,-22],[4,-1],[-2,18],[3,4],[6,-7],[0,-17],[6,-8],[3,5],[6,-3],[3,-12],[12,-6],[12,-31],[2,-9],[9,-6],[3,-12],[3,1],[4,-13],[1,-13],[4,2],[6,-13],[0,-8],[10,-9]],[[5941,7196],[-3,1]],[[5938,7197],[-2,0]],[[4503,6784],[-3,-9],[-5,3],[8,6]],[[4571,6803],[1,-17],[-5,-6],[-6,6],[2,19],[8,-2]],[[4552,6828],[-7,-11],[-2,-14],[-7,-8],[-6,21],[12,4],[4,8],[6,0]],[[4604,6803],[7,35],[5,-4],[-4,-26],[-8,-5]],[[4503,6844],[4,-7],[-3,-16],[-4,14],[3,9]],[[4626,6861],[0,-6],[-9,-10],[-1,11],[10,5]],[[4919,7214],[-1,3]],[[4918,7217],[1,-3]],[[4851,7247],[-1,5]],[[4850,7252],[1,-5]],[[5043,7435],[2,-6],[-6,-9],[-6,2],[10,13]],[[5088,7483],[0,-11],[8,0],[-7,-23],[-4,-6],[-8,7],[-3,10],[-9,0],[9,14],[14,9]],[[5114,7490],[6,-11],[-3,-3],[-12,12],[9,2]],[[5055,7627],[0,0]],[[4950,7681],[11,-8],[1,-9],[16,-8],[6,-11],[6,3],[8,-7],[20,0],[0,9],[18,-7],[3,-7]],[[5047,7630],[8,-9],[8,4],[6,-5],[12,8],[7,-3]],[[5088,7625],[4,-5],[-6,-6],[3,-18],[-4,-6],[-23,-20],[-3,-10],[-17,-6],[-15,-8],[-8,-13],[5,-6],[-8,-7],[-7,-18],[-8,-14],[-11,-32],[3,-21],[6,-15],[7,-7],[-21,-22],[-9,-36],[4,-6],[-19,-4],[-12,-20],[-2,-15],[-7,-12],[-5,6],[-7,-1],[-3,-8],[-6,4],[-42,-1],[-7,-13],[-15,-5],[-4,-16]],[[4851,7264],[0,0]],[[4851,7264],[-6,-7],[-14,11],[-9,24],[-2,18],[-12,13],[-14,2]],[[4794,7325],[-3,18],[7,27],[6,2],[3,10],[-5,0],[-6,14],[1,17],[6,6],[3,12],[-5,3],[-5,22],[-6,12],[14,0],[4,14],[-4,17],[7,8],[-1,30],[-3,6],[8,16],[6,4],[6,14],[-10,6],[0,16],[-16,2],[-2,-7],[-11,-3],[-3,3],[-13,-3],[3,13],[-4,6],[-15,-10]],[[4756,7600],[-4,7],[8,12],[-7,6],[1,13],[-6,-4],[1,10],[-7,18],[12,17],[5,-3],[11,5],[-2,4],[13,17],[6,2],[13,-13],[36,2],[14,-2],[17,-9],[16,0],[17,6],[3,-6],[11,-2],[10,4],[16,-8],[10,5]],[[5628,8557],[8,2],[12,-10],[-17,-13],[-15,-4],[-10,7],[0,13],[22,5]],[[5631,8581],[8,-10],[-15,-8],[-3,11],[-9,4],[19,3]],[[5778,8608],[4,-7]],[[5782,8601],[-5,-1]],[[5777,8600],[3,-1]],[[5780,8599],[-7,-9]],[[5773,8590],[-4,-10]],[[5769,8580],[-12,1],[-9,-8],[13,-28],[6,-22]],[[5767,8523],[5,-8],[-7,-3],[-6,-16]],[[5759,8496],[-14,5],[-8,-6],[-15,19],[-26,13],[-21,-12]],[[5675,8515],[7,26],[-10,-3],[-13,5],[-6,13],[-3,20],[6,3],[-5,14],[18,5],[6,10],[30,1],[8,10],[35,-13],[27,-2],[3,4]],[[6160,5833],[0,-12]],[[6192,5816],[-8,-22],[5,-23],[5,-13],[6,-8],[1,-13],[4,-12],[5,-4],[12,-21],[51,-34],[31,-23],[28,0]],[[6332,5643],[-21,-43],[-31,-61],[-14,-31],[-14,-34],[-5,-9],[-27,3],[-20,-14],[-8,-12],[-1,-8],[-9,-7],[-12,-2],[-7,-13]],[[6163,5412],[-19,-3],[-3,2],[-9,19],[-26,-24],[-8,-27],[-25,12],[-15,0],[-7,11],[-28,36],[-23,1],[-3,10]],[[5997,5449],[-4,8],[0,27],[-2,9],[-11,-2],[-1,9],[-5,7],[-3,12],[0,13],[-4,11],[-3,24],[-6,5],[0,8],[-6,4],[-7,24],[-9,16],[-19,8],[-1,9],[5,9],[0,17],[12,3],[2,-5],[7,3],[5,9],[-1,50]],[[5946,5727],[4,33],[3,9],[-1,22],[7,18],[6,-7],[5,5],[0,25],[4,16],[-1,14],[6,8],[2,12],[11,31],[11,1],[0,19],[3,19],[6,24],[2,28]],[[5634,8649],[-3,-11],[-9,9],[12,2]],[[5804,9158],[-14,-7],[8,-9],[-8,-12],[7,-21],[18,-7],[18,-21],[-2,-10],[-23,-30],[-1,-9],[13,-20],[11,-25],[5,-23],[-10,-1],[2,-32],[-7,-6],[6,-11],[9,-1],[-2,-23],[14,-8],[1,-11],[-17,-18],[14,-16],[21,-15],[9,-17],[-9,-24],[-25,-28],[-15,-23],[-18,-22],[-10,-7],[-27,-31]],[[5772,8670],[-31,-8],[-19,-2],[-8,-8],[-15,0],[-6,-6],[-38,-11],[-10,-6],[-10,17],[3,10],[-12,-6],[2,10],[-10,0],[-12,14],[-5,-7],[-8,8],[-2,23],[5,3],[3,23],[-5,25],[-5,3],[3,22],[-6,2],[3,27],[13,9],[-5,12],[11,-3],[13,8],[-5,9],[17,9],[3,10],[13,6],[10,18],[17,18],[5,16],[25,8],[-4,14],[2,17],[-33,19]],[[5671,8973],[-15,37],[10,20],[-12,20],[5,16],[-7,26],[5,3],[-23,26],[-21,5],[-41,32]],[[5572,9158],[12,1],[7,14],[10,-2],[21,-31],[22,-6],[20,12],[27,-15],[7,13],[18,12],[-1,17],[6,22],[15,15],[16,-2],[22,10],[17,-16],[18,-7],[6,-12],[-14,-14],[3,-11]],[[9954,4093],[-5,-13],[-7,0],[12,13]],[[9951,4184],[0,-5],[9,-12],[2,-26],[-10,-2],[-3,-6],[-10,-2],[-15,11],[-1,12],[5,7],[-2,6],[7,12],[18,5]],[[0,4252],[9987,-23],[-2,-11],[4,2],[7,14],[0,-17],[-16,-2],[-1,7],[-11,-10],[-4,-9],[-7,15],[12,16],[13,4],[2,8],[-9984,6]],[[3351,2225],[4,-3],[-17,-28],[-11,-4],[-4,-11],[-8,-4],[-11,12],[16,3],[-4,17],[12,1],[-13,15],[11,-5],[9,6],[15,-3],[1,4]],[[3368,2227],[7,2],[4,-8],[12,3],[4,-18],[-17,-11],[-16,0],[8,-4],[-12,-6],[1,-10],[-11,5],[3,-11],[-9,12],[6,17],[13,11],[-3,14],[10,4]],[[6541,3981],[5,-2],[5,-13],[-1,-13],[-7,-1],[-6,6],[-4,14],[8,9]],[[6252,4454],[4,-5],[-1,-13],[-3,-1],[0,19]],[[3483,5317],[7,10],[4,16],[2,29],[4,19],[-10,24],[-3,26],[-1,25],[4,16],[5,9]],[[3495,5491],[3,5],[3,18],[12,-10],[11,-4],[6,-6],[10,-19],[22,-31],[3,-18],[-1,-11]],[[3306,6034],[4,-11],[-1,-7],[-9,13],[1,11],[5,-6]],[[3288,6120],[2,-14],[-4,-5],[-3,22],[5,-3]],[[3295,6124],[5,-5],[-9,-3],[1,18],[3,-10]],[[5262,7641],[2,-7],[1,-27],[-4,-7],[-2,-24],[-7,-9],[-8,9],[3,8],[-7,3],[2,19],[-5,15],[3,10],[13,13],[6,-1],[3,16],[0,-18]],[[5160,8036],[5,-6],[11,0]],[[5172,7849],[16,7]],[[5195,7827],[-7,-5],[5,-18],[5,-6],[-2,-11],[-13,-6],[3,-11],[8,-5],[1,-9],[-6,-11],[4,-14],[10,-7],[9,3],[-4,-22]],[[5208,7705],[-2,-3]],[[5206,7702],[-2,-1]],[[5204,7701],[-11,-10],[-9,-23],[-14,-6],[-22,9],[0,7],[-15,1],[-7,6],[-11,0],[-5,6],[-13,-17],[-10,-6],[-3,-9],[0,-26],[4,-8]],[[4950,7681],[9,13],[6,48],[-1,11],[4,49],[11,-11],[0,8],[-14,16],[3,6],[1,26],[-20,14],[-9,18],[4,14],[-5,12],[-8,1],[-3,15],[-6,-3],[-11,11],[-18,6],[-4,6],[-11,-5],[0,7],[-9,7],[12,5],[-14,12],[1,13],[10,6],[22,0],[2,9],[12,2],[10,-20],[12,9],[16,-4],[4,8],[-1,28],[-6,8],[0,18],[16,0],[-1,-11],[5,-6],[30,-4],[8,7],[-5,3],[2,11],[10,9],[18,7],[11,15],[0,37],[10,8],[17,4]],[[4800,8771],[13,-21],[-14,13],[1,8]],[[4808,8772],[9,-11],[-11,3],[2,8]],[[9394,5584],[3,-9],[-4,-1],[1,10]],[[5308,4956],[-3,13],[-10,15],[0,9],[-17,28],[-8,19],[7,-8],[5,3],[-8,8],[-7,1],[-2,13],[-9,21],[1,10],[8,2],[-2,7],[-4,-5],[-9,16],[-1,11],[-6,18],[5,6],[2,-7],[2,12],[6,13],[1,14],[-1,27],[2,-7],[11,-2],[-8,7],[-5,19],[9,-6],[-2,24],[3,7],[4,-4]],[[5272,5240],[6,1],[36,-1],[0,68]],[[4964,8107],[6,-6],[-7,-6],[-6,6],[7,6]],[[4883,8252],[-4,-10],[-6,16],[10,-6]],[[4825,8298],[-11,-2],[-8,20],[-10,-17],[-14,5],[-9,13],[11,10],[-5,6],[11,2],[8,19]],[[4798,8354],[20,10],[13,-2],[0,-8],[18,-35],[-7,-6],[-11,-19],[-6,4]],[[4857,8375],[-7,14],[7,-1],[0,-13]],[[4830,8398],[2,-9],[-7,-6],[-6,6],[1,10],[10,-1]],[[4839,8409],[-5,-13],[-4,6],[9,7]],[[4832,8443],[11,-10],[-2,-5],[-18,-4],[7,10],[-7,5],[9,4]],[[4795,8489],[3,-18],[-4,1],[1,17]],[[4800,8503],[1,-8],[-10,7],[9,1]],[[4824,8506],[5,-20],[14,-6],[-9,-6],[-10,1],[-13,15],[11,5],[2,11]],[[4827,8543],[-5,-20],[-16,-15],[3,11],[-7,3],[2,15],[23,15],[0,-9]],[[4907,8560],[9,0],[-6,-20],[-22,-20],[6,-7],[-8,-14],[22,8],[20,-3],[16,2],[7,-13],[-6,-9],[-6,-24],[-9,-18],[-10,-8],[8,-10],[-21,-15],[9,-4],[11,6],[13,-8],[14,-19],[4,-29],[8,-27],[19,-9],[4,-13],[8,-7],[-4,-5],[11,-24],[-7,1],[12,-23],[-7,-19],[8,-7],[5,11],[20,-2],[11,-10],[3,-16],[-5,-24],[-4,0],[-14,-26],[-11,-12],[12,-3],[13,1],[-3,-14],[-11,-13],[-5,1],[-14,-11],[-12,6],[-18,-6],[-3,7],[-18,-7],[-14,-1],[2,-8],[-27,9],[-13,-6],[-2,-17],[-8,-7],[-11,10],[-16,-3],[-12,-21],[-8,10],[19,25],[7,14],[1,12],[6,-1],[2,11],[12,3],[11,-4],[11,2],[8,20],[-23,-9],[-8,12],[-13,-3],[0,6],[-10,3],[-8,-7],[-10,18],[13,6],[20,18],[2,9],[-2,24],[-17,-4],[11,12],[5,11],[27,10],[8,19],[-4,11],[5,2],[-1,14],[-9,-6],[-11,23],[9,26],[-19,-10],[-11,5],[1,-10],[-13,10],[-5,-5],[-1,21],[11,19],[-15,29],[-8,-15],[-4,-23],[-5,-1],[3,22],[-1,18],[5,24],[8,18],[-12,-13],[-5,11],[0,17],[5,10],[-6,19],[7,25],[12,0],[-5,20],[11,21],[20,-6],[26,7]],[[4912,8589],[-2,-13],[-4,10],[6,3]],[[4964,8673],[4,-27],[-15,5],[9,7],[2,15]],[[6206,7550],[-23,27],[-5,-9],[-8,5],[-9,-5],[-8,5]],[[6153,7573],[7,17],[-8,51],[-10,6],[-3,11],[-21,13],[-8,10]],[[6110,7681],[2,9],[16,0],[27,-19],[21,2],[7,-6],[6,1],[10,-14],[17,-9],[-2,-8],[6,-4],[16,12],[7,-8],[4,8],[11,-14],[11,0],[-2,-18],[8,-10],[14,-9]],[[4995,5824],[5,-3],[-3,-26],[10,-13],[3,-27],[-4,-30],[8,0],[-2,-24],[2,-8],[-4,-8],[9,-19],[-3,-11],[0,-28],[-3,-15],[4,-3],[-1,-23],[-3,-2],[6,-28],[8,-9],[5,-13]],[[5032,5534],[-7,-19],[-15,1],[-21,-17],[-12,-16],[-6,0],[-6,-7],[-11,-5],[-10,-15],[-7,8],[-24,12]],[[4913,5477],[8,2]],[[4851,7264],[0,0]],[[4683,5897],[-3,-14],[6,-9],[6,11],[4,0],[8,-17],[4,13],[5,5],[16,-11],[2,7],[14,19],[5,-5],[2,-20],[3,-1],[-1,-21],[13,-17],[-9,-23],[5,5],[6,-3],[0,-28],[9,-12],[0,-8]],[[4764,5618],[-6,8],[-1,-12],[-11,-17],[-5,13],[-4,0],[3,19],[-5,25],[0,11],[-8,10],[-7,-7],[-6,3]],[[4714,5671],[-3,1],[-5,-11],[-3,4],[5,15],[-3,10],[0,15],[-4,1],[2,13],[-15,39],[-19,0],[-17,-7],[-5,-26],[-12,-21],[-5,-1]],[[4630,5703],[4,8],[-12,23],[0,12],[-4,-2],[-6,13],[-20,29],[4,20],[-5,-10],[-3,21],[-4,-14],[-2,11]],[[4582,5814],[8,30],[12,8],[16,4],[0,19],[-6,11],[7,3],[-1,24]],[[4618,5913],[19,-3],[-1,-8],[17,-6],[3,-5],[7,6],[20,0]],[[4534,5935],[-2,17],[4,7],[8,-14],[5,5],[-8,2],[-1,13]],[[4540,5965],[29,0],[4,12],[7,2],[8,-5],[2,-7],[6,1],[4,-10],[12,7],[3,-14],[-15,-6],[-5,7],[-11,6],[-6,7],[-1,-9],[-5,-4],[-12,-1],[0,-11],[-24,1],[-2,-6]],[[4553,5826],[1,-7],[-6,3],[5,4]],[[4582,5814],[-1,9],[-5,-7],[-7,20],[5,15],[8,-2],[-9,7],[-2,-8],[-3,8],[2,11],[8,-1],[-5,6],[-6,-7],[-11,-6],[3,14],[-7,-6],[-6,6],[1,13],[-5,-2],[-7,9]],[[4535,5893],[14,7],[15,-1],[13,14],[41,0]],[[5272,5240],[-3,6],[-10,3],[3,15],[10,28],[0,26]],[[5243,5399],[5,-8],[-8,-24],[-6,4],[0,10],[4,1],[1,11],[4,6]],[[5663,7229],[13,-11],[9,5],[22,-8],[8,3],[-1,-12],[9,6],[7,-7],[-2,-5],[-25,-2],[-16,-4],[0,9],[-10,6],[-24,5],[1,17],[4,5],[5,-7]],[[5756,7245],[-1,-17],[-3,-5],[4,22]],[[5640,7268],[-4,-2],[0,12],[4,-10]],[[5784,7281],[-5,-19],[-8,-12],[-2,13],[5,13],[10,5]],[[5710,7319],[-4,-10],[-2,10],[6,0]],[[5731,7350],[-10,-7],[2,7],[8,0]],[[5748,7357],[-5,-6],[-5,6],[10,0]],[[5576,7363],[5,-7],[-4,-5],[-5,10],[4,2]],[[5690,7366],[3,-13],[-8,16],[5,-3]],[[5571,7398],[6,-23],[-8,2],[-3,14],[5,7]],[[5723,7405],[3,-16],[-4,-9],[-5,25],[6,0]],[[5651,7423],[11,-14],[8,0],[5,-29],[7,0],[0,-10],[-7,1],[-8,23],[-11,0],[-1,9],[-12,17],[-9,-1],[13,12],[4,-8]],[[5733,7446],[6,-17],[-13,0],[4,10],[-10,-4],[-2,8],[13,8],[2,-5]],[[5553,7474],[-2,-18],[-5,18],[7,0]],[[5706,7488],[-2,-14],[-9,3],[0,9],[11,2]],[[5688,7522],[-8,1],[4,10],[4,-11]],[[5586,7536],[18,3],[4,11],[23,3],[5,10]],[[5731,7585],[7,-8],[1,-14],[-8,-6],[0,-15],[-8,-13]],[[5723,7529],[-3,5],[-11,2],[-11,8],[-12,-10],[-8,6],[-9,-12],[-11,1],[4,-19],[-4,-10],[8,-6],[-1,-11],[-9,17],[-8,0],[0,-6],[10,-14],[-9,6],[-2,14],[-12,9],[0,14],[-6,-6],[-3,-28],[8,-15],[2,-11],[5,-6],[7,-17],[-11,9],[-4,-7],[6,-16],[-9,-6],[17,-11],[0,-9],[8,-2],[13,-15],[-2,-5],[2,-25],[-3,-1],[-12,22],[-15,-11],[5,-3],[0,-11],[10,-10],[-11,-8],[-11,16],[0,-8],[7,-21],[3,-20],[0,-17],[-11,22],[-5,-6],[-4,-14],[0,13],[-6,19],[-6,-1],[0,-14],[-7,3],[-3,13],[3,14],[-3,15],[-13,17],[7,16],[7,2],[6,9],[19,-10],[10,-12],[9,10],[-5,6],[-17,14],[-1,-6],[-12,4],[-12,-7],[-4,8],[-8,-4],[-5,24],[-4,-1],[-1,16],[-13,20],[-2,14],[-5,4]],[[5583,7526],[0,0]],[[5582,7531],[4,5]],[[3288,5876],[-5,-2],[5,13],[0,-11]],[[3786,8632],[-12,-4],[4,9],[8,-5]],[[3787,8645],[3,-11],[-11,4],[-4,10],[12,-3]],[[3846,8835],[12,-11],[-9,0],[-12,15],[9,-4]],[[3579,8886],[3,14],[6,-4],[-9,-10]],[[3876,8910],[-1,-14],[-10,26],[11,-12]],[[3961,8973],[2,-9],[-18,-2],[0,10],[16,1]],[[3583,9209],[9,-5],[-9,-16],[-11,9],[11,12]],[[3535,9210],[20,-7],[5,-10],[-9,-9],[-40,-14],[-19,9],[8,9],[-21,2],[3,11],[-6,23],[14,9],[30,-7],[15,-16]],[[4292,9258],[5,-6],[-22,-8],[-56,-5],[5,12],[24,14],[11,0],[27,11],[6,-18]],[[3513,9274],[-13,6],[9,10],[4,-16]],[[3537,9281],[-14,10],[21,1],[-7,-11]],[[3472,9375],[-13,-11],[-4,9],[17,2]],[[4335,9380],[22,-3],[33,-25],[-20,4],[17,-11],[-5,-9],[-50,20],[-10,8],[0,15],[13,1]],[[4354,9391],[36,-8],[-3,-13],[-17,-1],[-14,11],[-38,1],[0,5],[36,5]],[[4333,9407],[21,-8],[-47,6],[55,-12],[-48,-4],[-29,9],[13,12],[35,-3]],[[4418,9469],[11,-1],[11,-14],[-32,-5],[-18,7],[3,8],[25,5]],[[4439,9496],[13,-2],[-12,-10],[-14,7],[13,5]],[[4505,9520],[-7,-8],[21,-2],[-15,-6],[-30,-2],[2,17],[29,1]],[[4481,9596],[3,-41],[-16,34],[13,7]],[[2994,9643],[23,-5],[-21,-3],[-2,8]],[[4445,9674],[18,-11],[-32,9],[14,2]],[[4519,9788],[-33,-16],[-26,9],[49,14],[10,-7]],[[3575,9904],[-53,7],[4,13],[49,-20]],[[3722,9942],[44,-15],[-28,-11],[-44,11],[-20,15],[48,0]],[[3880,9983],[38,-14],[-47,9],[9,5]],[[4105,9998],[43,-1],[139,-17],[-12,-6],[-116,-3],[-142,-14],[100,5],[47,8],[96,-4],[39,6],[2,-18],[34,4],[72,-17],[-31,-17],[-54,-4],[-152,-7],[-81,-17],[1,-9],[30,8],[107,13],[89,-4],[-3,-12],[-44,-9],[-2,-11],[85,20],[2,14],[51,4],[11,-19],[-7,-14],[-56,-36],[-16,-18],[53,26],[58,30],[75,-8],[37,24],[53,-1],[57,-12],[13,-8],[-64,-27],[-24,0],[7,-12],[-31,-8],[-46,1],[36,-15],[-18,-11],[-40,-3],[-44,6],[-25,-22],[11,-12],[20,3],[-9,-21],[17,-12],[-27,-8],[0,-11],[-28,-2],[-11,-42],[-18,-22],[18,0],[10,17],[51,-16],[-6,-10],[-19,10],[-22,-2],[38,-26],[10,6],[21,-5],[2,-18],[-10,-12],[-35,13],[-27,-3],[-24,-13],[-13,12],[-14,-8],[10,-12],[18,1],[0,-16],[19,4],[30,-4],[6,-11],[-15,-4],[21,-14],[3,-29],[-17,-4],[-4,9],[-16,-2],[-26,17],[8,-12],[24,-14],[-8,-27],[30,-5],[7,6],[13,-11],[-18,-15],[-16,2],[-7,11],[-36,-2],[-11,-18],[9,-27],[-2,21],[9,3],[36,-10],[-7,-26],[-28,3],[-18,-14],[-36,11],[-14,9],[-1,13],[-10,-16],[-25,-4],[-17,-16],[24,-7],[-16,-14],[22,-6],[6,-12],[-19,-7],[21,1],[23,-15],[33,-16],[-17,-14],[20,9],[14,-3],[-17,-11],[2,-17],[9,14],[10,-1],[0,-35],[8,-18],[-13,-10],[-11,3],[-7,22],[-2,-22],[-19,0],[-16,10],[-9,27],[-24,13],[-15,14],[-20,5],[-16,-3],[-26,23],[-16,-2],[31,-13],[-8,-6],[26,-8],[25,1],[11,-12],[-16,-13],[-24,-7],[-44,2],[14,-7],[-11,-17],[2,-11],[40,7],[13,-6],[-17,-3],[-27,-14],[-16,-3],[34,-3],[11,16],[15,-4],[29,13],[23,-11],[25,-7],[33,0],[0,-8],[-14,0],[-4,-12],[-19,-2],[1,-10],[-13,-8],[-17,-1],[2,-9],[-26,-21],[-31,-10],[-13,-9],[-23,1],[1,-6],[-24,-7],[-9,4],[-5,-11],[-18,10],[-1,-16],[-30,-3],[-30,17],[6,-17],[-4,-12],[-11,1],[-16,-12],[-12,-33],[-13,-5],[-1,-15],[-27,-26],[-15,-2],[-14,-18],[-13,3],[-20,-12],[-17,14],[15,16],[-12,0],[-7,-21],[-14,-1],[8,-16],[-17,1],[-7,-6],[-8,9],[-14,-12],[2,-15],[-14,-14],[-10,8],[-13,-3],[1,-12],[14,-11],[-1,-13],[-13,-9],[-12,1],[3,-8],[18,-1],[7,-27],[-13,0],[6,-7],[-18,-12],[-13,6],[12,-15],[-4,-15],[-21,-8],[-6,-11],[9,-15],[-21,9],[12,-11],[9,-1],[-8,-21],[11,5],[-6,-22],[-8,-6],[7,-7],[-17,-13],[9,-6],[-3,-17],[-20,3],[20,-7],[-12,-15],[-11,5],[14,-18],[0,-9],[-29,6],[-13,-12],[-12,10],[3,19],[-9,0],[6,10],[-15,-11],[-11,20],[6,8],[-3,10],[-10,-9],[-22,-8],[3,7],[-19,-8],[-17,0],[14,12],[-20,6],[-4,9],[7,5],[-20,5],[-1,9],[-10,13],[8,10],[-10,16],[-15,2],[-8,9],[5,28],[-12,7],[15,8],[-28,-3],[-2,19],[-11,10],[3,23],[-6,8],[14,-1],[13,13],[6,16],[9,-13],[-4,16],[-11,4],[-15,-12],[2,10],[-19,-33],[-9,0],[1,29],[22,16],[-10,2],[-8,-13],[-23,50],[-12,0],[-4,23],[19,15],[18,9],[21,21],[-21,-13],[-3,-7],[-33,-23],[-9,1],[1,22],[11,11],[16,-1],[5,10],[-34,3],[-6,14],[49,13],[17,-3],[12,6],[-28,-2],[-28,-7],[-21,-2],[2,10],[25,18],[15,2],[12,-7],[24,4],[-49,5],[-24,-17],[0,18],[22,10],[-5,12],[15,-1],[16,-8],[21,2],[-6,8],[7,12],[-13,0],[9,-8],[-31,-6],[-3,7],[-15,-1],[13,14],[18,4],[23,-2],[-5,11],[7,22],[16,-8],[0,19],[-17,-7],[10,18],[-2,11],[15,4],[-8,11],[-24,0],[-25,5],[-25,17],[-22,4],[-15,18],[11,6],[48,-8],[25,-15],[24,-6],[5,11],[-14,-6],[1,16],[-24,21],[17,-6],[-5,9],[-22,-1],[16,9],[-4,6],[-19,-12],[5,13],[24,4],[-8,4],[-21,-8],[-7,9],[25,4],[-41,6],[-4,7],[-14,-11],[0,-11],[-14,-5],[-24,1],[-17,17],[17,13],[-8,8],[19,13],[-21,11],[17,5],[10,12],[-3,15],[-18,4],[4,18],[-30,38],[7,13],[-16,5],[7,11],[-21,13],[4,8],[-31,10],[-14,17],[13,3],[-7,17],[-16,-2],[-4,10],[-26,9],[-17,-2],[-4,9],[-42,5],[-31,8],[-6,-11],[-27,5],[1,-9],[-35,-1],[7,10],[-15,1],[-6,-12],[-18,11],[-7,-6],[23,-12],[-58,9],[-30,15],[36,17],[-57,7],[-26,11],[12,12],[50,5],[21,6],[50,-3],[14,9],[-19,13],[-24,-11],[-45,-4],[-29,6],[21,8],[-33,-1],[13,9],[-30,-4],[-44,23],[8,21],[91,16],[8,10],[43,9],[42,-2],[31,23],[-5,30],[-56,2],[-12,15],[39,20],[28,7],[8,12],[46,13],[44,-9],[16,6],[6,19],[-19,15],[104,24],[90,11],[24,-14],[-6,-33],[24,17],[-1,11],[85,-18],[-31,13],[44,0],[-31,12],[-15,20],[65,-8],[77,-19],[22,-14],[25,1],[-8,28],[38,-1],[-68,26],[132,2],[-157,7],[28,14],[74,4],[6,5],[54,-17],[95,1],[-42,3],[53,5],[-49,3],[0,13],[180,11]],[[2530,6098],[8,-8],[4,5],[7,-7]],[[2549,6088],[-17,-28],[-9,-9],[-2,-15],[2,-14],[-6,-9]],[[2517,6013],[-6,-1],[2,-10],[-5,-3],[-10,-17],[-1,-9]],[[2497,5973],[-15,12],[-19,1],[-9,9],[-17,25]],[[2437,6020],[3,7],[-1,33],[1,10],[11,38],[36,0],[2,20],[-7,4],[-4,17],[-8,7],[-1,7],[-9,13],[12,0],[1,33],[50,0]],[[9022,5957],[-2,-11],[-3,10],[5,12],[4,-3],[-4,-8]],[[3409,5499],[-2,-9],[4,-10],[-2,-8],[-13,-2],[-5,-8],[2,-9],[-6,-39],[4,-7],[2,-13],[5,-8],[0,-8],[10,0],[2,-28],[6,-15],[0,-8],[9,-27],[6,-5]],[[3312,5482],[-18,43],[8,14],[-2,28],[9,7],[5,-2],[11,21],[-7,0],[-5,21],[5,19],[5,3],[15,22],[-6,18]],[[3332,5676],[4,-9],[7,-3],[15,-20],[17,-36],[1,-15],[-4,-18],[1,-10],[3,13],[4,2],[10,-8],[9,-18],[2,-9],[6,-1],[5,-11],[0,-27],[-3,-7]],[[8172,6482],[5,-7],[-5,-9],[-9,5],[5,9]],[[7037,2130],[10,-6],[-7,-4],[-3,10]],[[2691,6046],[-12,-1],[-4,-8],[-12,-4],[-8,-7],[-8,2],[-3,9],[-6,-6],[-4,-11],[0,-12],[-5,-3],[-5,-13],[-6,-5],[0,-7],[-8,9],[-8,-14],[-13,-2],[2,-26],[-6,-2],[0,-10],[-11,-5]],[[2574,5930],[-4,22],[-10,3]],[[2560,5955],[3,17],[-2,12],[-6,-1],[-3,6],[-10,-8],[0,7],[-7,3],[-8,17],[-10,5]],[[2549,6088],[8,9],[7,2],[7,-7],[2,4],[12,-6],[4,3],[12,-1],[13,11],[15,-6],[11,6],[18,-9],[13,-22],[-8,6],[10,-19],[8,0],[-7,9],[9,-6],[4,-13],[4,-3]],[[5512,7634],[1,-9]],[[5513,7625],[-8,12],[-27,21],[12,-5]],[[5466,7679],[-8,-5],[-2,8],[10,-3]],[[5412,7751],[11,-14],[-10,8],[-1,6]],[[5401,7772],[0,-20],[-5,27],[5,-7]],[[5404,7789],[3,-10],[-5,-3],[2,13]],[[5458,7861],[5,-3],[18,-29],[6,0],[9,-10],[17,0],[11,9]],[[5524,7828],[3,-33],[12,-10],[-10,-3],[-1,-17]],[[5488,7656],[-12,12],[-6,13],[-14,10],[-11,-4],[-2,10],[-14,14],[-9,17],[8,5],[-15,23],[-1,23],[-9,12],[-7,2],[-3,-20],[-8,-11],[-8,20],[0,20]],[[5377,7802],[9,-3],[13,3],[6,6],[20,-9],[-2,17],[12,6],[-2,20],[9,5],[8,12],[8,2]],[[3002,6248],[-1,2]],[[2977,6260],[-12,8],[1,7],[11,-10],[0,-5]],[[3000,6254],[2,-6]],[[3006,6222],[-8,11],[-24,-5],[-11,6],[-8,0],[-6,-5],[1,-8],[-12,16],[-7,4],[2,15],[6,2],[16,-10],[24,-4],[4,8],[7,-2],[0,7],[-13,23],[1,19],[3,2],[-9,11],[-11,1],[-2,6],[8,10],[11,2],[13,-11],[15,-2]],[[5614,7970],[21,-26]],[[5635,7944],[-8,-11],[-4,2],[-13,-17],[-4,-19],[-5,-6],[-4,-21],[-6,-5],[-1,-12],[-6,-10],[-7,2],[-5,-8],[-10,-1]],[[5562,7838],[-16,4],[-11,-11],[-11,-3]],[[5458,7861],[-7,21],[-4,-1]],[[5476,7947],[6,-1],[10,-13],[15,0],[14,3],[-1,10],[7,4],[14,3],[4,7],[8,-7],[12,11],[3,13],[9,3],[9,-5],[11,3],[5,-11],[12,3]],[[8426,4574],[2,-3],[-6,-11],[-11,-6],[0,8],[6,3],[10,17],[-1,-8]],[[8386,4582],[-1,-10],[-6,2],[7,8]],[[8333,4644],[9,-18],[4,2],[10,-24],[-10,-15],[-9,5],[-5,14],[-10,12],[-15,3],[-4,11],[10,10],[20,0]],[[8473,4637],[-2,-11],[-16,-29],[-8,0],[-2,-6],[-12,-5],[-3,9],[7,6],[-5,10],[2,16],[10,18]],[[8444,4645],[2,-5],[7,4],[3,10]],[[8456,4654],[13,13]],[[8469,4667],[7,-5],[0,-8],[-6,-2],[3,-15]],[[8318,4695],[-3,-16],[1,18],[2,-2]],[[8424,4708],[1,-8],[-8,-2],[4,11],[3,-1]],[[8242,4700],[-7,-24],[3,-4],[-11,-3],[-10,6],[6,6],[-1,15],[7,13],[8,-1],[5,-8]],[[8442,4708],[-5,-4],[-10,-16],[-5,4],[7,9],[-2,6],[12,4],[3,-3]],[[8450,4700],[-5,-10],[-4,6],[11,16],[-2,-12]],[[8858,4702],[-10,-1],[7,12],[3,-11]],[[8265,4700],[-2,12],[5,2],[-3,-14]],[[8459,4715],[2,-3],[13,1],[1,-11],[-22,-6],[3,18],[3,1]],[[8550,4716],[8,-3],[-2,-6],[-6,9]],[[8276,4716],[4,0],[5,-15],[6,7],[6,-6],[8,2],[1,-19],[-18,-12],[0,10],[-7,-11],[-12,-2],[-9,-9],[-7,-2],[-11,5],[2,11],[-1,13],[12,14],[6,-8],[4,5],[6,-18],[14,4],[-6,11],[-4,1],[-6,16],[7,3]],[[8415,4713],[2,-8],[-7,-8],[2,-8],[-13,-10],[-8,1],[-9,-9],[-11,5],[-1,-7],[-12,0],[-2,6],[-7,2],[-9,-3],[-13,4],[0,11],[13,18],[19,-4],[15,-16],[15,11],[6,-12],[6,1],[0,7],[12,12],[-4,4],[3,8],[3,-5]],[[8208,4712],[5,-15],[-14,-15],[-7,13],[-11,8],[-3,14],[12,-6],[8,8],[10,-7]],[[8604,4733],[0,-14],[-5,14],[5,0]],[[8519,4741],[-6,-15],[-15,2],[-5,-7],[5,21],[11,-2],[8,7],[2,-6]],[[8857,4720],[-12,-20],[-23,0],[5,24],[6,21],[6,8],[11,6],[5,-1],[7,-11],[-5,-27]],[[8656,4770],[0,-26],[-8,-16],[-7,-6],[3,28],[10,23],[2,-3]],[[8664,4774],[1,-9],[-7,7],[6,2]],[[8166,4787],[3,-6],[-12,-8],[-3,-6],[-12,-1],[-12,5],[4,15],[32,1]],[[8204,4789],[6,-5],[-10,-1],[4,6]],[[8738,4813],[-1,-5],[-6,7],[3,6],[4,-8]],[[8733,4812],[3,-8],[-6,-16],[-7,2],[2,30],[-1,7],[9,-15]],[[7948,4837],[3,4],[13,-9],[8,1],[0,9],[9,-3],[2,-10],[7,-5],[6,2],[5,-8],[8,5],[5,-14],[2,-16],[11,-1],[10,-5],[4,4],[11,-7],[7,4],[5,-7],[7,8],[2,19],[4,5],[7,-1],[3,-15],[12,3],[12,-14],[16,1],[0,-13],[6,-8],[-2,-17],[16,-15],[12,4],[7,6],[13,-11],[-3,-41],[7,-10],[-18,4],[-20,20],[-6,-1],[-10,-8],[-9,6],[-16,4],[-2,-6],[-9,6],[-11,0],[-13,8],[-14,14],[-18,10],[-23,1],[-2,-7],[-18,4],[-11,14],[-25,5],[-4,10],[4,15],[-7,-1],[-7,10],[-20,-2],[3,10],[2,-8],[4,17],[5,1],[1,18],[5,17],[4,-6]],[[8346,4810],[-1,39],[3,-8],[-2,-31]],[[8685,4859],[3,-16],[-4,0],[1,16]],[[8737,4870],[5,-12],[1,-27],[-5,-14],[-8,8],[-1,9],[2,19],[6,17]],[[7843,4868],[-9,8],[9,-3],[0,-5]],[[8386,4889],[2,1],[2,-20],[-3,-2],[-4,10],[3,11]],[[8410,4898],[-4,-6],[0,-18],[-10,-1],[3,23],[-2,8],[11,13],[2,-19]],[[8422,4913],[0,-9],[-5,6],[-2,-24],[7,-6],[-2,-7],[-8,-5],[0,-10],[-6,-1],[-2,9],[5,17],[3,22],[0,15],[4,10],[6,-17]],[[8418,4952],[5,-5],[-3,-8],[-5,6],[3,7]],[[8564,4977],[-2,-8],[-9,-3],[3,10],[8,1]],[[8225,4951],[-3,23],[3,18],[4,5],[1,-36],[-5,-10]],[[8523,5004],[7,-6],[-2,-7],[6,-2],[0,-14],[-15,-15],[-15,15],[-5,14],[1,12],[11,5],[12,-2]],[[8598,5023],[14,-13],[8,1],[7,-8],[1,-15],[7,-11],[-1,-17],[-24,23],[-3,8],[-9,2],[-2,-10],[-15,7],[-2,8],[-6,-10],[-7,-2],[-6,20],[-4,-17],[-6,11],[8,6],[1,12],[21,0],[5,-5],[13,10]],[[7789,5006],[0,-13],[-7,21],[0,8],[6,-7],[1,-9]],[[7994,5036],[13,-12],[-2,-21],[-6,-7],[-3,11],[-8,-10],[0,26],[2,12],[4,1]],[[7782,5024],[-5,-4],[0,20],[5,-16]],[[7769,5060],[4,-12],[-4,1],[-5,11],[5,0]],[[8501,5041],[-3,3],[-3,21],[4,3],[2,-27]],[[8483,5079],[15,1],[11,-2],[-2,-3],[-24,-4],[0,8]],[[8620,5085],[2,-15],[-6,-6],[-14,10],[10,9],[8,2]],[[8458,5089],[22,-6],[0,-9],[-8,-3],[-7,2],[-10,-6],[-1,20],[4,2]],[[8762,5091],[20,-3],[6,-5],[14,-4],[-11,-5],[-15,5],[-14,12]],[[7940,5097],[5,-5],[4,-17],[0,-18],[4,-16],[14,-6],[-5,-8],[-2,-12],[4,-10],[-22,15],[0,21],[-3,4],[-1,14],[-18,4],[0,8],[7,9],[-3,5],[9,9],[2,-13],[3,1],[-2,12],[4,3]],[[8550,5100],[9,-9],[-6,-5],[-11,-3],[-5,6],[1,9],[6,8],[6,-6]],[[8421,5116],[1,-14],[3,9],[6,-1],[0,-10],[-4,-5],[-3,6],[-1,-12],[-3,18],[-6,-15],[-4,10],[3,13],[8,1]],[[8044,5127],[4,-10],[-9,-8],[0,18],[5,0]],[[7746,5129],[7,-31],[4,-7],[-2,-11],[-9,6],[-9,29],[3,13],[6,1]],[[8636,5129],[4,-8],[-2,-16],[-7,6],[-3,15],[8,3]],[[8634,5139],[-7,-9],[-4,6],[11,3]],[[8761,5145],[12,-2],[9,-20],[6,-4],[-7,-7],[-7,2],[-4,22],[-3,-4],[-6,13]],[[8536,5138],[-5,0],[3,9],[2,-9]],[[8915,5033],[0,-218],[-3,-12],[3,-17],[0,-128]],[[8915,4658],[-10,18],[-4,12],[-15,28],[-17,-5],[-3,6],[-7,-8],[-1,19],[5,19],[-4,4],[-7,18],[13,-3],[-12,8],[-4,13],[10,2],[-8,7],[1,5],[-7,13],[-3,32],[-8,7],[0,12],[-4,8],[-15,20],[-21,12],[-18,18],[-14,4],[-7,-1],[-16,20],[1,11],[-4,-6],[-5,9],[-1,-9],[-5,7],[1,8],[-6,-4],[-4,14],[-3,-5],[0,28],[6,6],[-1,9],[-6,-11],[0,-14],[-7,-21],[1,-8],[-5,-11],[-7,-3],[-6,11],[-2,14],[6,8],[-9,15],[-3,12],[-6,8],[-6,-2],[-2,12],[5,5],[10,-2],[4,-6],[9,18],[7,5],[7,-10],[8,7],[4,12],[-1,9],[-7,-8],[-11,2],[-16,-6],[-4,7],[-6,-5],[-8,11],[-4,22],[-5,11],[-9,2],[-5,-3],[-7,4],[3,13],[5,6],[0,18],[7,5],[8,0],[10,17],[8,5],[8,-1],[12,-10],[6,-11],[17,0],[5,-8],[-4,-5],[7,-22],[-1,-12],[-4,-7],[2,-39],[5,-10],[3,-17],[1,17],[5,-3],[1,-23],[5,-17],[6,-6],[11,0],[2,7],[10,16],[1,11],[9,14],[3,18],[9,-2],[14,10],[-3,16],[19,18],[4,0],[11,-13],[9,-4],[5,-10],[7,-3],[20,-21],[10,3],[16,-10],[-2,-6],[8,0]],[[7903,5160],[0,-12],[-8,7],[6,9],[2,-4]],[[8544,5159],[1,-17],[6,0],[-1,-9],[-5,6],[-5,-3],[0,10],[-5,11],[6,9],[3,-7]],[[8533,5168],[1,-14],[-4,-1],[0,14],[3,1]],[[7735,5153],[-4,0],[3,16],[1,-16]],[[7881,5163],[-8,-1],[3,8],[5,-7]],[[8633,5183],[14,-10],[-2,-13],[-6,2],[-11,13],[8,-16],[-6,-1],[-1,8],[-9,2],[-2,9],[15,6]],[[7737,5167],[-5,8],[0,8],[5,-16]],[[7904,5183],[11,-16],[-7,4],[-8,-1],[4,13]],[[7850,5240],[4,0],[7,-11],[-14,-1],[-1,20],[4,-8]],[[7861,5243],[2,-12],[-8,11],[-5,-1],[5,9],[6,-7]],[[7892,5248],[-1,-8],[-5,3],[6,5]],[[7904,5252],[2,-10],[-2,-11],[-3,13],[-6,-3],[2,9],[7,2]],[[7845,5238],[-6,7],[-1,17],[3,2],[5,-9],[-1,-17]],[[7704,5270],[3,-2],[6,-18],[6,-7],[-2,-28],[-4,1],[-3,14],[-5,7],[-8,26],[7,7]],[[7839,5273],[7,-4],[0,-13],[-10,11],[-2,10],[5,-4]],[[8473,5279],[5,-11],[-3,-3],[-6,-26],[-5,-5],[-7,-25],[-24,-11],[-11,3],[-4,10],[-24,0],[-12,-4],[-6,6],[-13,-7],[-11,7],[-10,-4],[-7,-19],[-3,-19],[3,-26],[4,-13],[5,-1],[5,-12],[2,-17],[13,1],[2,12],[8,18],[5,-3],[13,0],[1,9],[15,-2],[7,4],[-7,4],[10,6],[9,-5],[0,-20],[-3,-4],[-4,11],[-9,-3],[-8,-23],[-9,-17],[-12,-6],[-3,-12],[-10,8],[0,-8],[8,-15],[5,-3],[11,-32],[7,-26],[-5,-8],[-1,-14],[13,-17],[-1,-9],[7,-3],[0,-15],[-4,-6],[-4,6],[-14,-7],[-2,-7],[2,-12],[-12,1],[-5,9],[1,25],[3,8],[-8,7],[-13,25],[0,9],[5,10],[1,26],[-8,8],[-17,-20],[6,-16],[0,-25],[-2,-12],[1,-36],[2,-7],[-4,-14],[-1,-14],[5,-24],[-15,-2],[-4,-8],[-11,16],[0,14],[3,7],[0,18],[4,19],[0,23],[-5,19],[2,12],[-6,3],[-10,-8],[-3,14],[2,27],[-4,0],[1,13],[3,-1],[7,11],[-1,15],[3,13],[4,2],[-2,14],[0,26],[5,11],[1,11],[7,11],[1,50],[3,16],[4,4],[-1,10],[9,8],[7,-3],[6,14],[0,15],[3,3],[10,-7],[5,3],[0,-9],[5,-4],[8,2],[8,-5],[7,1],[10,-12],[4,8],[19,-6],[8,1],[10,8],[9,23],[10,19],[2,-4]],[[7825,5301],[0,-16],[-7,-2],[-2,18],[9,0]],[[8556,5309],[-6,-20],[5,-6],[0,-25],[-11,-20],[3,-8],[6,3],[0,8],[7,8],[-3,5],[3,9],[11,11],[4,-1],[-1,-29],[-11,-9],[0,-14],[11,-6],[0,-13],[-20,8],[-3,-10],[1,-20],[5,-25],[10,-24],[-11,11],[-5,20],[-5,6],[1,34],[-4,4],[-2,38],[-3,10],[4,12],[0,12],[4,16],[10,15]],[[8571,5333],[3,-7],[-3,-21],[-8,-7],[-3,16],[5,13],[6,6]],[[7663,5350],[2,-7],[14,-20],[-5,0],[-14,13],[-4,9],[7,5]],[[8268,5370],[-4,6],[4,4],[0,-10]],[[8489,5385],[-4,-3],[0,16],[4,-13]],[[8269,5423],[5,-1]],[[8274,5422],[-2,-7],[-3,8]],[[8008,5418],[2,-16],[-2,-7],[-8,11],[-1,9],[7,11],[2,-8]],[[8265,5422],[-5,1],[11,-21],[-1,-10],[-15,-1],[7,-13],[-5,-10],[11,-13],[-4,-4],[16,-37],[-8,-15],[1,-8],[7,-13],[9,-10],[10,-16],[6,-14],[-7,-9],[-16,4],[-8,12],[4,-17],[-6,2],[-6,-18],[-4,-26],[2,-2],[-3,-17],[1,-14],[4,4],[-3,-14],[4,-4],[-9,-8],[-1,5],[-7,-22],[-14,-16],[1,-8],[-9,-10],[6,1],[-2,-24],[6,0],[-2,-19],[-4,-2],[0,-18],[-5,-7],[-6,-36],[-38,-32],[0,28],[-14,23],[-6,-9],[-9,3],[0,12],[-6,-6],[-9,20],[-3,-10],[3,-3],[-14,-16],[-9,6],[-7,-11],[-4,-1],[1,27],[-4,17],[0,-10],[-4,-4],[-7,5],[-9,-9],[-7,6],[-2,-5],[-3,12],[-7,-8],[-6,62],[-5,8],[3,3],[2,20],[-4,16],[-7,11],[-7,4],[-2,-4],[-7,21],[0,34],[5,-2],[-5,14],[-5,4],[0,20],[3,50],[7,9],[1,14],[9,9]],[[8045,5303],[-3,-16],[3,-12],[17,-35],[7,-8],[8,3],[2,6],[10,4],[7,-6],[9,2],[8,7],[2,18],[8,7],[15,0],[-2,-8],[9,-3],[11,-8],[7,12],[16,-1],[5,12],[1,13],[3,2],[-1,20],[12,14],[-4,12],[1,10],[5,10],[6,-1],[4,65],[5,11],[6,-4],[3,5],[7,-4],[10,4],[13,0],[10,-12]],[[8523,5442],[2,-13],[-3,-14],[-4,-2],[2,32],[3,-3]],[[7652,5506],[11,-6],[4,-11],[10,-6],[12,4],[10,-8],[9,6],[11,-21],[3,-16],[6,-9],[0,-16],[13,-17],[3,-9],[6,-5],[20,-26],[7,-15],[-1,-13],[3,-5],[3,6],[6,-23],[14,-21],[-2,19],[6,1],[8,-16],[1,-14],[10,-6],[12,-18],[1,-19],[7,-15],[13,-3],[5,-14],[-13,-13],[8,1],[12,15],[11,-13],[2,-18],[-7,0],[-6,-21],[7,-4],[-5,-5],[1,-12],[4,-12],[9,-1],[7,-6],[6,2],[2,-16],[1,-28],[4,-14],[7,-5],[-1,-9],[8,-5],[13,-1],[0,-13],[5,-6],[0,-10],[6,-4],[2,-14],[-6,-14],[-1,-15],[3,-5],[-4,-25],[2,-13],[0,-26],[-2,-53],[-7,2],[-7,19],[-3,-6],[0,-12],[-8,6],[-9,11],[-1,-4],[5,-19],[-4,-3],[-3,11],[-10,17],[-5,19],[-7,10],[-11,12],[-28,46],[-1,17],[-17,23],[-8,29],[-9,16],[-5,17],[2,7],[-9,34],[0,8],[-5,3],[1,11],[-9,30],[-9,14],[0,13],[-4,9],[-9,10],[-5,1],[-1,21],[-9,45],[0,20],[-3,0],[-7,14],[-5,2],[-9,14],[-7,6],[-2,27],[-5,5],[-4,14],[-3,5],[-8,23],[-11,6],[-8,21],[-6,5],[-13,28],[-5,27],[-3,6],[0,17],[8,2]],[[4872,8298],[-4,5],[8,13],[4,-7],[-8,-11]],[[7606,5598],[2,-16],[-2,-11],[-5,16],[0,9],[5,2]],[[7571,5804],[0,-12],[-5,0],[-1,12],[6,0]],[[7583,5964],[1,-29],[-3,1],[1,-36],[-3,-2],[1,-13],[-5,-6],[2,-9],[-2,-25],[-5,13],[5,34],[0,29],[2,1],[0,26],[6,16]],[[7448,6428],[-4,1],[4,13],[0,-14]],[[7248,6922],[-16,-24],[0,-12],[-5,-9],[1,-17],[-7,-14],[9,-14],[9,-1],[7,-10],[9,-6],[2,-11],[15,-17],[6,3],[11,-14],[7,2],[1,-11],[12,-4],[18,0],[8,4],[6,-8],[8,-2],[1,-18],[8,-3],[10,-14],[9,7],[7,-16],[4,5],[9,-3],[11,-11],[7,7],[9,-11],[13,6],[7,-5],[4,17],[0,13],[-6,11],[2,24],[3,21]],[[7703,6808],[0,-19],[-13,-15],[0,-11],[7,-21],[-7,6],[-4,10],[-21,-9],[-2,-10],[-14,-19],[-9,-5],[-2,-21],[4,-12],[-4,-6],[0,-10],[-10,-18],[-2,-16],[3,-3],[-2,-22],[-3,-2],[-6,-22],[-5,-27],[-11,9],[-11,-2],[4,-18],[-2,-30],[-9,-21],[2,-34],[-3,1],[-1,-12],[-8,9],[-3,-10]],[[7473,6457],[-4,-11],[5,-18],[-6,2],[-4,-6],[-2,22],[-5,-3],[-1,-16],[-7,0],[-1,26],[-8,-18],[-21,-14],[-8,-19],[6,-28],[-7,-10],[-4,-16],[-4,-3],[-6,-16],[-19,-10],[-5,9],[-5,-13],[5,1],[-15,-26],[-9,-26],[-13,-29],[-9,-8],[-6,-10],[-9,-22],[-21,-21],[-6,-16],[3,-5],[-1,-14],[-6,-9],[-11,-8],[-10,4],[-4,-3],[-1,-20],[-10,-15],[-1,10],[-6,-1],[-9,-10],[-3,-17],[-2,-18],[3,-24],[-1,-30],[3,-29],[-5,-4],[7,-9],[0,-14],[-3,-37],[-8,-24],[-4,-26],[2,-16],[0,-46],[1,-17],[-15,0],[-2,-15],[-8,-21],[-2,-13],[5,-9],[-20,-12],[-5,-12],[-2,-22],[-2,-8],[-16,-16],[-7,6],[-11,22],[-7,19],[-6,25],[-3,32],[4,-10],[0,11],[-6,7],[-2,18],[-6,30],[-1,14],[-9,36],[-9,17],[-6,25],[-6,34],[-2,33],[-8,39],[-1,14],[-7,14],[-2,12],[-4,5],[0,15],[-3,4],[-4,24],[-4,8],[-5,29],[-1,37],[-5,30],[-6,45],[1,7],[-3,22],[-1,23],[-3,24],[2,33],[4,12],[-2,36],[-3,-4],[-3,11],[2,16],[12,11],[-16,-3],[2,14],[-2,14],[9,5],[-13,4],[-2,-15],[-8,-7],[8,-18],[-6,-25],[-17,-17],[-14,-11],[-5,0],[-10,9],[-11,17],[-15,33],[-15,29],[0,10],[7,1],[0,-9],[14,12],[3,-3],[9,7],[7,23],[-10,-1],[-9,-10],[-13,5],[-11,10],[-9,15],[-4,19],[-6,14]],[[6893,6556],[5,7],[10,0],[0,19],[13,-3],[11,2],[5,-7],[6,0],[3,8],[13,7],[0,-8],[6,-3],[9,10],[-4,12],[3,3],[-5,27],[-6,14],[0,17],[-10,1],[-6,14],[2,35],[-9,2],[-10,11],[1,17],[10,20],[6,22],[7,12],[6,1],[4,-16],[4,-2],[9,7],[20,8],[0,9],[8,16],[5,21],[16,16],[9,29],[3,22],[12,8],[4,7],[-2,10],[6,11],[6,19],[10,12],[-4,2],[3,17],[-2,24],[7,10],[14,8],[1,10],[-8,8],[-11,2],[0,14],[-9,2],[0,13],[-9,10],[4,22],[-5,5],[1,10],[7,10],[-9,1],[1,16],[-5,3],[4,19],[13,6],[7,-5],[16,-2],[11,-9],[11,11],[17,3],[3,10],[5,1],[4,11]],[[7140,7205],[20,22]],[[4825,8298],[2,-37],[6,-29],[-6,-16],[-4,-28],[-10,1],[-8,-4],[-12,0],[-5,-10],[-7,0],[-4,-8],[-7,-1],[-12,-14],[-20,0],[-11,-8],[10,14],[-20,-4],[12,13],[-11,-6],[-7,10],[13,14],[-15,-2],[5,10],[13,-2],[-1,11],[8,12],[-10,-5],[12,12],[5,21],[10,8],[-16,-2],[-14,9],[-3,9],[6,13],[0,24],[-5,4],[22,4],[23,-3],[-5,4],[12,9],[3,8],[-15,-1],[-2,7],[10,6],[2,18],[15,2],[6,-6],[4,17],[13,-9],[-9,-9]],[[6560,6732],[-4,-9],[-5,0],[-16,-12],[0,7],[13,7],[13,13],[-1,-6]],[[6357,7396],[3,-38],[4,-9],[9,-7],[13,-2],[9,-5],[2,-13],[21,-24],[23,-9],[43,18],[16,-4],[-3,30]],[[6497,7333],[8,-1],[16,11],[1,13],[9,13],[9,7],[24,0],[3,10],[17,-4],[5,4],[3,-17],[23,-10],[8,-9],[10,3],[11,-10],[10,-21],[13,-7],[8,-22],[23,0],[2,-31],[-3,-8],[4,-5],[0,-15]],[[6689,6902],[14,-27],[0,-8],[6,-21],[10,-20],[14,-8],[5,-10],[5,-1],[-1,-12],[2,-18],[-1,-26],[11,2],[4,-8],[-4,-17],[0,-11],[-12,0],[-12,-7],[-2,-10],[-11,-7],[-7,-59]],[[6710,6634],[-5,-8],[-10,9],[-12,4],[-1,9],[-5,-6],[-24,3],[-2,4],[-12,-4],[-6,10],[-7,2],[-14,-2],[-4,8],[-17,5],[-4,19],[-4,42],[-6,17],[-11,3],[-8,-2],[-5,-8],[-9,-4],[-3,-11],[-6,2],[-13,-17],[-11,5],[-3,7],[-17,0],[-8,16],[-10,6],[-13,16],[-4,16],[-12,11],[-9,-1],[-8,6],[-9,35],[0,12],[-8,13],[2,10],[-6,0],[1,16],[-15,30],[0,10],[-5,6],[-11,-12],[-2,9],[-7,-1],[-9,13],[8,-1],[0,9],[-9,-8],[1,-20],[-11,-4]],[[6347,6908],[-3,15],[-11,14],[0,31],[-9,0],[0,23],[4,21],[-9,22],[-5,19],[-6,-1],[-14,21],[-16,15],[4,5],[-4,15],[-11,15],[-5,22],[3,14],[-4,8],[2,8],[6,-3],[-2,9],[7,21],[7,2],[1,7],[-6,16],[1,10],[6,2],[-4,9],[-6,-3],[-14,14],[-3,21],[-5,0],[-1,18],[-6,5],[2,12],[-3,7]],[[6243,7322],[0,10],[-6,6],[1,17],[-10,17],[6,20],[-4,0],[-3,45],[-5,13],[11,4],[4,19],[7,-7]],[[6347,6908],[-13,5],[-3,-3]],[[6331,6910],[-7,6],[-9,0],[-6,-5],[-8,-33],[-9,-20]],[[6292,6858],[-5,-2],[-46,8],[-62,91],[-11,18],[-47,49],[-34,10]],[[6087,7032],[4,8],[-7,3],[0,11],[-8,51]],[[6076,7105],[4,3],[43,44],[14,11],[7,22],[1,40],[3,8],[-2,23]],[[6146,7256],[0,0]],[[6146,7256],[0,20],[3,10],[13,5],[15,26],[-1,3]],[[6176,7320],[6,2],[6,13],[9,0],[10,-7],[12,-2],[8,4],[1,-18],[11,12],[4,-2]],[[4554,9014],[7,-14],[12,-7],[12,13],[-4,-20],[10,2],[-2,-20],[12,4],[0,-8],[21,-10],[-4,-10],[6,-8],[-13,-25],[-13,-4],[-2,-15],[-24,-8],[-39,-26],[-31,-6],[-1,-11],[-23,-7],[-27,8],[-12,0],[-28,20],[-42,-4],[4,9],[14,4],[10,10],[2,11],[-13,-6],[-9,29],[-32,1],[-11,-4],[-3,8],[23,2],[15,8],[25,-2],[-21,7],[22,16],[-39,7],[-20,-9],[-18,6],[7,8],[12,-7],[-8,15],[17,-5],[-9,12],[10,17],[20,-8],[-5,7],[9,16],[11,-11],[25,-14],[-2,-19],[9,-29],[0,13],[9,15],[9,-10],[5,13],[-5,20],[9,3],[13,-22],[6,-1],[-1,19],[22,6],[16,-26],[-6,27],[10,-1],[10,-11],[12,14],[6,-6],[13,3],[-3,19],[15,2]],[[5993,7068],[-6,-5],[0,-15]],[[5987,7048],[-10,8],[-6,-14],[0,-19],[6,-9],[-7,-11],[-2,-14],[10,1],[5,6]],[[5983,6996],[0,-9]],[[5983,6987],[0,-6]],[[5983,6981],[1,-8]],[[5984,6973],[-8,-34],[0,-21],[-6,-33]],[[5970,6885],[-2,-4]],[[5951,6980],[8,18],[-2,4]],[[5957,7002],[7,21],[6,44],[5,21]],[[5975,7088],[10,0],[1,9],[8,10]],[[5994,7107],[-1,-9],[3,-19],[-3,-11]],[[5434,7386],[-12,-29],[-3,-25],[6,-18],[-6,-11],[1,-8],[-10,1],[-8,6],[-3,10],[-7,8],[-7,-1],[-25,27],[-10,1],[-4,6],[0,19],[7,6],[6,-6],[4,10],[7,1],[10,-13],[9,4],[9,-2],[17,10],[4,-4],[12,11],[3,-3]],[[5256,7557],[8,-6],[8,-34],[-5,-14],[3,-13],[-2,-30],[-6,-24],[-10,6],[-5,-19],[-8,0],[-7,17],[5,39],[-4,1],[2,23],[-5,17],[-4,0],[2,16],[8,-2],[9,6],[11,17]],[[5380,7862],[-9,-16],[7,-7],[-4,-8],[3,-12],[8,-10],[-5,-1]],[[5380,7808],[1,7],[-18,1],[-3,-5],[-16,-12],[-4,2],[-1,-16],[9,-13],[-6,-7],[-2,-13],[2,-18],[8,-16],[9,-7],[19,-21],[12,-54],[18,-28],[12,-11],[25,0],[4,-9],[-8,-15],[19,-17],[13,-7],[14,-18],[13,-8],[0,-6],[12,-15],[2,-10],[-4,-18],[-9,6],[-5,23],[-11,0],[-14,11],[-11,-25],[-2,-21],[9,-5],[9,-11],[-1,-29],[-11,-1],[-5,-8],[1,-18],[-8,-10],[-8,-20],[-10,4],[0,15],[5,3],[3,12],[-3,8],[9,5],[2,12],[-4,8],[-2,21],[-4,6],[-2,20],[-7,11],[-5,-5],[-12,13],[2,8],[-6,18],[-8,1],[-5,8],[-7,3],[-10,22],[-10,1],[-8,-3],[-5,11],[-7,2],[-12,24],[-10,10],[-8,18],[-10,5],[-3,12],[-9,9],[1,6],[-8,2],[1,18],[-7,17],[0,14],[-5,13],[-7,1],[-16,17],[-15,5],[-14,-19],[-3,-11],[-17,-6]],[[5344,7711],[0,0]],[[5345,7596],[0,0]],[[2849,6246],[15,-3],[3,-8],[12,-7],[4,-14],[-9,-3],[-10,6],[-1,-7],[-6,3],[-1,-11],[-7,10],[-8,-1],[-7,10],[-3,10],[-8,2],[5,12],[10,5],[11,-4]],[[6087,7032],[-4,-6],[-57,-30],[15,-28],[13,-29],[-9,-10],[-4,-18],[-21,-8],[-7,-22],[-12,-17],[-31,9]],[[5970,6873],[0,12]],[[5984,6973],[-1,8]],[[5983,6987],[4,0],[0,25]],[[5987,7012],[0,36]],[[5993,7068],[7,-5],[10,-16],[12,-3],[54,61]],[[8563,6721],[-5,-10],[-7,-5],[-4,-21],[0,20],[7,8],[-3,7],[7,-1],[4,12],[1,-10]],[[8603,6820],[-13,-15],[0,9],[11,11],[2,-5]],[[8624,6937],[5,-5],[-7,-8],[2,13]],[[8639,6942],[-5,-5],[6,22],[-1,-17]],[[8616,7056],[0,-12],[-6,-7],[1,18],[5,1]],[[8578,7069],[-1,-10],[-6,2],[7,8]],[[8638,7135],[3,-16],[7,-3],[9,6],[1,-15],[-5,-9],[10,1],[0,-17],[5,-2],[-11,-22],[-6,-38],[0,-16],[-3,-14],[-7,5],[1,-11],[-12,-13],[2,20],[-5,12],[-2,-4],[0,-22],[-9,5],[4,18],[-5,12],[1,21],[2,-2],[8,19],[-2,11],[3,12],[-5,15],[-8,2],[7,-19],[-6,-11],[1,11],[-10,-10],[-6,18],[1,10],[4,-14],[5,-1],[-1,10],[-11,11],[1,10],[6,-2],[18,22],[2,9],[6,4],[7,-3]],[[8726,7162],[8,-9],[5,1],[-1,-13],[4,-10],[-10,-11],[-5,-23],[-8,15],[-5,2],[-13,-11],[0,-7],[-7,-11],[-1,-16],[-10,0],[3,9],[-6,1],[-6,31],[11,14],[2,17],[6,6],[5,-10],[10,2],[3,14],[8,9],[7,0]],[[8747,7160],[-3,-8],[-3,8],[8,15],[-2,-15]],[[8595,7181],[-2,-23],[-3,4],[1,16],[4,3]],[[8845,7375],[1,-10],[-6,-6],[-1,17],[8,13],[-2,-14]],[[8923,7564],[5,3],[-1,-34],[2,-14],[8,-11],[5,-22],[4,-26],[-5,-14],[0,-12],[-7,-6],[-5,-25],[1,-17],[-6,9],[-7,-6],[-3,-24],[3,-14],[-2,-39],[-5,-8],[-5,-19],[-1,-20],[8,-27],[-11,-7],[-2,-21],[-16,-17],[2,30],[5,11],[-8,0],[-4,-12],[1,-16],[-7,11],[-8,-5],[0,-21],[-9,-16],[-1,25],[-6,4],[-6,-11],[-4,-18],[-17,5],[-15,-6],[7,9],[-13,1],[0,16],[-5,-3],[-3,-22],[9,-9],[1,-10],[-7,3],[-10,-9],[0,-10],[-6,-8],[-3,-15],[-5,-7],[-10,5],[-1,8],[-9,11],[3,8],[-3,14],[10,17],[-2,9],[-11,-4],[-6,7],[-7,0],[-20,-18],[-10,1],[-3,-9],[-6,2],[-15,-9],[-1,9],[-8,-6],[-2,-24],[-11,13],[-16,-7],[-4,7],[-3,-8],[-1,25],[3,5],[12,-1],[3,10],[7,5],[17,28],[7,7],[-1,9],[17,8],[5,-8],[24,6],[7,7],[11,-2],[8,7],[-1,-12],[13,-4],[12,10],[-3,18],[5,16],[7,8],[10,28],[-1,26],[11,10],[6,1],[-3,-13],[-9,-5],[4,-6],[-2,-13],[10,-6],[3,10],[21,13],[10,12],[10,29],[14,15],[1,16],[9,23],[3,24],[4,10],[1,17],[-4,11],[-5,-3],[7,19],[1,11],[-5,13],[5,10],[7,3],[1,26],[9,-5],[3,-20],[3,9],[8,-6],[3,19],[-13,-5],[3,23],[10,-10]],[[8944,7799],[15,-24],[4,-13],[19,-27],[11,-7],[0,-6],[12,0],[3,-7],[13,-4],[15,25],[1,-8],[-7,-17],[-1,-9],[8,-28],[8,6],[-4,-12],[-6,0],[-8,-10],[-27,-4],[-11,-14],[-8,-20],[-3,-23],[-8,11],[-14,9],[-8,11],[-12,9],[-8,-3],[-12,-15],[-9,15],[-5,0],[-6,-18],[12,-8],[13,-20],[-13,-1],[-8,-7],[-6,-13],[-7,10],[5,14],[-3,17],[-7,6],[3,26],[12,7],[5,11],[-5,13],[6,8],[8,-9],[10,-3],[7,10],[-3,22],[9,14],[0,22],[3,6],[1,20],[-6,23],[3,12],[9,3]],[[6762,7807],[-15,8],[-3,11],[1,13],[12,14],[11,-3],[7,-11],[1,-13],[-4,-11],[-10,-8]],[[7140,7205],[-9,31]],[[6651,7782],[-20,19]],[[6631,7801],[12,18],[8,-37]],[[7227,7611],[-6,13],[-15,4],[-12,17],[-14,6],[-14,0],[-19,2],[-14,5],[-13,-5],[-16,1],[-3,-6],[-13,2],[-12,8],[-12,13],[-21,-10],[-5,-27],[3,-9],[-22,14],[-27,9],[-10,-1],[-10,-13],[-5,-15],[3,-3]],[[6970,7616],[-6,-3],[-4,-11],[-4,5],[-9,-16],[-20,-15],[0,-5],[-10,-5],[0,-10],[-13,-17],[1,-19],[-4,0],[-13,13],[4,14],[-5,7],[-33,-3],[-5,20],[-2,30],[-14,0],[2,57],[-8,-7],[-8,26],[-7,5],[-10,19],[-12,-10],[-37,4],[-32,-8],[-23,38],[-2,12],[-28,28]],[[6668,7765],[0,34],[-2,9],[-7,-1],[3,20],[17,-5],[8,16],[12,7],[2,14],[-11,2],[-3,9],[-13,3],[-8,-7],[4,-13],[17,0],[2,-11],[-4,-6],[-24,2],[-2,12],[-7,0],[7,-14],[-3,-17],[-8,-6],[-4,5],[4,13],[-15,-3],[-6,-23]],[[6627,7805],[-73,-31],[0,-212]],[[6554,7562],[-14,-3],[-15,32],[0,6],[-20,23],[-20,-3],[-14,-9],[-15,-21]],[[6456,7587],[-1,20],[6,15],[3,22],[-15,9],[-8,-3],[-6,18],[-12,0],[1,23],[-4,4],[-8,33],[-17,9],[1,17],[16,-1],[4,-6],[16,-2],[-17,20],[12,28],[9,5],[22,0],[11,-6],[10,2],[-15,10],[0,6],[9,18],[4,40],[-8,19],[-13,2],[-10,-10],[-16,14],[-9,3],[-12,-11],[-9,-2],[-18,-21],[-13,2],[-2,-14]],[[6367,7850],[-9,9],[-10,5],[0,12],[6,-6],[7,6],[-9,19],[-4,15],[-14,23],[-11,0],[-7,5],[-1,-9],[-7,7],[0,26],[-18,8],[8,30],[8,10],[-7,14],[3,28],[12,12],[-1,14],[9,9],[22,-37],[13,11],[-5,20],[0,13],[20,17],[0,15],[11,0],[15,12],[6,17],[5,6],[14,-3],[1,-11],[11,-1],[6,12],[11,6],[5,-16],[23,0],[9,-7],[1,-9],[7,-1],[6,-13],[10,-7],[-3,-16],[8,2],[1,24],[10,-13],[16,-15],[13,11],[11,20],[18,0],[5,-11],[11,1],[1,13],[22,-4],[0,-11],[10,-11],[16,-3],[1,-9],[7,4],[5,18],[9,-10],[15,-1],[17,10],[2,19],[4,6],[-7,11],[-10,1],[-3,8],[-16,3],[3,8],[-12,4],[11,15],[7,1],[10,11],[-10,23],[22,16],[17,-3],[1,7],[-13,9],[-14,3],[2,12],[-6,8],[5,11],[-6,3],[12,10],[4,-6],[43,7],[25,14],[25,5],[9,-4],[-1,10],[7,7],[15,-1],[15,6],[33,8],[13,6],[2,13],[10,0],[2,9],[8,-4],[-1,9],[8,-6],[13,0],[14,-11],[8,9],[14,-12],[1,-18],[6,-3],[-1,-23],[-6,0],[6,-13],[3,6],[11,-4],[10,5],[3,9],[9,-14],[-3,-13],[9,3],[-4,10],[11,-1],[3,-8],[11,-2],[8,7],[-3,-12],[-6,1],[-6,-17],[6,-8],[13,12],[14,-10],[1,12],[9,9],[7,-2],[12,11],[-2,4],[31,15],[12,8],[-7,-19],[-8,1],[3,-9],[34,-36],[7,-11],[42,-97],[12,-38],[15,7],[-1,14],[6,6],[15,-7],[-3,-15],[9,2],[2,-13],[11,3],[6,-4],[17,5],[18,12],[13,-7],[11,-20],[0,-15],[23,-14],[-2,-7],[9,-19],[19,-1],[6,-7],[12,20],[0,-10],[12,-22],[7,-9]],[[6163,5412],[-17,-50],[-9,-17],[0,-175],[1,-39],[15,-39],[0,-7]],[[6153,5085],[-6,-15],[-9,-4],[-4,-20],[-5,-9],[-5,0],[-9,-13],[2,-12],[-3,-18],[-6,-12],[-3,-25],[-4,-11],[-7,-30],[-6,-3]],[[6088,4913],[-21,33],[-19,27],[-5,13],[4,6],[-1,14],[-100,116]],[[5946,5122],[3,12],[-4,7],[0,10],[4,7],[9,-1],[-2,6],[11,4],[-4,11],[-10,-6],[2,-6],[-9,7],[-3,12],[1,12]],[[5944,5197],[4,21],[7,12],[2,15],[9,9],[2,18],[3,6],[0,26],[-3,18],[2,3],[-14,40],[-2,17],[2,13],[-8,5],[-3,24],[-2,2]],[[5943,5426],[11,23],[15,14],[14,9],[4,-7],[2,-16],[8,0]],[[7045,7454],[-13,-5],[-15,2],[-9,-5],[-2,-6],[-5,10],[-7,-7],[-2,12],[-8,8],[-12,-11],[-8,-1],[-4,11],[-36,-5],[-2,14],[7,20],[14,6],[18,-12],[1,7],[8,8]],[[6970,7500],[12,3],[11,-7],[9,15],[8,-3],[0,14],[7,-6],[4,9],[10,8],[-13,3],[-5,9],[-9,-1],[0,10],[-8,0],[-6,22],[-1,-10],[-6,-2],[0,-13],[-6,-1],[-12,7],[-4,14],[-4,-4],[-9,10],[8,7],[22,29],[-8,3]],[[6976,7489],[-6,4],[2,-14],[4,10]],[[6993,7480],[0,0]],[[6961,7477],[0,0]],[[7901,5783],[-6,7],[-11,2],[-7,-4],[-3,5],[5,13],[0,15],[-4,5],[-3,-16],[-9,2],[-2,38],[-3,3]],[[7858,5853],[0,7],[-6,22],[0,22],[-6,7],[0,21],[-3,7],[-2,25],[6,0],[10,26],[1,11],[9,8],[12,5],[9,-5],[5,3],[11,-2],[5,4],[6,-3],[2,-10],[4,8]],[[7921,6009],[3,-14],[13,-1],[3,-9],[6,-1],[2,7],[-6,19],[7,7],[6,-2],[3,6],[8,-14],[4,0],[8,11],[5,2],[2,10]],[[7985,6030],[0,-14],[-3,-2],[-2,-19],[3,-10],[0,-10],[5,-22],[-5,-20],[4,-24],[-2,-15],[-2,-6],[-4,5],[-8,-14],[-8,-7],[-8,-1],[0,-17],[-11,7],[-4,-13],[-1,-15],[9,-13],[1,-17],[-9,3],[-3,10],[-10,-2],[-3,-7],[-7,6],[1,-11],[-6,-13],[-9,0],[-2,-6]],[[627,5299],[5,-18],[-8,8],[3,10]],[[8522,7115],[1,-14],[-17,-6],[-2,8],[5,8],[13,4]],[[8508,7172],[1,-8],[-7,2],[6,6]],[[8575,7196],[-1,-14],[-5,11],[6,3]],[[8518,7361],[8,22],[5,6],[27,0],[7,17]],[[8565,7406],[7,-27],[14,-31],[6,-25],[4,-25],[-2,-7],[-1,-33],[4,-6],[-2,-25],[-9,-23],[-18,0],[-1,-15],[-3,6],[-17,1],[-2,-20],[-4,14],[0,-13],[-5,-9],[-3,13],[-6,-5],[-3,-11],[-4,3],[-4,-10],[-2,15],[-7,2],[0,9],[6,-7],[2,11],[-4,1],[-2,18],[2,17],[6,9],[-4,4],[8,7],[-7,10],[5,1],[-5,11],[-1,31],[-3,8],[3,12],[7,-1],[-6,42],[4,3]],[[5598,7616],[-9,-9],[-3,6],[-10,-8],[0,-11],[-5,0]],[[5557,7633],[8,15]],[[5565,7648],[9,17],[-2,6],[14,-7],[8,-19],[10,-5],[-6,-24]],[[6338,6909],[5,-15],[-4,-7],[-5,12],[4,10]],[[6345,6826],[-22,0],[-6,27],[-25,5]],[[6331,6910],[7,-26],[-6,2],[-7,-12],[10,-1],[2,-19],[8,-28]],[[7836,6473],[2,-9],[8,-12],[6,-22],[2,9],[5,-5],[0,-9],[-2,-23],[7,-19],[15,-11],[2,8],[9,10],[5,-4],[9,-13],[-1,-9],[-6,-3],[9,-6],[0,-8],[7,-2],[0,-11],[-2,-10],[-9,-12],[-8,6],[-4,-15],[-6,-7],[18,-21],[4,-8],[9,-5],[5,-6],[-2,-12],[6,-14],[5,0],[7,-30],[13,-24],[9,-17],[0,-18],[4,-11],[5,5],[4,-14],[8,-12],[4,-1],[-1,-8],[-6,-5],[2,-12],[7,-8],[5,-12],[-5,-33]],[[7921,6009],[9,11],[0,20],[1,5],[-3,11],[3,6],[2,24],[-5,5],[0,13],[-11,7],[0,8],[-8,15],[0,29],[2,20],[-3,9],[-7,7],[-6,14],[-7,24],[-18,8],[-2,-10],[-9,-15],[-9,-6],[-16,16],[-4,-9],[-19,-26],[-4,-7],[-5,6],[3,19],[4,9],[0,17],[-3,3],[5,14],[0,15],[3,7],[-3,6],[-1,19],[2,7],[-12,2],[-2,-7],[-7,0],[-3,9],[3,29],[-5,15],[-6,-5]],[[7780,6353],[0,15],[7,14],[4,-1],[0,13],[6,16],[3,0],[9,14]],[[5975,7088],[14,52],[1,19],[9,12],[0,7]],[[5999,7178],[13,-3],[4,-23],[-9,-14],[2,-8],[-6,2],[-6,-12],[3,-5],[-6,-8]],[[4790,5433],[-19,13],[-21,22],[-9,12],[-21,40],[-9,19],[-12,7],[-1,10],[-14,13],[-3,12]],[[4681,5581],[3,14],[6,12],[15,23],[0,16],[8,8],[1,17]],[[5693,6449],[0,-115],[-27,0],[0,-28]],[[5666,6306],[-66,66],[-3,4],[-45,45],[-34,36],[-45,45],[-30,31],[-27,-26]],[[5416,6507],[-22,-22],[-20,33],[-42,19]],[[5264,6924],[10,7],[11,30],[-5,31],[6,17],[5,1],[10,22],[19,18],[-2,10],[1,34]],[[5319,7094],[10,-6],[12,-14],[15,-2],[14,6],[6,-6],[17,-5],[8,-12],[20,-6],[5,-13],[0,-14],[7,-25],[4,-7],[17,-9],[10,0],[18,-8],[23,-18],[3,-7],[18,-22],[8,0],[14,14],[10,24],[1,18],[-6,24],[0,16],[3,12],[15,24],[14,13],[10,1],[5,7],[21,-3],[21,-14],[-1,-18],[6,-6],[19,-7],[2,-5],[25,-2],[5,-18]],[[3307,5973],[-4,11],[5,10],[-1,-21]],[[7235,5735],[7,-13],[17,-49],[5,-36],[5,-8],[4,-24],[0,-20],[-2,-22],[-12,-22],[-22,-17],[-9,5],[-4,7],[-7,43],[-1,50],[1,40],[2,10],[0,17],[6,17],[-2,7],[4,10],[6,1],[-14,10],[2,7],[7,-3],[7,-10]],[[5798,3530],[6,-12],[10,-10],[3,-14],[-4,-17],[-5,-7],[1,-10],[-8,-9],[-13,-4],[-5,-7],[-4,-22],[-8,2],[-16,35],[-5,22],[8,6],[12,35],[8,2],[4,10],[13,8],[3,-8]],[[5582,8366],[-1,0]],[[5581,8366],[1,0]],[[5652,8289],[0,9],[-14,16],[-6,-1]],[[5632,8313],[-3,6],[5,24],[-8,11],[-15,1],[-21,9]],[[5590,8364],[-6,32],[0,16]],[[5584,8412],[8,9],[22,11],[15,-4],[8,3],[29,-5],[4,-4],[22,8],[5,-12],[15,-2],[26,-28]],[[5759,8496],[14,-14],[-6,-26],[14,-17],[0,-23]],[[5584,8412],[-2,19],[2,24],[10,12],[0,15],[8,15],[22,11],[18,-21],[4,-17],[12,-7],[19,15],[-2,37]],[[3249,6221],[-2,2]],[[3247,6223],[2,-2]],[[4851,7247],[2,-14],[14,-21],[11,-5],[19,8],[6,-5],[15,7]],[[4919,7214],[2,-9],[17,-2]],[[4758,6776],[-3,0],[1,-30],[-18,-3],[-7,-11],[-16,-2],[-9,7],[-10,1],[-13,-7],[2,-15],[-4,-6],[-8,-25],[-8,-3],[-4,-23],[-3,-30],[-3,-13],[-6,-12],[-12,-16],[-6,-22],[-16,-16],[-4,-13],[-6,-53],[0,-16],[-12,-26],[1,-7],[-4,-14],[-11,-4],[-22,4],[-18,-1],[-12,-4]],[[4527,6416],[1,21],[4,20],[10,13],[4,26],[5,11],[-2,5],[13,42],[-4,0],[8,12],[11,26],[5,4],[5,17],[0,22],[10,45],[0,9],[9,16],[7,4],[10,14],[10,53],[7,16],[24,8],[16,14],[11,23],[15,15],[21,49],[5,19],[1,14],[-7,13],[0,26],[2,26],[3,11],[9,18],[3,24],[-1,7],[11,17],[10,23],[26,19],[21,25],[15,48],[2,15],[9,39],[14,7]],[[5206,7702],[-2,-1]],[[5783,7801],[-3,21],[1,26],[3,22],[-4,18],[-6,5],[-17,36],[-10,30],[-8,3]],[[5739,7962],[20,10],[14,-2],[6,-9],[21,-8],[10,-13],[-1,-25],[7,-10],[5,2],[0,-20],[10,-9],[-1,-16],[6,-9],[-15,0],[-3,6],[-7,-6],[-1,9],[-7,-4],[1,-26],[-13,-19],[0,-11],[-8,-1]],[[6384,4200],[0,8],[5,14],[-5,-22]],[[6370,4487],[-2,-11],[7,-4],[1,-18],[7,-8],[4,-13],[-1,-9],[5,-25],[3,-37],[0,-29],[8,-27],[-4,-34],[-3,-9],[-6,7],[-3,25],[-8,-7],[3,-23],[-2,-5],[5,-11],[-1,-25],[-5,-13],[-6,-24],[2,-29],[-4,-39],[-3,-11],[-10,-59],[-2,-19],[-7,-32],[-3,-29],[-10,-57],[-4,-16],[-2,-24],[-7,-48],[-1,-16],[-4,-13],[-8,-47],[-14,-15],[-11,-2],[-13,-11],[-6,-9],[-12,-2],[-11,17],[-10,2],[-10,15],[-2,20],[-7,14],[-1,45],[3,10],[-4,6],[-1,16],[-6,12],[-4,36],[3,27],[4,6],[0,17],[7,4],[11,46],[4,7],[6,29],[-3,4],[2,24],[-6,18],[1,16],[-6,22],[-1,35],[-3,15],[15,49],[0,30],[12,-1],[11,16],[10,-2],[0,7],[8,4],[4,-6],[1,9],[6,5],[18,25],[3,-7],[-3,-10],[7,2],[-4,18],[4,5],[2,12],[6,8],[-3,-22],[11,28],[-3,11],[3,11],[4,-2],[3,11],[-4,9],[0,19],[7,-1],[1,-10],[4,-1],[0,14],[5,1],[-1,9],[6,-4],[3,5],[1,16],[3,8],[-2,22],[3,13],[5,4],[3,18],[2,-8]],[[2590,6367],[-7,-17],[2,17],[5,0]],[[1889,6595],[7,-4],[1,-9],[-8,13]],[[1800,6801],[-5,-1],[5,12],[0,-11]],[[1880,6866],[3,-12],[-3,-16],[-7,7],[2,17],[5,4]],[[1847,6884],[4,-14],[5,-1],[2,-17],[-11,17],[-3,9],[3,6]],[[2186,6889],[0,-8],[7,-2]],[[2193,6879],[11,-20],[1,-12],[9,-31],[6,-12],[9,-27],[7,-6],[-1,-15],[2,-15]],[[2237,6741],[3,-16],[3,2],[2,-14]],[[2245,6713],[2,-9],[20,-12],[4,-8],[16,-2],[9,-10],[5,6]],[[2301,6678],[0,-14],[-8,-31],[-6,-38],[-2,-30],[-1,-43],[1,-16],[-4,-22],[3,-29],[5,-34],[15,-57],[9,-17],[9,-27],[3,-25],[5,-5],[1,-9],[7,-19],[7,-4],[11,2],[5,-9],[6,-2],[8,-21],[10,3],[16,11],[17,3],[15,13],[10,2],[6,-12],[10,-3],[6,17],[-5,8],[14,16],[5,11],[1,21],[7,14],[-1,6],[1,39],[3,15],[16,17],[19,4],[17,12],[14,2],[20,-9],[6,9],[6,-10],[2,-17],[-3,-16],[-9,-18],[-7,-19],[-1,-19],[-8,-16],[9,-8],[-6,-40],[-3,-10],[-2,-23],[-3,14],[-4,3],[2,18],[-5,-4],[-3,-15]],[[2437,6020],[-20,42],[-19,33],[-11,16],[-10,10],[-1,-6],[-8,1],[-4,13],[-5,-9],[9,-4],[-11,-1],[-8,-12],[-15,-9],[-7,-8],[-8,-2],[-15,10],[-4,6],[-17,3],[-8,13],[-13,6],[-6,14],[-5,0],[-15,8],[-5,0],[-5,9],[-31,22],[-6,11],[-13,14],[-4,13],[-7,6],[-5,-4],[-32,20],[-8,21],[-9,14],[-12,13],[-15,12],[-3,14],[-5,6],[-8,22],[0,10],[-4,8],[3,8],[10,6],[-7,15],[7,12],[1,22],[-6,8],[-7,23],[-2,32],[-9,17],[-15,34],[-12,32],[-21,28],[7,-7],[0,9],[-5,-1],[-9,13],[-6,18],[7,0],[-22,24],[0,5],[-9,-3],[6,9],[-7,-1],[-8,9],[0,14],[4,9],[0,19],[-4,9],[-10,3],[-5,23],[-9,2],[-7,13],[-2,26],[2,3],[-14,4],[-8,12],[-5,13],[-5,5],[-13,29],[-2,20],[-5,2],[1,9],[-11,23],[0,16],[-10,36],[3,20],[-16,10],[-1,10],[-7,6],[-9,-6],[-10,15],[-8,2],[0,-41],[4,-8],[3,-27],[-1,-19],[7,-21],[4,-1],[17,-27],[3,-23],[7,-3],[11,-32],[3,-25],[4,-12],[8,-6],[4,-20],[6,-7],[-1,-6],[8,-25],[-3,20],[8,-10],[0,-9],[5,-13],[1,-29],[9,-25],[10,-36],[-2,-15],[3,-15],[8,-8],[0,13],[14,-16],[4,-23],[7,-10],[0,-14],[-11,-19],[-7,0],[-6,36],[-8,9],[-12,22],[-14,16],[-5,14],[-4,-3],[-4,14],[-3,-1],[-2,25],[3,3],[0,27],[-9,30],[-3,0],[-17,21],[-1,21],[-4,-13],[-10,-1],[-5,13],[-8,9],[-10,6],[0,9],[-16,20],[-1,8],[15,-5],[7,6],[5,-13],[-1,17],[2,28],[-9,26],[-4,3],[-12,26],[-6,2],[-14,19],[-4,12],[0,19],[-5,4],[-1,26],[-7,9],[0,11],[-10,22],[1,15],[-8,14],[-6,28]],[[1746,7056],[66,10],[-1,-12],[46,-30],[58,-37],[79,0],[0,26],[46,0],[11,-20],[8,-8],[14,-26],[6,-4],[7,-12],[6,-21],[-1,-10],[5,-21],[14,-20],[25,-19],[8,14],[4,30],[8,2],[3,6],[5,-5],[20,-2],[3,-8]],[[2290,6649],[-4,-5],[0,-32],[-2,-53],[6,67],[4,13],[-4,10]],[[5582,7536],[0,0]],[[5586,7536],[-4,1]],[[5581,7537],[0,0]],[[5575,7539],[-2,10]],[[5598,7616],[20,7],[2,-4]],[[5117,6285],[0,-124],[-1,-33],[-4,-7],[-4,-29],[-11,-17],[0,-8],[-14,4],[0,-5],[-47,-3],[-9,-17],[-9,-3],[-13,3],[1,-5]],[[4683,5897],[-1,36],[-6,21],[-5,-5],[-8,23],[4,5],[-2,28],[-5,6],[1,18],[-2,5]],[[4659,6034],[5,-2],[7,8],[0,24],[3,11],[6,7],[14,-22],[3,-2],[4,13],[12,1],[14,-4],[13,7],[65,0],[41,0],[5,45],[-8,15],[-1,33],[-2,21],[-1,36],[-2,22],[-6,109],[0,17],[-3,39],[-6,104],[0,14],[-3,39],[0,16],[-3,37],[50,0]],[[7737,5862],[0,-11],[-4,-2],[-1,13],[5,0]],[[7733,5907],[-2,-14],[-1,20],[3,-6]],[[7622,6095],[-2,9],[7,13],[2,-6],[-7,-16]],[[7710,6117],[-4,12],[2,5],[2,-17]],[[7602,6269],[-2,-10],[-5,9],[7,1]],[[7604,6305],[6,-6],[-6,-6],[-3,10],[3,2]],[[7780,6353],[-9,6],[0,-6],[-10,2],[3,-11],[-6,-6],[-8,1],[-1,-17],[-21,-7],[-6,8],[0,-9],[-5,-4],[-2,-10],[1,-18],[-4,-10],[3,-19],[-10,-8],[5,-6],[5,-22],[-2,-10],[11,-23],[4,-17],[7,-8],[-1,-11],[6,-28],[6,5],[-2,-15],[-7,-3],[0,-40],[-9,-4],[-2,-12],[2,-16],[6,-13],[3,-15],[11,-14],[4,-11],[3,-67],[6,-9],[1,-25],[2,1],[3,-19],[-6,-12],[-1,-12],[-5,-17],[-6,-8],[0,-8],[-5,-4],[-2,-23]],[[7742,5779],[-7,-20],[0,24],[-1,18],[7,10],[1,45],[-5,2],[4,20],[-6,11],[5,21],[-3,32],[-9,31],[-4,-1],[0,27],[-3,9],[-5,30],[0,32],[-2,26],[-4,14],[2,25],[-8,-2],[-5,13],[0,18],[-3,12],[-6,8],[0,-23],[-2,-16],[-5,-11],[-11,3],[2,-12],[-16,-8],[-2,-16],[-7,-13],[-9,8],[-6,-4],[0,12],[-5,-9],[-3,5],[3,21],[-12,-19],[-1,11],[4,22],[2,38],[4,9],[0,22],[-2,3],[-2,30],[-6,24],[-5,8],[0,20],[-2,-4],[-1,-16],[-7,9],[-6,22],[9,-10],[6,14],[-11,14],[3,13],[-4,-3],[-6,11],[-10,-1],[2,16],[-4,-12],[-5,6],[5,4],[-5,9],[0,-11],[-7,22],[-3,3],[-3,21]],[[5533,7690],[8,-17],[11,-8],[13,-12],[0,-5]],[[5538,7620],[0,-3]],[[5537,7617],[-6,0],[7,-10]],[[5537,7593],[-14,24],[-10,8]],[[8263,7933],[2,-6],[9,9],[-4,10]],[[7439,8014],[9,6],[1,10],[19,0],[8,3],[15,13],[-2,11],[25,18],[5,0],[8,12],[11,0],[12,16],[9,-2],[7,10],[7,-10],[9,6],[2,-10],[33,-2],[3,-22],[8,-10],[8,1],[15,-8],[9,7],[21,-9],[11,2],[9,-10],[7,11],[15,6],[5,15],[2,14],[-8,6],[-6,22],[7,27],[5,0],[3,14],[8,4],[7,20],[11,-11],[11,-3],[9,-10],[14,0],[23,-15],[7,1],[17,-9],[2,-43],[17,-15],[11,-7],[20,-3],[13,10],[19,4],[4,6],[21,-6],[4,-6],[13,3],[14,-20],[22,-3],[-1,-15],[17,-20],[16,1],[31,-10],[3,4],[9,-6],[20,14],[18,1],[11,8],[10,-2],[8,5],[3,12],[27,27],[17,-1],[17,-20],[9,-1],[12,8],[12,-5],[3,-6]],[[5913,3637],[-22,0]],[[5891,3637],[1,15],[-3,17],[1,16],[-3,3]],[[5887,3688],[1,16],[0,71],[-4,30],[-3,5],[-6,24],[1,14],[-7,44]],[[5869,3892],[31,64],[-2,10],[4,10],[-1,17],[6,7],[9,29],[1,14],[-6,6],[1,36],[-5,2],[0,11],[6,3],[-1,14],[4,4],[-2,36],[3,14],[-1,17],[-5,22],[4,14],[-7,-1],[-1,6],[-13,9],[-9,1],[-5,12],[-5,1],[-7,10],[-9,-2],[-2,4],[-13,-1],[0,21]],[[5844,4282],[-1,18],[-4,20],[19,14],[14,6],[19,16],[4,1],[27,19]],[[5922,4376],[6,-21],[7,-13],[1,6],[17,6],[5,-11],[2,-41],[-5,-11],[0,-9],[-5,-10],[5,-13],[1,-14],[9,-15],[5,-13],[5,-4],[0,-17],[5,0],[-2,38],[4,19],[9,2],[3,5],[1,35],[-1,16],[3,15],[-2,14],[-21,54],[-6,11]],[[5968,4405],[-2,10],[-1,28],[2,8],[-4,14],[0,16],[6,10],[2,25]],[[5971,4516],[19,0],[5,10],[9,-10],[1,-7],[15,1],[7,6],[12,-8],[11,10],[1,13],[7,4],[11,-8],[11,13],[11,0],[5,9],[9,4],[18,27]],[[6123,4580],[6,-13],[-7,-32],[0,-23],[3,-18],[0,-28],[3,-20],[-6,-8],[5,-1],[-2,-39],[4,-23],[-4,-8],[6,-2],[-3,-8],[6,-5],[0,-22],[-5,-7],[1,-8],[-3,-24],[-13,-26],[-3,-14],[-7,-7],[3,-7],[-21,-26],[-1,-7],[-11,-2],[-16,-16],[-6,-3],[-20,-22],[-11,-32],[-8,-15],[-2,-13],[-5,5],[1,-12],[-4,6],[-13,-18],[-6,-17],[-16,-26],[-3,4],[0,-25],[-3,-12],[6,-15],[3,0],[4,-39],[4,-16],[2,-20],[-1,-24],[5,16],[2,-16],[-2,-10],[3,-20],[-7,-50],[6,-4],[-3,-17],[-9,-26],[-13,-11],[-26,-17],[-11,-10],[-12,-16],[-5,-18],[-4,-6],[3,-12],[7,-5],[-1,-33]],[[4659,6034],[-6,12],[-12,16],[-1,13],[-8,8],[-2,17],[-5,13],[-10,-2],[-6,16],[-8,14],[-16,0],[-20,-9],[-19,1],[-1,-15],[-3,-3],[-2,-22]],[[4540,6093],[0,30],[2,18],[8,33],[4,26],[0,28],[-3,40],[-5,20],[-6,11],[9,24],[0,28],[-9,26],[0,-9],[-5,11],[-4,19],[-4,-3],[-1,-16]],[[4526,6379],[-1,6],[3,26],[55,0],[55,0],[0,15],[-4,71],[3,10],[12,16],[17,11],[0,146],[56,0],[36,0],[0,74]],[[6603,4026],[2,-11],[-3,-12],[-9,-1],[0,15],[4,13],[6,-4]],[[5969,4525],[0,2]],[[5969,4527],[0,-2]],[[5964,4534],[0,2]],[[5964,4536],[0,-2]],[[5952,4624],[-3,6]],[[5949,4630],[3,-6]],[[5946,4634],[0,1]],[[5946,4635],[0,-1]],[[5941,4623],[2,-16],[8,-22],[-1,-51],[3,-25],[-8,-21],[0,-15],[4,-4],[0,-16],[4,-12],[-1,-26],[2,-9],[7,-10],[-2,-24],[7,-10],[2,11],[8,-16],[4,0],[-6,34],[-6,2],[0,12]],[[5922,4376],[-7,-1],[-2,12],[-6,14],[6,8],[4,49],[9,3],[5,11],[-4,0],[-4,11],[2,15],[-3,27],[5,15],[-4,17],[7,6],[5,11],[-4,20],[-6,8],[1,15],[-4,12],[-7,1],[-1,11]],[[5914,4641],[10,-5],[4,-7],[9,1],[4,-7]],[[8093,5320],[-2,3],[0,20],[2,-2],[0,-21]],[[8269,5423],[5,-1]],[[7786,5497],[-1,-11],[-3,11],[4,0]],[[7773,5553],[-3,-8],[-3,8],[6,0]],[[7834,5543],[9,-7],[3,-14],[18,-29],[9,-33],[1,-32],[-4,-8],[0,-23],[4,-12],[-2,-6],[1,-32],[10,-15],[3,-23],[8,-23],[1,-24],[-16,4],[-4,-10],[-5,15],[-15,19],[-7,11],[-10,9],[-11,21],[-14,15],[2,9],[-2,17],[-6,17],[-11,19],[2,9],[-4,6],[1,21],[-2,19],[-6,11],[2,6],[-2,23],[0,26],[-7,25]],[[7780,5554],[2,15],[4,-9],[12,-7],[2,-11],[7,1],[0,-19],[-3,-9],[3,-8],[5,9],[9,7],[6,-10],[7,30]],[[8045,5303],[0,-10],[8,-13],[9,1],[16,-8],[6,-6],[0,16],[5,22],[0,18],[4,0],[2,16],[5,8],[11,2],[20,10],[9,9],[12,33],[7,12],[6,19],[1,16]],[[8193,5464],[1,-4]],[[8198,5465],[6,1],[6,15],[-6,9],[6,11],[6,0],[3,14],[4,4],[1,17],[6,6],[1,8],[8,18],[3,19],[3,-3],[-2,-22],[6,8],[3,15],[4,-2],[1,-18],[7,-3],[6,-10],[-4,-13],[5,-16],[6,9],[3,-14],[8,-1],[9,-15],[15,-10],[0,-11],[-15,-13],[-7,-1],[-2,6],[-7,-8],[5,-14],[9,-13],[-18,-12],[-11,10],[-1,-14]],[[8256,5598],[-5,-6],[0,10],[6,4],[-1,-8]],[[5649,4167],[22,9],[17,-1],[7,-5],[6,-12]],[[5554,3757],[1,-13],[0,-196],[-12,-8],[-2,-9],[-7,-5],[-3,-11],[-11,7],[-16,-4],[-16,13],[-5,-1],[-2,28],[-4,0],[-3,11],[-5,-2],[-4,-12],[0,-11],[-8,-7]],[[5457,3537],[-5,4],[-15,27],[-12,41],[-2,21],[-5,18],[2,11],[-5,7],[0,21],[-3,11],[-1,23],[1,20],[-11,53],[1,33],[-2,25],[3,10],[-1,27],[-14,39],[-4,18],[-13,37],[-5,37],[-3,3],[-4,20],[-7,22],[-3,18],[-8,23],[-8,14],[-5,21],[-3,36],[1,12]],[[9665,3952],[5,-3],[-1,-13],[-7,3],[-2,12],[5,1]],[[9646,3990],[4,-27],[-9,7],[-1,8],[6,12]],[[9555,4026],[7,-13],[6,0],[16,-24],[5,-3],[11,-30],[7,-3],[15,-20],[4,-10],[11,-14],[2,-10],[-3,-5],[-12,8],[-2,-4],[-6,8],[-2,13],[-4,-1],[-7,14],[-13,7],[-4,13],[-12,16],[-1,8],[-6,6],[-12,44]],[[5416,6507],[4,-53],[1,-34],[12,-31],[-1,-12],[11,-21],[-7,-29],[0,-21],[-6,-142],[-1,-9],[-22,-46],[-12,-29],[-13,-39],[0,-11],[-9,-19],[4,-39]],[[5377,5972],[-6,1],[-4,-10],[-5,0],[-14,-18],[-2,-10],[-10,2],[-7,9],[-12,6],[-22,1],[-13,-6],[-7,-7],[-8,-20],[-18,2],[-10,7],[-15,20],[-9,1],[-10,-12],[-6,0],[-3,-7],[-7,4],[-4,15],[-12,21],[-3,-3],[-16,14],[-8,-8],[-12,2],[-11,-6],[-9,-11],[-1,-28],[-4,-14],[-8,-13],[-1,-25],[1,-21],[-2,-2]],[[5377,5972],[13,-36]],[[5238,5460],[-5,-4],[-6,14],[5,-21],[-2,-4],[-17,-3],[-14,10],[0,-10],[-4,-4],[0,13],[-4,2],[3,-18],[-25,-6],[-7,6],[-8,17],[-3,12],[-3,27],[-4,8],[-3,17],[-6,13],[-13,20],[-15,4],[-12,-1],[4,6],[-5,2],[0,-9],[-19,-1]],[[2691,6046],[-6,-4],[4,-35],[-7,-20],[-4,-40],[2,-21],[-1,-19],[2,-10],[-4,-2],[1,15],[-5,-4],[4,-12],[-5,-31],[3,2],[1,-14],[-6,-11],[1,-16],[5,-12]],[[2619,5821],[-6,13],[-12,18],[-7,15],[-4,17],[-26,41],[4,10],[6,-5]],[[5093,8141],[24,0]],[[5162,8210],[-10,-17],[-10,7],[15,13],[5,-3]],[[5118,8141],[-21,6],[1,7],[9,1],[7,-11],[-3,33],[8,7],[6,13],[6,36],[10,-1],[14,21],[11,5],[24,3],[9,-12]],[[5140,8230],[7,-10],[-8,-8],[0,-15],[12,-5],[12,14],[-12,20],[-2,13],[-9,-9]],[[5157,8665],[-10,4],[10,9],[0,-13]],[[5249,8849],[3,-8],[-16,-5],[-3,7],[16,6]],[[5244,8857],[-2,-7],[-13,0],[15,7]],[[5344,8955],[3,-6],[-12,-11],[9,17]],[[5387,9114],[3,-5],[-17,-6],[5,13],[9,-2]],[[5420,9124],[-11,-11],[-15,-6],[9,15],[17,2]],[[5441,9154],[2,-15],[8,12],[8,-5],[-1,-15],[-21,-8],[-4,-7],[-17,-3],[6,18],[6,0],[6,23],[7,0]],[[5421,9152],[6,-15],[-9,-5],[-18,7],[21,13]],[[5439,9158],[-11,-3],[20,19],[-9,-16]],[[5492,9188],[10,-7],[-3,-14],[-32,-8],[9,12],[-6,8],[22,9]],[[5523,9207],[6,-7],[-8,-11],[-17,-2],[5,15],[14,5]],[[5533,9218],[12,-6],[-15,-10],[-9,7],[12,9]],[[5652,9249],[5,-8],[-16,-11],[-6,7],[17,12]],[[5649,9262],[-11,-16],[-24,-4],[7,13],[17,-3],[11,10]],[[5856,9203],[2,-15],[-17,4],[-10,-15],[-16,-3],[-11,-16]],[[5572,9158],[-14,0],[7,-8],[-11,-20],[0,-11],[-42,13],[-8,-3],[1,-19],[-8,-13],[-16,8],[-15,-11],[-5,-16],[-14,-13],[9,-12],[-1,-10],[-27,-31],[2,-13],[-12,-7],[-15,-1],[3,-17],[-3,-30],[-5,-12],[-20,-30],[14,-8],[1,-15],[-5,-10],[-21,5],[-15,-8],[-14,-21],[-5,-18],[6,-16],[-4,-24],[7,-20],[-5,-30],[20,-20],[-4,-18],[-13,-4],[10,-29],[-3,-21],[-10,-13],[-7,0],[-6,-16],[4,-21],[-6,-21],[-5,6]],[[5317,8580],[-2,7],[-16,4],[-5,22],[-5,-3],[1,-15],[-5,-12],[-15,-2],[-28,-36],[-16,-16],[-15,-5],[-30,5],[4,7],[-19,9],[-10,9],[-4,11],[2,18],[14,-10],[-5,13],[9,14],[-12,11],[2,-11],[-10,-4],[-8,9],[8,18],[11,0],[-5,7],[7,5],[5,15],[10,13],[-13,-9],[-6,-16],[-6,16],[-6,-8],[-6,8],[3,14],[12,-3],[-1,14],[-10,-9],[-10,14],[3,16],[10,0],[-13,10],[0,10],[11,7],[-11,5],[11,16],[33,-6],[-31,8],[-7,-3],[7,17],[13,1],[25,16],[-12,-3],[12,13],[22,-8],[-1,10],[-16,2],[-2,12],[10,5],[7,-6],[16,2],[4,11],[12,-2],[-5,11],[34,19],[7,-14],[24,5],[-2,8],[19,14],[2,9],[-18,-7],[2,-9],[-26,-14],[-12,16],[15,11],[-3,9],[14,10],[12,17],[13,-11],[0,17],[11,5],[4,17],[19,3],[-10,6],[10,12],[-8,12],[27,33],[-8,8],[9,16],[12,10],[-7,6],[20,4],[10,13],[22,-3],[0,5],[-28,1],[28,31],[-15,-9],[4,15],[30,7],[-22,1],[23,8],[5,-17],[6,8],[-11,14],[17,8],[32,-1],[-9,8],[-29,-5],[2,11],[24,6],[6,22],[10,6],[4,14],[19,5],[11,13],[26,10],[8,-11],[15,2],[11,14],[19,-17],[-5,14],[-18,15],[28,3],[20,-6],[5,-14],[11,25],[29,23],[0,11],[37,-7],[-19,-17],[-9,-26],[8,-1],[6,15],[33,35],[-3,-34],[17,22],[11,6],[-8,10],[28,3],[8,-5],[-19,-29],[14,2],[11,20],[9,1],[21,-14],[8,4],[27,-25],[-16,-2],[-10,-10],[-39,6],[-3,-4],[29,-8],[-2,-12],[34,3]],[[5713,9281],[11,-11],[-15,-3],[-6,9],[10,5]],[[4778,9282],[-1,-9],[-15,-2],[16,11]],[[5647,9686],[-7,-11],[38,-10],[-33,-33],[-23,0],[10,17],[-53,-6],[22,27],[-22,9],[23,8],[45,-1]],[[5596,9708],[21,-5],[1,-13],[-43,-4],[-15,17],[36,5]],[[5313,9706],[24,-18],[-29,12],[-16,19],[13,4],[8,-17]],[[5467,9783],[4,5],[53,-31],[2,-16],[23,1],[8,-9],[40,-9],[-5,-12],[-44,-1],[-22,-10],[3,-21],[-18,-4],[-5,-31],[-14,1],[-11,-30],[-12,-11],[3,-11],[-20,6],[-35,25],[-18,3],[-9,22],[50,-2],[-31,7],[59,9],[-36,4],[-50,-9],[-5,19],[40,3],[17,12],[27,1],[-3,22],[-14,-14],[-16,-1],[-1,23],[-28,-21],[10,-6],[-25,-10],[-23,-1],[-17,20],[-20,10],[21,16],[-19,4],[10,14],[-23,-12],[-16,26],[31,17],[9,-10],[47,12],[-3,-10],[-33,-9],[37,-1],[19,16],[20,-12],[5,-15],[28,-25],[-14,23],[-7,33],[24,9],[7,-9]],[[5642,9812],[113,-16],[-1,-15],[-37,-13],[-5,-13],[-38,-5],[-6,-7],[-32,2],[-1,11],[-57,-2],[-32,10],[22,8],[39,1],[0,7],[-66,-7],[-28,4],[-12,23],[33,-5],[33,19],[53,-25],[3,26],[19,-3]],[[9617,2273],[0,-19],[-6,6],[6,13]],[[9665,2494],[6,-10],[0,-14],[-12,-2],[-5,-8],[1,13],[5,6],[-1,14],[6,1]],[[96,2665],[10,-1],[-9,-6],[6,-11],[-9,-5],[3,13],[-9,8],[8,2]],[[9802,2850],[-4,0],[-2,-14],[9,-2],[1,-21],[4,-9],[10,14],[6,3],[3,-10],[3,13],[9,-2],[-4,-7],[3,-10],[-6,-8],[6,-18],[-8,-17],[-3,-13],[-9,-13],[-6,-23],[-15,-16],[-1,-24],[9,-5],[1,-9],[-7,-4],[-10,10],[-7,-9],[-25,-22],[-4,-20],[0,-17],[-7,-15],[-5,-25],[0,-16],[-8,-3],[-17,-24],[-4,-11],[-13,-7],[-11,0],[-1,6],[-13,-4],[-5,16],[-11,-2],[-2,10],[-8,3],[-3,-7],[-16,3],[1,13],[-9,0],[0,10],[9,6],[-2,8],[4,17],[8,-7],[-4,16],[36,56],[2,7],[10,1],[19,21],[8,4],[16,27],[14,12],[13,29],[6,37],[9,4],[8,16],[1,31],[15,21],[7,0]],[[9872,3102],[4,-10],[-7,5],[3,5]],[[9807,3201],[-1,-14],[3,-11],[8,-8],[8,2],[10,-9],[2,-9],[5,4],[1,-13],[5,-10],[-2,-23],[9,-16],[-3,-21],[7,-17],[8,0],[4,-17],[5,3],[-4,18],[3,20],[3,-14],[7,-9],[1,-35],[2,-7],[14,-7],[19,-13],[10,4],[5,14],[8,7],[8,0],[7,-10],[-6,-15],[-1,-32],[-10,-9],[-2,-34],[-1,12],[-12,1],[-10,-8],[-4,-10],[1,-13],[4,-3],[-5,-25],[-8,-21],[-6,-9],[-9,-30],[-8,-14],[-13,-14],[-3,11],[-9,-1],[-8,12],[4,4],[10,24],[4,27],[-5,17],[-15,10],[-6,12],[-9,4],[-6,8],[1,14],[22,19],[3,41],[4,20],[-3,30],[4,10],[-3,8],[-8,-6],[-2,16],[-6,19],[7,-12],[-2,22],[-11,8],[1,-9],[-26,61],[2,16],[-12,29],[10,1]],[[6629,6344],[-1,12],[8,19],[-7,-31]],[[6474,6141],[-8,37],[-2,0],[-11,55],[-10,44]],[[6443,6277],[13,8],[52,37],[19,12],[9,56],[9,61],[-13,39]],[[6566,6621],[6,-28],[6,-15],[10,-17],[31,-18],[8,2],[6,-11],[13,-39],[7,-13],[8,-2],[0,-17],[-9,-27],[-4,-19],[-12,-17],[-11,-42],[-8,1],[1,11],[-5,-3],[-3,-13],[-4,-4],[-1,-20],[-3,-10],[2,-31],[2,-11],[-3,-4],[-15,-2],[-8,-6],[-7,-12],[-3,-28],[-5,-10],[-5,1],[-21,-7],[-6,-19],[2,-9],[-7,-20],[-8,-3],[-4,5],[-16,-3],[-12,-14],[-7,0],[-7,-6]],[[6557,6684],[2,8],[9,-6],[-5,-27]],[[6893,6556],[-1,-9],[-8,10],[-6,-3],[-8,15],[-5,42],[-13,5],[1,20],[-5,7],[-3,13],[-7,1],[2,-7],[-16,-8],[-13,2],[-1,-4],[-23,-1],[-19,6],[-4,-11],[-28,4],[-5,-6],[-17,-8],[1,8],[-5,2]],[[2729,5623],[3,-19],[-7,12],[4,7]],[[2836,5599],[-8,16],[-7,31],[5,4],[0,10],[5,8],[-5,3],[-4,-7],[-3,16],[-10,15],[-6,5],[-10,2],[-9,-12],[0,-13],[-8,-11],[-12,-10],[0,-8],[10,-19],[4,-14],[-10,-6],[-2,-9],[-13,-2],[0,7],[-8,30],[-1,-14],[-10,8],[-3,19],[-9,8],[-6,-1],[0,8],[-8,-4],[-9,2],[-2,-16]],[[2706,5734],[6,-10],[3,-23],[13,-4],[-4,11],[5,-3],[6,-15],[10,-1],[9,5],[7,12],[14,8],[14,22],[10,-4],[7,2],[-2,-7],[16,-2],[17,-19],[3,-9],[10,-15]],[[3073,4289],[-8,13],[-7,0],[2,-20],[-3,4],[-3,-15],[17,-10],[-2,-8],[7,-8],[4,3]],[[3084,4249],[-2,-19]],[[3044,4127],[-14,19],[0,3],[-13,15],[0,13],[-3,10],[-18,16],[-6,15],[-10,5],[-17,20],[-17,13],[-3,8],[-32,34],[-1,9],[-9,19],[-10,12],[-6,25],[-4,2],[0,15],[3,23],[-10,34],[0,7],[-8,20],[1,6],[-7,9],[-3,11],[-2,23],[-4,10],[-8,9],[1,11],[-4,20],[-12,36],[-1,20],[-4,9],[-2,18],[-5,8],[-4,33],[-6,23],[-14,29],[-6,35],[-7,12],[-6,16],[-16,16],[-11,17],[0,11],[8,6],[-2,16],[-7,11],[3,15],[-8,19],[2,25],[12,23],[0,5],[14,21]],[[8339,5486],[-9,-12],[-3,4],[12,8]],[[8361,5534],[5,-6],[-8,-6],[3,12]],[[8390,5552],[-3,0],[-4,14],[7,5],[7,-7],[-7,-12]],[[8493,5581],[-3,9],[3,5],[0,-14]],[[8251,5645],[-2,-13],[-1,14],[3,-1]],[[8489,5736],[9,-8],[3,-13],[4,4],[-1,-13],[4,-7],[0,-10],[-6,-9],[8,-6],[-1,-20],[3,3],[-2,-23],[5,-6],[1,-27],[-4,-16],[-6,-12],[-1,-28],[-4,20],[1,8],[-6,19],[-1,14],[-5,-4],[0,-9],[-5,-8],[-3,-22],[6,-6],[3,-20],[-1,-12],[-7,-21],[-7,13],[3,8],[-3,9],[-3,-14],[-10,5],[-13,14],[-5,15],[0,20],[-2,0],[1,19],[6,8],[0,9],[-5,11],[-15,13],[-3,-12],[1,-15],[-4,9],[-4,-1],[0,12],[-4,-14],[-6,0],[1,16],[-9,-3],[-7,-26],[-2,-17],[-3,-3],[-5,9],[7,30],[-1,11],[7,16],[16,6],[3,21],[8,1],[2,11],[3,-6],[6,1],[4,-13],[0,-15],[11,6],[2,17],[3,4],[6,-8],[3,5],[0,23],[4,1],[5,-9],[5,10],[7,1],[0,17],[-4,21],[2,8],[5,-12]],[[8503,5750],[-4,-2],[2,14],[2,-12]],[[8453,5767],[7,-6],[-1,-12],[-7,-13],[-12,2],[-2,9],[7,10],[3,10],[5,0]],[[8479,5754],[-4,9],[3,3],[1,-12]],[[8490,5782],[1,-31],[-5,11],[0,15],[4,5]],[[8332,5791],[-6,-5],[2,10],[4,-5]],[[8408,5792],[-5,-9],[0,11],[4,7],[1,-9]],[[8423,5815],[8,-4],[1,-7],[-7,-25],[-1,-15],[-4,-13],[0,-19],[5,-11],[-2,-12],[-7,-5],[-3,15],[-9,8],[-5,15],[2,15],[11,6],[-1,23],[4,23],[8,6]],[[8444,5821],[1,-35],[-2,-9],[-9,-14],[0,-7],[-6,-27],[-3,-4],[2,34],[9,27],[5,33],[3,2]],[[8319,5836],[0,-30],[6,-17],[-10,-11],[-4,-14],[-13,-9],[1,-12],[-9,-26],[-10,-10],[-1,-9],[-8,-14],[-6,-2],[-1,-9],[-9,0],[19,43],[4,0],[9,23],[7,11],[6,20],[12,17],[4,32],[0,14],[3,3]],[[8456,5842],[7,-8],[4,7],[6,-10],[-1,-30],[5,-8],[2,-19],[-8,-4],[2,-10],[-8,7],[-1,14],[2,19],[-2,11],[-5,5],[-4,-4],[1,30]],[[8456,5856],[5,-12],[-5,0],[0,12]],[[8396,5860],[10,-14],[4,6],[3,-11],[7,8],[-1,-24],[-9,-10],[-1,-11],[-6,-6],[-9,-2],[-6,-13],[-2,20],[4,17],[0,39],[-6,1],[3,10],[9,-10]],[[8332,5870],[2,-13],[-3,-2],[-2,15],[3,0]],[[8331,5890],[11,-11],[0,-5],[-10,1],[-1,15]],[[8405,5890],[-5,12],[6,0],[-1,-12]],[[8469,5906],[10,-3],[2,-13],[5,-4],[-2,-6],[1,-33],[6,-24],[-14,0],[-2,10],[-4,0],[-4,10],[6,17],[-5,0],[-6,16],[-8,11],[-3,20],[7,-3],[11,2]],[[8426,5905],[6,-6],[5,-13],[4,-1],[4,-15],[0,-12],[-17,28],[-8,-17],[3,13],[-1,26],[4,-3]],[[8392,5910],[-3,-30],[-3,11],[2,17],[4,2]],[[8434,5912],[3,-18],[-5,16],[2,2]],[[8421,5926],[-7,8],[2,6],[5,-14]],[[8360,5962],[15,-22],[-1,-23],[-3,-26],[-4,-5],[-9,17],[-4,15],[0,14],[-7,12],[-4,18],[10,-4],[7,4]],[[8385,5963],[7,-9],[-4,-11],[-5,8],[2,12]],[[8450,5993],[5,-11],[0,-12],[-7,-8],[-4,7],[3,5],[0,20],[3,-1]],[[8387,6049],[2,-18],[-3,-5],[-3,23],[4,0]],[[8358,6252],[7,4],[10,-14],[13,-6],[4,13],[3,0],[2,-15],[-4,-8],[-1,-29],[3,-15],[4,0],[2,-28],[-8,-32],[1,-4],[-18,-18],[2,-10],[-7,-28],[9,-32],[-3,-1],[4,-30],[5,-10],[10,-2],[-3,13],[8,9],[8,-1],[9,-20],[-1,-12],[5,-3],[3,17],[17,-13],[1,-4],[-12,-1],[0,-8],[5,-8],[4,-16],[6,-8],[2,-12],[-2,-14],[-6,5],[-1,13],[-7,1],[-8,7],[0,14],[-3,11],[-7,6],[-5,16],[-9,7],[2,-18],[5,-15],[-3,-12],[-7,25],[-17,19],[-8,-8],[1,-6],[-11,-4],[-4,16],[-6,2],[-2,-7],[-1,24],[11,17],[-4,14],[-9,-4],[2,-13],[-4,-3],[-4,23],[-7,4],[-1,23],[-4,8],[1,26],[-4,3],[0,23],[9,-15],[9,5],[-3,17],[0,21],[4,10],[-1,11],[0,43],[5,23],[-1,10],[10,4]],[[8740,5620],[-2,-13],[-3,3],[5,10]],[[9256,4529],[13,-10],[0,-5],[-10,3],[-3,12]],[[9195,4611],[7,-2],[-2,-10],[-8,2],[-5,23],[8,-13]],[[9184,4640],[3,2],[5,-15],[-14,1],[0,16],[6,-4]],[[9176,4644],[-1,-9],[-5,5],[-1,9],[6,1],[1,-6]],[[9234,4667],[10,-3],[5,-11],[-10,2],[-5,12]],[[8989,4680],[-11,16],[11,-11],[0,-5]],[[8981,4701],[6,0],[1,-7],[-7,7]],[[9105,4867],[7,-7],[-1,-11],[-7,10],[1,8]],[[9299,4867],[8,-4],[3,-17],[6,-8],[1,-9],[5,-4],[8,-16],[2,-14],[-7,-8],[-5,1],[-10,17],[1,14],[-14,25],[0,19],[2,4]],[[9089,4870],[-4,0],[-2,11],[3,3],[3,-14]],[[9296,4889],[-2,-21],[-1,25],[3,-4]],[[9228,4941],[-2,-6],[7,-2],[0,-17],[-5,-20],[-8,-1],[5,-25],[-8,-9],[-11,3],[2,-8],[-14,-21],[-15,-13],[-24,-2],[-3,10],[-6,4],[-6,-5],[-2,7],[-10,12],[-9,7],[4,14],[11,-5],[3,4],[7,-8],[20,6],[2,24],[4,-27],[8,6],[8,-5],[8,6],[0,10],[10,20],[7,-3],[2,5],[-2,23],[-3,16],[7,0],[5,-8],[2,8],[6,0]],[[8915,5033],[7,-1],[25,-25],[25,-17],[13,-4],[9,-11],[5,-11],[15,-2],[0,-8],[9,-6],[5,-15],[8,-3],[13,-25],[-1,-38],[14,-4],[18,-16],[5,-7],[12,-3],[9,-22],[0,-18],[-25,-3],[0,-12],[5,-13],[1,-15],[7,-6],[8,-21],[12,-8],[3,-30],[7,-9],[2,-19],[21,3],[-4,-19],[1,-9],[7,-6],[15,-2],[1,-5],[-9,-5],[8,-16],[10,-7],[12,-3],[-4,-5],[-9,-1],[10,-10],[-7,-9],[-13,6],[2,7],[-9,8],[-7,-1],[-8,6],[-12,0],[1,5],[-11,-3],[-2,5],[-17,1],[-11,33],[-5,2],[-7,22],[-8,6],[-4,23],[-10,30],[-13,9],[-5,-1],[-7,8],[-9,2],[-6,12],[-6,-1],[2,-13],[-7,10],[1,-8],[-13,8],[4,-19],[-11,-4],[1,-12],[-18,-5],[-6,1],[11,-10],[7,-15],[1,-11],[-22,-23],[-11,10],[-20,-3],[-6,4],[-3,-5],[-6,7]],[[9195,5027],[10,-11],[11,-17],[7,-3],[14,-33],[11,-10],[5,-22],[-2,-14],[-5,-10],[-6,14],[1,21],[-5,19],[-10,21],[-6,2],[-9,16],[-5,4],[-9,15],[-10,7],[8,1]],[[9172,5046],[6,-5],[0,-12],[-8,0],[-3,9],[5,8]],[[9079,5070],[12,-5],[-3,-8],[-17,0],[0,11],[8,2]],[[9154,5105],[6,-13],[-6,5],[0,8]],[[5544,8319],[0,-1]],[[5544,8318],[4,-1]],[[5548,8317],[63,-4],[21,0]],[[5655,8150],[1,-13],[14,-27],[-5,0],[4,-18],[-10,-8],[-18,-24],[-13,-25],[4,-28],[-6,2]],[[5626,8009],[-15,8],[-11,12],[-16,-2],[-4,-6],[-6,6],[-10,0],[-14,-12],[-1,12],[-10,11],[-7,-11],[-9,7]],[[5396,8275],[8,-3],[0,13],[-10,0]],[[5394,8289],[54,20],[12,16],[10,2],[11,9],[27,5],[7,-23],[12,-6],[17,7]],[[3138,6248],[29,-2],[9,-6],[2,-7],[-7,-13],[-9,-5],[-17,3],[-12,-1],[1,15],[-3,7],[3,10],[4,-1]],[[8625,7631],[5,-14]],[[8630,7617],[-7,4],[-11,-15],[-11,-27],[4,-15],[-3,-11],[1,-19],[-11,-5],[-7,-16],[-13,-11],[-8,-14],[-9,1],[-4,-9],[-10,-8],[2,-9],[-6,-13],[2,-13],[9,-2],[17,-29]],[[8518,7361],[-8,4],[-8,-9],[-8,15],[-7,1],[2,-14],[-10,9],[-7,-2],[3,9],[-13,4],[9,5],[-3,9],[10,20],[-3,4],[4,21],[5,14],[-4,8],[-16,7],[-11,14],[1,12]],[[4525,7072],[11,-2],[-3,-7],[-10,3],[2,6]],[[4286,7362],[15,1],[0,-6],[-10,-3],[-5,8]],[[4220,7396],[-11,-2],[-2,9],[13,-7]],[[4248,7409],[-8,0],[0,8],[6,0],[2,-8]],[[4794,7325],[-12,-12],[-21,8],[-10,-7],[4,24],[1,44],[-4,18],[-8,-2],[-1,11],[8,6],[-2,7],[-4,-11],[-9,1],[4,38],[6,7],[7,36],[-1,3],[7,47],[-6,50],[3,7]],[[3492,3797],[-1,-17],[-4,-23],[-1,-22],[-3,-17]],[[5949,6986],[8,16]],[[5987,7012],[-4,-16]],[[853,4163],[-9,-2],[-1,11],[5,3],[5,-12]],[[6422,6601],[-8,-2],[-3,9]],[[6411,6608],[1,10],[-3,15],[1,20],[3,6],[4,24],[6,6],[4,-12],[5,-2],[1,-9],[-4,-14],[4,-14],[0,-15],[-4,-17],[-7,-5]],[[5783,7801],[3,-8],[11,-6],[14,12],[10,-3],[2,-9]],[[5823,7787],[-1,-22],[-14,-4],[-3,13],[-4,-3],[-6,-35],[1,-21],[-3,-13]],[[5630,7730],[-6,15],[8,5],[-10,9],[-6,-14],[-5,9],[-10,2],[-9,9],[5,16],[-15,12],[-6,9],[1,16],[-13,13],[-2,7]],[[5635,7944],[10,8],[7,-5],[20,-6],[10,3],[9,-14],[10,11],[26,6],[3,12],[9,3]],[[9064,7741],[7,1],[-12,-10],[-16,-24],[15,37],[6,-4]],[[9133,7793],[-15,-6],[-10,-15],[-5,0],[-7,-11],[-18,-19],[10,17],[-3,3],[25,28],[9,0],[12,15],[2,-12]],[[9182,7845],[-21,-27],[-10,-9],[15,27],[16,9]],[[9227,7898],[-1,-8],[-10,-14],[11,22]],[[9301,8041],[-1,-17],[-6,3],[7,14]],[[9336,8091],[-7,-15],[-9,-4],[-5,-11],[-5,16],[15,9],[4,15],[7,3],[0,-13]],[[9344,8100],[-7,6],[7,7],[0,-13]],[[8967,8309],[5,-11],[-3,-7],[8,-35],[4,-38],[-6,-46],[5,-11],[-2,-12],[6,0],[9,-69],[10,-33],[0,-7],[8,-36],[-9,14],[-23,9],[3,-6],[-10,-7],[-2,-16],[-12,-57],[6,-26],[8,-11],[0,-11],[5,-21],[9,4],[1,-28],[-3,-6],[-2,22],[-17,3],[-2,6],[-7,-5],[-6,-32],[-5,-9],[-3,6],[-4,29],[7,30],[-3,31],[7,21],[-3,26],[-5,12],[7,55],[0,46],[-3,10],[1,17],[5,19],[-5,18],[-11,14],[-1,38],[4,5],[3,26],[-4,26],[13,9],[1,-9],[10,9],[-4,8],[9,2],[-2,12],[-10,21],[5,-2],[5,11],[3,-8]],[[9669,8321],[-19,19],[4,0],[15,-19]],[[8810,8355],[-14,-11],[8,11],[6,0]],[[8827,8358],[9,-8],[-12,-22],[-6,15],[-6,1],[8,17],[7,-3]],[[5548,8317],[18,15],[-10,2],[-12,-16]],[[5544,8319],[10,17],[0,12],[12,-1],[15,19]],[[5582,8366],[-12,-19],[12,-3],[7,5],[1,15]],[[9609,8371],[18,-27],[1,-11],[-13,14],[-4,13],[-7,6],[5,5]],[[9571,8591],[3,-16],[-8,-2],[-23,-18],[9,26],[19,10]],[[5777,8600],[3,-1]],[[6924,9029],[21,-5],[-5,-13],[-16,18]],[[6396,9167],[-24,-22],[-23,-4],[-10,9],[1,19],[15,16],[13,1],[28,-19]],[[9482,9188],[-3,-8],[6,-25],[-10,6],[-2,19],[9,8]],[[9705,9201],[-6,-12],[-29,7],[-11,8],[14,11],[32,-8],[0,-6]],[[6648,9234],[5,-8],[26,-17],[0,-11],[-25,-1],[-5,11],[-10,-2],[-13,12],[-1,15],[13,8],[10,-7]],[[6464,9295],[14,-14],[-6,-11],[-7,12],[-15,9],[14,4]],[[0,9271],[9990,-7],[-25,-4],[-4,14],[8,11],[30,17],[-9999,-31]],[[8829,9305],[-3,-9],[-20,5],[23,4]],[[0,9302],[26,4],[18,-3],[27,-17],[-12,-12],[-42,-8],[-17,5],[0,31]],[[7160,9347],[-27,1],[22,18],[21,-9],[-16,-10]],[[8580,9366],[-7,-7],[-15,7],[22,0]],[[8592,9374],[-28,2],[18,7],[10,-9]],[[7209,9382],[0,-11],[-19,1],[-8,7],[16,13],[11,-10]],[[7078,9392],[-5,-14],[-16,10],[21,4]],[[6536,9406],[31,-6],[-8,-26],[-15,-9],[-7,-32],[5,-18],[16,-29],[23,-20],[19,-10],[-49,-5],[-16,3],[-2,-8],[-14,12],[-18,-1],[-11,7],[-11,34],[-11,-4],[-10,10],[-19,-6],[-8,6],[-3,22],[11,12],[15,-5],[9,22],[11,9],[-20,7],[7,8],[21,1],[-7,12],[17,12],[13,-2],[20,9],[11,-5]],[[6970,9416],[1,-13],[11,-6],[-42,-7],[3,20],[27,6]],[[8951,9436],[32,-18],[0,-21],[-33,3],[-40,10],[-27,-4],[2,8],[17,1],[17,22],[32,-1]],[[8903,9439],[-10,16],[20,5],[2,-17],[-12,-4]],[[8148,9464],[-16,-15],[-37,13],[18,14],[34,-4],[1,-8]],[[7281,9528],[-4,-16],[-14,11],[18,5]],[[9075,9530],[47,-4],[5,-12],[15,3],[49,-6],[-8,-15],[-25,-8],[-43,2],[-58,24],[7,20],[11,-4]],[[8773,9524],[-11,-1],[6,29],[14,-16],[-9,-12]],[[8863,9565],[40,-20],[10,14],[19,1],[-8,10],[35,-19],[29,1],[50,-20],[-19,-5],[5,-8],[-16,-15],[-40,6],[-11,13],[15,13],[-3,8],[-25,-4],[5,-18],[12,-15],[30,-9],[-38,-6],[-14,10],[-49,-10],[-6,8],[-17,-18],[-33,8],[-25,20],[-2,34],[18,1],[-9,9],[42,18],[5,-7]],[[7674,9577],[3,-9],[-30,3],[27,6]],[[8125,9595],[2,-10],[-18,11],[16,-1]],[[9145,9596],[-23,0],[29,8],[-6,-8]],[[6893,9615],[24,-15],[-21,-24],[-51,-17],[-116,-32],[-47,-18],[0,-15],[-22,-8],[-2,-8],[-17,8],[1,-16],[-26,8],[15,-17],[-16,-8],[-16,-31],[-24,-20],[-36,4],[-11,6],[-20,-6],[-4,9],[24,12],[-30,-4],[-2,8],[26,12],[-3,6],[26,13],[-3,20],[24,4],[-14,7],[18,4],[-18,4],[-3,9],[21,-4],[14,19],[19,-4],[-5,11],[38,20],[23,3],[14,11],[23,-2],[0,12],[52,-5],[61,15],[49,28],[35,1]],[[7679,9622],[-33,-4],[35,11],[-2,-7]],[[8666,7787],[3,-13],[-2,-13],[9,-14],[7,9],[6,22]],[[6367,7850],[-12,-15],[-2,-14],[-4,9],[-10,-14],[-17,0],[-7,-31],[-8,-23],[-10,-8],[0,-13],[14,-11],[8,-28],[-2,-14],[6,19],[-5,-26],[0,-21],[7,-10],[4,-16],[12,-26],[2,-11],[6,-4]],[[6110,7681],[-15,21],[-1,6],[-18,24],[-15,7],[-11,15],[-9,1],[-8,19],[-17,11],[8,3],[-1,11],[8,-6],[11,2],[5,-4],[0,16],[-4,2],[8,10],[2,14],[4,-6],[2,11],[11,0],[-13,17],[-5,0],[-4,15],[6,-3],[13,14],[24,9],[0,13],[-30,-8]],[[6061,7895],[-1,12],[5,17],[11,5],[3,10],[25,-3],[0,13],[6,12],[-8,29],[10,5],[-8,3],[11,26],[-1,14],[-10,-2],[-5,10],[-7,0],[-5,9],[-6,-5],[-8,10],[-18,-4],[-8,11],[-8,20],[-16,-6],[-6,-7],[-10,4],[-5,8],[-13,-5],[-6,10],[2,10],[-4,19],[-7,12],[-11,-3],[-13,12],[-3,17],[8,9],[-8,8],[-1,10],[-11,13],[-13,1],[-9,-8],[-15,5],[-1,-11],[-12,-7],[-3,5]],[[5767,8523],[9,-9],[6,9],[-6,10],[-10,-2],[7,19],[-4,30]],[[5773,8590],[9,11]],[[5778,8608],[-1,16],[11,-5],[3,11],[10,-4],[7,12],[29,-8],[2,8],[-9,9],[-25,2],[-10,28],[-16,-9],[-7,2]],[[5856,9203],[15,-9],[19,18],[16,-11],[14,-3],[-7,-8],[-20,4],[6,-7],[19,-3],[-6,-7],[19,4],[5,-5],[35,-7],[23,-1],[52,-28],[21,-21],[14,-2],[16,-14],[13,-3],[30,-21],[1,-23],[7,-2],[-5,-24],[-21,-24],[-30,-15],[-22,-4],[-28,5],[-22,9],[-27,3],[-27,15],[-36,7],[-24,23],[-11,0],[8,-15],[18,-11],[3,-9],[13,-6],[-4,-7],[14,-3],[21,-20],[-4,-21],[-6,-7],[13,-46],[-6,-4],[16,-15],[15,2],[12,-18],[31,-13],[16,9],[1,21],[-25,5],[-16,19],[-3,12],[10,2],[7,12],[18,-9],[10,-13],[0,-9],[10,10],[31,-15],[9,7],[18,-7],[-4,22],[-19,30],[4,9],[18,12],[6,9],[18,5],[22,27],[11,-8],[20,3],[22,-21],[1,11],[11,23],[0,16],[-20,19],[10,28],[3,31],[-25,18],[18,-4],[37,0],[18,-6],[16,-18],[5,-18],[-38,-5],[-12,-22],[17,-9],[8,-17],[20,-5],[34,13],[5,22],[-3,11],[26,7],[1,6],[24,9],[31,22],[8,-1],[31,13],[-1,-12],[16,4],[-12,10],[32,18],[15,-3],[-7,-14],[6,-13],[-21,-8],[29,-3],[7,6],[11,-7],[1,12],[29,14],[38,-5],[18,17],[25,8],[15,-13],[-10,-8],[1,-13],[16,-4],[8,10],[-6,7],[20,5],[13,11],[0,10],[-22,28],[15,6],[2,10],[74,-10],[20,-7],[19,-15],[62,-29],[33,-25],[2,-9],[17,25],[7,19],[-21,2],[-10,16],[-1,12],[-35,14],[3,16],[12,3],[-6,9],[6,15],[-1,20],[-16,-3],[-2,17],[8,14],[28,12],[15,17],[14,51],[12,16],[5,-5],[52,1],[39,-11],[1,-25],[-16,-26],[1,-7],[-15,-11],[8,-13],[16,-10],[5,-15],[-2,-25],[-10,-9],[8,-25],[-5,-11],[3,-21],[-3,-16],[5,-8],[26,-20],[-15,-16],[3,-22],[-18,-13],[-9,-27],[-20,-14],[2,-15],[-15,-1],[-10,-7],[-22,21],[-22,-6],[8,-15],[27,-10],[22,2],[24,-8],[10,6],[2,16],[13,2],[26,20],[1,17],[24,24],[-1,25],[-11,15],[3,17],[29,12],[31,4],[1,-11],[19,-15],[-5,-15],[5,-20],[-7,-7],[18,-13],[18,-1],[-25,13],[0,18],[20,10],[-11,14],[-5,24],[-19,5],[-24,13],[-17,1],[-20,-10],[-27,5],[3,18],[-10,15],[6,25],[17,20],[-21,41],[-15,12],[14,22],[39,16],[5,17],[-4,28],[15,-7],[6,-30],[-13,-17],[7,-17],[-5,-18],[11,-4],[57,-7],[6,-11],[12,0],[-4,17],[-17,2],[-39,16],[-8,20],[27,8],[17,-13],[15,3],[-5,14],[-15,-2],[15,14],[16,5],[28,-3],[51,-35],[23,-3],[18,5],[14,-7],[-14,-16],[-16,-6],[-2,-17],[7,-12],[-10,-12],[11,2],[0,11],[10,11],[9,-6],[-4,-27],[-10,-9],[14,-10],[-7,14],[18,0],[6,8],[-17,44],[13,23],[-6,11],[-32,15],[-3,11],[-26,4],[-14,11],[4,23],[-11,9],[2,28],[39,5],[43,-1],[59,10],[40,3],[-23,-18],[25,2],[10,13],[-19,21],[-22,4],[14,18],[-21,4],[13,10],[16,-7],[68,47],[67,8],[66,16],[-28,9],[19,3],[22,-5],[25,7],[21,-3],[-16,-13],[58,10],[32,12],[29,-10],[-29,24],[18,-3],[40,4],[1,26],[63,39],[43,3],[33,-17],[-21,-13],[-24,-3],[82,-7],[6,-6],[-27,-21],[36,-1],[4,12],[38,1],[19,-4],[27,5],[47,-24],[3,-16],[19,4],[3,-28],[-21,5],[1,-12],[22,-1],[-2,-14],[-20,-17],[-20,-6],[-12,-13],[-47,-16],[-2,-9],[-32,-15],[-20,-19],[-27,-1],[-12,-18],[-17,-2],[-6,-15],[-15,-12],[23,6],[7,17],[37,-2],[15,8],[51,12],[23,10],[-7,6],[-25,-5],[-6,8],[13,10],[25,-6],[7,7],[8,-13],[19,-6],[22,5],[-2,12],[16,-20],[-8,-12],[44,9],[19,7],[100,-13],[-18,-4],[1,-11],[38,-12],[36,-5],[25,2],[21,-8],[-7,11],[19,-6],[11,17],[-8,10],[3,16],[17,-2],[10,10],[23,-14],[29,0],[12,-16],[7,15],[30,-4],[7,-12],[34,-14],[-34,-12],[30,-6],[-39,-3],[20,-10],[18,-1],[6,-12],[-15,-11],[-19,8],[27,-37],[13,-27],[40,-21],[13,12],[18,43],[10,14],[13,-19],[23,-12],[22,0],[4,6],[31,8],[22,-6],[19,-11],[11,-13],[7,27],[16,4],[12,-13],[17,2],[-3,27],[15,17],[-29,0],[12,16],[37,2],[4,10],[-12,9],[23,-1],[23,-9],[38,0],[50,-8],[39,-12],[-37,1],[-16,4],[-13,-15],[27,6],[42,2],[-26,-26],[10,16],[-12,4],[-3,-17],[-23,-12],[29,4],[30,31],[36,0],[34,-9],[13,-13],[-12,-9],[-7,7],[-9,-11],[25,-2],[-2,-11],[20,2],[0,-13],[24,3],[18,-20],[-13,0],[26,-9],[28,3],[65,12],[45,-1],[26,-6],[33,-17],[11,-25],[-11,-19],[3,-8],[31,-8],[3,-28],[11,-11],[-10,-25],[14,22],[-2,26],[19,17],[51,7],[23,-12],[23,2],[11,-5],[24,-1],[21,16],[16,-13],[2,-19],[29,-8],[7,-18],[22,4],[17,12],[-13,32],[-11,-1],[11,11],[-1,19],[41,-7],[22,-1],[17,-10],[1,9],[37,-6],[20,2],[28,-7],[71,-27],[17,-16],[-9958,-15],[3,-12],[28,-11],[2,-9],[12,1],[20,-19],[16,-2],[-10,-7],[12,-5],[0,10],[12,-7],[8,-20],[10,-2],[-3,-18],[5,-13],[-7,-6],[14,-8],[-1,-14],[17,13],[-11,3],[9,6],[-2,17],[-9,6],[27,1],[20,-12],[-5,9],[32,-6],[10,-17],[13,-7],[10,-17],[5,4],[17,-14],[-9,0],[-14,-11],[-5,-15],[-21,13],[11,-20],[-32,3],[4,-27],[-19,-12],[-8,-11],[16,-5],[6,-9],[-13,-1],[-12,-9],[-23,10],[-2,8],[-16,10],[-33,12],[-4,29],[-29,10],[-12,-10],[-30,4],[-11,27],[9,7],[2,15],[-7,-11],[-28,-4],[0,-16],[13,-11],[-7,-23],[9982,-11],[-10,-13],[-34,-9],[-21,8],[-1,8],[-16,9],[12,-16],[-24,2],[-11,7],[20,-23],[20,12],[-3,-16],[17,-17],[8,8],[12,-25],[2,-16],[-5,-13],[18,-9],[2,-20],[7,-16],[-12,-7],[0,-10],[-28,12],[-22,3],[-10,16],[2,-16],[-21,-16],[-25,-11],[-25,-18],[-12,2],[-7,-10],[-8,4],[-1,-10],[-10,-10],[-11,2],[5,-8],[-22,-13],[-3,-12],[-17,-4],[-1,-9],[-15,-7],[-10,-16],[-6,-18],[-8,8],[-7,21],[-13,9],[-32,0],[-35,-20],[-16,-23],[-4,0],[8,39],[-33,-24],[-5,-14],[-7,-2],[-2,11],[-30,3],[2,-9],[-9,-4],[-5,-19],[4,-12],[-12,-10],[4,-10],[-18,-16],[-10,-26],[1,-19],[13,-7],[1,11],[18,-8],[3,-6],[-15,-21],[1,-36],[11,1],[4,-32],[-9,-10],[-12,13],[8,11],[-6,4],[-8,-7],[6,-6],[-16,-12],[-7,-25],[-1,-16],[11,-34],[-11,-14],[-13,-1],[-6,6],[-15,-9],[-13,-15],[-6,-22],[4,-13],[-3,-6],[5,-22],[-13,10],[-9,-5],[-21,-25],[1,-26],[-7,-19],[-10,-20],[-11,-7],[-2,-8],[-17,-22],[-9,17],[-1,40],[-4,33],[-7,23],[-4,46],[-9,60],[-2,29],[4,46],[6,29],[6,15],[17,15],[7,17],[-5,22],[16,0],[7,14],[15,0],[20,19],[24,33],[3,13],[13,12],[5,12],[8,2],[18,25],[14,14],[-1,8],[30,21],[21,9],[-8,4],[15,18],[-7,9],[8,12],[2,33],[14,12],[17,-5],[-18,17],[-15,-1],[-22,-8],[3,-11],[-8,-6],[3,-9],[-6,-15],[10,-9],[-10,-7],[-5,11],[-10,-2],[-12,-18],[-32,-32],[-19,-14],[8,27],[-17,-7],[5,11],[-3,9],[14,29],[-3,10],[-12,-14],[-10,-2],[-3,12],[-13,2],[-26,-10],[-15,3],[-22,-15],[-1,-18],[-20,-20],[0,-9],[-27,-20],[-13,-28],[-7,-1],[-2,-23],[14,5],[16,-14],[-1,-7],[-11,-3],[-8,5],[-13,-10],[-19,11],[0,-8],[-10,-2],[-2,-8],[-16,8],[-9,-11],[-17,-2],[-9,15],[10,4],[18,-1],[6,4],[-15,8],[-10,14],[-13,-8],[-12,2],[-2,7],[-23,8],[-16,-8],[5,-5],[-14,-5],[6,-12],[-14,2],[-2,7],[-12,0],[-10,-9],[-31,13],[-3,-16],[-8,-3],[-6,9],[4,6],[-27,-1],[-32,2],[-19,-3],[-25,-13],[-19,-30],[-17,-11],[-8,-13],[-5,-20],[-15,-9],[-4,-11],[-11,-12],[-14,-9],[-22,-32],[-12,-26],[-26,-27],[-8,-4],[-15,-23],[-19,-15],[0,-12],[14,-9],[30,5],[0,-28],[-4,-21],[12,0],[5,14],[-6,6],[10,10],[8,-2],[-8,-11],[9,-11],[-12,-22],[16,4],[11,9],[7,14],[1,-9],[-10,-15],[7,-3],[8,26],[-1,20],[16,-8],[9,5],[17,-12],[0,-11],[27,-32],[6,-10],[-13,-12],[8,-5],[1,-15],[-4,-13],[11,-12],[-6,-3],[3,-9],[-9,-16],[-6,-3],[0,-12],[-6,-8],[0,-18],[-4,-4],[-3,-20],[1,-32],[3,-23],[-6,-17],[1,-17],[-6,-17],[0,-14],[-26,-38],[-7,-28],[-13,-18],[-5,-27],[-18,-41],[-15,-25],[-10,-11],[-8,-20],[-6,-6],[-5,-15],[-7,-5],[-11,-25],[-3,-14],[-5,0],[-1,-12],[-18,-20],[-9,-6],[-7,-11],[-8,0],[-12,-10],[-6,7],[-4,-4],[-12,10],[-3,-4],[-1,23],[-9,-11],[1,15],[-16,-21],[-1,-11],[-14,-11],[-4,-17]],[[7858,9748],[0,-12],[30,4],[14,-16],[16,-1],[8,-19],[-16,-10],[-31,-5],[-68,-3],[-33,-14],[-21,5],[21,17],[6,19],[36,39],[19,-6],[2,11],[17,-9]],[[7118,9769],[37,-6],[-27,-3],[-10,9]],[[7523,9794],[79,-8],[-18,-13],[-55,8],[-6,13]],[[6659,9787],[-27,3],[21,7],[6,-10]],[[7715,9797],[-5,-21],[25,17],[20,0],[24,-16],[-9,-24],[-19,-5],[25,-18],[-39,-10],[-38,4],[-11,8],[-50,2],[-18,12],[-1,14],[-33,3],[29,14],[23,19],[77,1]],[[6585,9810],[-4,-16],[-28,0],[1,14],[31,2]],[[6481,9813],[15,-7],[-35,-6],[20,13]],[[6646,9809],[-52,-12],[-13,20],[42,0],[23,-8]],[[6329,9836],[-38,-20],[-39,11],[77,9]],[[6729,9835],[-5,-10],[-29,-12],[-38,1],[-13,13],[14,11],[65,2],[6,-5]],[[6537,9839],[-13,-8],[-22,8],[35,0]],[[6388,9840],[7,-8],[30,3],[-9,-14],[-60,-9],[4,-14],[-38,-4],[16,15],[-22,8],[63,10],[-18,7],[27,6]],[[7225,9845],[-28,-9],[2,9],[26,0]],[[6560,9854],[57,-11],[-29,-1],[-28,12]],[[6542,9848],[13,2],[47,-13],[-19,-7],[-41,18]],[[6797,9859],[20,-16],[-28,-11],[-36,-3],[-17,9],[46,10],[15,11]],[[7536,9852],[-37,1],[2,7],[38,-2],[-3,-6]],[[7665,9859],[54,-29],[-20,-3],[0,-24],[-75,-6],[-22,-7],[-63,20],[36,9],[15,17],[-22,-3],[16,14],[81,12]],[[6577,9869],[28,-6],[-38,-6],[10,12]],[[6605,9878],[14,-9],[-44,4],[30,5]],[[5846,5121],[2,-14],[5,-5],[3,-11],[1,-26],[-1,-18],[-8,-2]],[[5801,5040],[6,7],[8,22],[-4,17]],[[5821,5103],[7,4],[4,-9],[5,7],[5,16],[4,0]],[[4526,6379],[-1,15],[2,22]],[[6163,6147],[4,4],[4,-6],[-8,2]],[[6345,6826],[6,-29],[6,-11],[0,-14],[11,-4],[-4,-5],[5,-5],[11,-23],[8,-6],[0,-16],[6,-10],[-2,-18],[-4,4],[7,-31],[8,-17],[0,-12],[8,-21]],[[6422,6601],[7,-4],[-5,-9],[8,-8]],[[6443,6277],[-4,-2],[-58,-16],[-17,-4],[-27,-27],[-16,-40],[-3,-19],[-9,-11],[-5,1],[-7,19],[-11,-3],[-25,5],[-5,6],[-16,1],[-15,-5],[-11,0],[-7,10],[-9,-11],[-1,-24],[2,-15],[-11,-16]],[[6188,6126],[-2,21],[-5,8],[0,8],[-6,9],[0,15],[-15,23],[-9,25],[0,8],[-7,16],[-2,14],[-11,49],[-18,29],[-9,3],[-6,13],[-13,43],[3,7],[-7,28],[4,20],[0,19],[-8,23],[0,8],[-14,46],[-18,21],[-2,-3],[-12,35],[3,0],[0,20],[-4,7],[-4,18],[-8,11],[1,11],[-5,5],[-8,30],[-4,7],[-8,26],[-7,15],[-6,24],[-8,14],[-6,-3],[-6,7],[5,20],[4,47]],[[6024,6449],[0,-20],[6,-21],[2,-34],[2,-65],[5,-40],[4,-8],[10,-8],[5,-9],[1,-10],[10,-6],[3,-8]],[[5946,5727],[-6,5],[3,17],[-2,21],[-20,35],[-3,45],[2,5],[2,31],[-13,0],[0,-12],[-18,0],[7,-17],[0,-27],[2,-11],[-14,-24],[-1,-9],[-18,-39],[-13,-4],[-14,23],[-7,8],[-11,-12],[-4,-17],[-13,-9],[-5,-10],[1,-6],[-23,0],[-4,15],[-22,1],[-14,-7],[-11,27],[-8,12],[-2,15],[-21,-7],[-3,-21],[-5,-6],[0,-19],[-3,-6],[-3,-29],[-11,-12]],[[5634,5812],[3,13],[-1,15],[-4,-1],[-7,16],[3,23],[-5,-2],[0,34],[-7,7],[-6,-7],[-5,9],[6,21],[7,14],[-5,25],[4,9],[9,9],[-4,7],[-1,18],[8,6],[0,10],[7,15],[2,15],[-2,11],[7,9],[12,2],[11,-2],[0,218]],[[5943,5426],[-14,-28],[-9,2],[-3,6],[-5,-5],[-13,-3],[-6,-13],[-7,5],[-4,12],[-7,-8],[-11,7],[-8,-17]],[[4535,5893],[-1,42]],[[4540,5965],[-5,11],[-1,13],[-14,41],[-8,3],[11,9],[8,18],[9,33]],[[7884,5266],[4,-3],[-4,-7],[-7,2],[7,8]],[[3953,2073],[22,-4],[11,-7],[17,-21],[3,-11],[-10,-7],[-10,20],[-12,11],[-22,11],[1,8]],[[9445,4521],[15,-17],[-6,0],[-3,9],[-8,4],[2,4]],[[9612,4569],[-6,-12],[-3,7],[9,5]],[[9481,4595],[13,-14],[8,0],[5,-13],[0,-8],[-12,4],[-9,10],[-1,11],[-6,3],[2,7]],[[9483,4641],[4,-12],[0,-10],[-5,7],[1,15]],[[9442,4640],[13,0],[11,-20],[-4,-9],[-10,7],[-13,1],[-6,13],[0,16],[3,2],[6,-10]],[[9388,4691],[3,-9],[-6,0],[3,9]],[[9371,4689],[-5,3],[5,6],[0,-9]],[[9466,4701],[6,-16],[-2,-11],[5,-5],[7,-34],[-14,21],[-3,10],[-5,37],[6,-2]],[[9378,4711],[4,-3],[3,-19],[-7,4],[-2,13],[-9,-2],[-1,6],[6,13],[5,-1],[1,-11]],[[9365,4716],[-5,1],[-1,9],[4,5],[2,-15]],[[9349,4747],[6,-9],[-4,-9],[-5,14],[3,4]],[[9405,4746],[4,0],[9,-16],[12,-12],[9,-15],[1,-13],[-7,12],[-11,9],[-18,25],[-3,13],[4,-3]],[[9349,4800],[13,-15],[3,-16],[10,-7],[-2,-7],[-15,13],[-7,18],[-6,9],[4,5]],[[4650,5621],[2,-12],[-12,10],[10,2]],[[4681,5581],[-6,9],[-23,18],[1,15],[-7,4],[-6,10],[2,3],[-3,18],[-5,-4],[-3,18],[7,1],[-6,7],[0,11],[4,7],[-6,5]],[[2560,5955],[-2,-14],[-12,0],[-13,5],[-14,14],[-14,2],[-8,11]],[[6359,5831],[0,-104],[-27,-84]],[[6201,5844],[18,-44],[13,-18],[15,0],[11,15],[4,0],[10,12],[11,-4],[6,-7],[6,4],[21,25],[8,-5],[14,3],[9,10],[12,-4]],[[6359,5831],[14,5],[4,7],[7,0],[12,7],[13,23],[15,-9],[-5,-19],[-1,-18],[2,-35],[8,-8],[-14,-6],[-3,-53],[-4,-8],[-1,-12],[-6,-10],[-3,-22],[-6,-20],[-8,-13],[0,-11],[-6,-25],[-10,-29],[-4,-29],[-12,-48],[-13,-33],[-7,-26],[-12,-30],[-14,-28],[-10,-24],[-9,-15],[-8,-19],[-21,-26],[-8,-7],[-18,-27],[-8,-17],[-10,-15],[-22,-48],[-11,-21],[-18,-49],[-9,-28]],[[5183,5187],[-3,-2],[-1,13],[5,8],[3,-11],[-4,-8]],[[3409,5499],[3,3],[1,20],[5,7],[8,-2],[20,-10],[2,10],[33,0],[18,-8],[-1,-20],[-3,-8]],[[5626,8009],[-12,-39]],[[5377,7802],[3,6]],[[5474,8485],[-7,-30],[-12,-34],[0,19],[19,45]],[[5521,8514],[8,1],[-8,-14],[-2,-22],[-10,-8],[-5,7],[-1,19],[10,16],[8,1]],[[5327,8537],[-2,-9],[-9,3],[11,6]],[[5671,8973],[-41,-2],[-9,5],[1,-19],[-16,0],[3,-8],[-13,0],[4,-13],[-10,-13],[-4,-15],[12,-15],[-17,-17],[-4,-15],[-13,-13],[-8,1],[-11,-13],[-32,-24],[0,-9],[-17,-3],[5,-11],[-5,-7],[-15,-2],[5,-14],[-5,-29],[-7,-9],[5,-32],[0,-18],[10,-10],[10,4],[14,-25],[9,-2],[6,-19],[-20,-23],[-6,3],[8,-16],[-17,-16],[-18,-13],[-13,-2],[8,-8],[-6,-3],[3,-15],[-10,-16],[6,-8],[0,-17],[-6,-10],[-3,-37],[-3,0],[-6,-23],[-5,-8],[-6,5],[-27,-3],[-11,-14],[-2,-11],[5,-10],[-6,-9],[-11,3],[-10,-5],[-14,2],[4,15],[-14,31],[8,6],[-6,8],[8,2],[-15,26],[-18,47],[4,27],[-4,8],[-9,-4],[-4,9],[-1,39],[6,-6]],[[5891,3637],[-3,2],[-1,-29],[-12,0],[-11,7],[-9,22],[0,24],[7,17],[1,10],[8,11],[14,-15],[2,2]],[[3249,6221],[-2,2]],[[5999,7178],[-3,27],[1,18],[-4,4],[1,20],[3,4]],[[5997,7251],[7,-5],[5,9],[0,11],[9,3],[-4,14],[4,21],[8,-5],[2,-7],[12,0],[5,6],[18,10],[10,-11],[16,-3],[21,8],[20,17],[22,-1],[16,7],[4,7],[4,-12]],[[5402,5930],[5,0],[0,13],[-4,3],[-6,-5],[2,-5]],[[5398,5936],[-1,0]],[[5044,5541],[-12,-7]],[[7728,5654],[6,-7],[0,-10],[-6,-6],[0,23]],[[7840,5883],[5,-11],[-4,1],[-1,10]],[[7858,5853],[-4,22],[-5,11],[-1,-7],[-12,18],[0,8],[-5,0],[-8,10],[-7,-5],[-16,5],[3,15],[-3,7],[4,21],[-11,5],[-15,-8],[-2,-9],[4,-13],[-4,-16],[0,-27],[2,-5],[-7,-15],[0,-11],[-4,-13],[-5,-20],[0,-15],[-9,-32],[2,-7],[-2,-27],[5,-21],[-3,-10],[16,5],[4,-12],[1,-29],[9,-16],[0,-12],[4,-37],[4,-16],[-4,4],[-3,29],[-6,-2],[2,-13],[6,-18],[6,0],[9,-18],[12,1],[6,-4],[6,-21],[7,-12]],[[7780,5554],[-4,13],[-8,12],[2,14],[-6,2],[-5,10],[-2,18],[-7,5],[1,7],[-5,11],[-4,1],[-3,18],[-5,-2],[-2,-12],[-4,5],[-2,18],[2,14],[4,19],[0,16],[3,16],[7,40]],[[6962,7540],[0,0]],[[6882,7324],[1,20],[12,24],[3,15],[-7,12],[-2,14],[4,10],[-2,9],[-12,1],[0,7],[-9,4],[2,16],[8,9],[18,-6],[7,6],[0,11],[8,4],[1,14],[-10,2],[13,4],[7,-3],[1,9],[-4,11],[5,14],[8,-8],[18,14],[5,7],[8,-18],[-11,-19],[7,-10],[9,3]],[[6497,7333],[-3,23],[2,30],[-1,22],[4,15],[-12,17],[0,9],[-11,0],[1,8],[14,2],[-9,14],[6,10],[-5,3],[-14,-3],[-5,6],[0,25],[4,9],[2,19],[4,-11],[13,-1],[5,-8],[16,6],[1,12],[8,-6],[3,14],[-19,23],[-4,34],[-6,5],[-16,-3],[-5,-6],[-5,-17],[4,0],[-3,-19],[-7,9],[-3,13]],[[6554,7562],[29,-5],[4,7],[-4,7],[-2,23],[4,3]],[[6585,7597],[4,-18],[11,-2],[7,14],[-6,6],[0,13]],[[6601,7610],[5,1],[4,19],[7,-2],[-3,10],[11,1],[2,6],[8,-12],[7,-2],[7,-14],[13,2],[5,-8],[-1,-12],[6,-8],[-5,-4],[4,-10],[-3,-10],[11,-11],[18,1],[6,-3],[7,6],[9,-10],[8,-36],[4,-2],[5,-29],[27,-31],[4,-10],[13,-16],[5,2],[10,-14],[27,-29],[7,1],[19,-14],[3,-4],[-4,-9],[0,-25]],[[8444,4645],[12,9]],[[8469,4667],[5,9],[1,10],[20,8],[10,-1],[6,5],[3,-4],[11,10],[11,-6],[-13,-19],[-8,-3],[-4,-9],[-7,-2],[-6,-8],[-10,-3],[-15,-17]],[[130,3966],[6,0],[-1,-7],[-5,7]],[[3308,5807],[-4,-9],[1,-31],[-4,-4],[-14,-1],[-5,4],[10,7],[0,20],[-5,5],[8,7],[13,2]],[[5303,7135],[4,-6],[-9,-6],[0,11],[5,1]],[[5238,7310],[7,2],[10,15],[13,6],[17,-9],[-4,-1],[6,-17],[-5,-4],[10,-3],[14,20],[3,-14],[-10,-23],[-6,-4],[-3,-16],[6,-18],[11,-10],[-1,-16],[3,-7],[-3,-11],[-12,-28],[-14,-14],[-2,-16],[4,-12],[9,-10],[6,4],[0,-13],[11,4],[2,-20],[9,-1]],[[5778,7600],[-2,-9],[6,-15],[20,-17],[6,-2],[-3,-13],[-14,-1],[-9,6],[-6,-7],[-12,1],[-9,-20],[-14,-10],[-15,-24],[2,17],[13,10],[3,7],[-20,-3],[-1,9]],[[5997,7251],[2,5],[-6,17],[12,18],[0,11],[-6,7],[-10,-18],[-8,-3],[-18,15],[-11,-13],[-17,-26],[-7,1],[-17,-8],[-13,9],[-7,18],[-21,18],[-18,5],[-3,-3],[0,-18],[-5,-18],[-4,6],[-13,-10],[-12,5],[-7,9],[0,16],[-7,-1],[-7,9],[-10,3],[-3,-6],[-11,1],[-2,-6],[-9,3],[8,5],[12,0],[-1,7],[8,7],[-15,-3],[-12,2],[-1,8],[7,-2],[-10,13],[0,14],[-5,5],[7,4],[-1,13],[-17,7],[-11,9],[7,6],[-4,14],[4,3],[5,-20],[14,8],[-7,0],[-5,16],[6,2],[3,10],[-6,-2],[0,14],[-6,9],[9,16],[-24,-6],[2,29],[16,25],[16,3],[2,-7],[11,-1],[-1,11],[8,-2],[-2,-7],[11,3],[19,-3],[1,7],[-8,3],[5,6],[27,5],[-15,3],[-11,13],[6,13],[19,-6],[11,5],[15,-8],[9,1],[7,11],[29,28],[14,6],[10,9],[28,-6],[10,0],[10,9],[1,-10],[6,-11],[9,-5],[10,6],[4,-16],[8,-13],[5,8],[12,-5],[0,-6],[13,-8],[8,0],[15,-7],[32,11],[4,-6],[14,-5],[12,7],[24,20],[3,7]],[[8378,6635],[10,-12],[-5,-8],[1,-22],[-6,-18],[-4,-43],[-3,-19],[-6,-20],[-4,-5],[-4,-17],[-1,-27],[-5,7],[-1,16],[-11,20],[-2,22],[-3,0],[2,15],[0,20],[17,58],[3,3],[4,18],[12,7],[2,9],[4,-4]],[[6108,4736],[-7,-14],[1,11],[6,3]],[[6093,4842],[6,-26],[-4,-4],[-7,16],[0,15],[5,-1]],[[6102,4899],[5,-11],[-3,-19],[-2,30]],[[5914,5071],[5,-1],[2,-12],[-9,7],[2,6]],[[5882,5125],[1,0]],[[5883,5125],[1,0]],[[5884,5125],[-1,-28],[-2,0],[-1,-30],[-2,-20],[4,2],[0,-28],[2,8],[4,-3],[0,13],[5,-3],[-3,10],[7,6],[2,-10],[12,-2],[8,5],[3,-7],[17,17],[-2,8],[-4,-6],[-10,4],[5,8],[-3,9],[5,-1],[5,9],[-1,12],[6,0],[-2,7],[8,17]],[[6088,4913],[1,-10],[-4,-16],[-3,-25],[-5,-21],[2,-26],[5,-5],[12,-22],[2,-15],[-4,-5],[-4,-23],[1,-10],[4,-2],[0,-13],[-4,-14],[2,-25],[4,-7],[0,-16],[4,-4],[0,-15],[4,-21],[-2,-8],[15,-16],[5,-14]],[[5971,4516],[-2,9]],[[5969,4527],[-5,7]],[[5964,4536],[-4,14],[2,20],[-2,4],[-1,30],[-7,20]],[[5949,4630],[-3,4]],[[5946,4635],[-4,-2],[-1,-10]],[[5914,4641],[-12,10],[-3,6],[-13,6],[-6,6],[-4,13],[-11,6]],[[5865,4688],[0,10],[-4,5],[-1,11],[-11,36],[1,11],[-3,8],[2,12],[-5,9],[-7,21],[-6,-1],[-6,12],[0,13],[6,7],[-5,32],[1,21],[-6,5],[2,27]],[[5846,5121],[10,4],[26,0]],[[5883,5125],[1,0]],[[5944,5197],[-8,-3],[1,8],[-8,-8],[-3,15],[-5,-3],[-2,-12],[-6,-7],[0,7],[-6,-6],[0,10],[-8,-17],[-9,0],[-4,-9],[3,-7],[-9,-26],[2,-14]],[[5823,5155],[5,6],[2,14],[-6,2]],[[5846,5254],[4,-12],[9,28],[10,11],[3,11],[-1,25],[-3,-9]],[[6061,7895],[-18,0],[-6,-11],[-4,2],[-12,-13],[-4,3],[-22,-8],[-14,-18],[-4,3],[-11,-12],[4,-22],[15,-28],[18,10],[13,-3],[-5,-9],[1,-11],[-17,-4],[-9,7],[-4,-10],[-23,-12],[-12,-18],[-10,-2],[-11,11],[5,5],[1,24],[-8,3],[-11,13],[-9,-2],[-1,8],[24,21],[8,2],[-1,14],[-6,-3],[-5,10],[-3,-6],[-18,-3],[-17,14],[4,8],[-7,6],[17,-5],[4,9],[-11,-4],[-6,5],[-25,-2],[-24,-46],[-5,1],[-10,-23],[4,2],[-3,-14]],[[5836,7853],[9,-17],[2,3],[-11,14]],[[5948,7848],[0,-9],[-11,7],[3,-13],[4,5],[21,-17],[6,-8],[4,-20],[9,-4],[-12,23],[-7,26],[-10,-6],[-7,16]],[[3523,3302],[-5,-5],[0,-12],[-8,-5],[3,-30]],[[3517,3240],[-4,-18],[-7,-13],[0,-7],[-13,-16],[-20,-17],[-12,10],[-14,0],[-7,-8],[-20,15],[-8,13],[-18,-1],[-16,29],[-2,10],[3,27],[-1,10],[9,9],[-4,31]],[[677,6342],[13,-11],[2,-12],[8,-13],[-6,-10],[-16,-13],[-3,-11],[-7,9],[1,15],[-4,25],[5,12],[-1,17],[8,-8]],[[649,6394],[3,-7],[7,2],[8,-8],[0,-7],[-9,-6],[-4,2],[0,10],[-7,7],[2,7]],[[631,6405],[16,-4],[-2,-5],[-15,2],[1,7]],[[613,6427],[6,-8],[1,-12],[-13,2],[-3,14],[7,10],[2,-6]],[[571,6463],[4,-3],[-1,-14],[-8,-3],[-6,11],[11,9]],[[2301,6687],[-6,35],[0,12],[6,-47]],[[2761,6828],[-2,-18],[-2,17],[4,1]],[[2366,6873],[3,-1],[-11,-13],[8,14]],[[1707,7111],[7,-9],[-6,0],[-1,9]],[[1671,7144],[8,-4],[-8,-2],[0,6]],[[2993,7551],[-6,-11],[8,7],[8,-1],[-20,-15],[-36,-12],[-4,1],[4,11],[7,6],[29,6],[10,8]],[[2582,7791],[0,-10],[-7,-17],[-3,8],[10,19]],[[2679,7836],[1,-8],[-10,3],[9,5]],[[2563,7913],[-19,-17],[-6,0],[5,14],[8,6],[12,-3]],[[2541,7956],[-2,-6],[-15,-14],[0,8],[17,12]],[[1595,7969],[-3,-9],[8,-13],[-1,-5],[-9,17],[5,10]],[[1582,8004],[-1,0]],[[2511,7947],[-14,-11],[-19,-11],[-20,-29],[-17,-21],[9,-3],[22,14],[6,0],[-5,-19],[14,-2],[11,5],[7,9],[14,4],[10,7],[7,13],[7,-14],[-1,-10],[10,6],[9,-1],[12,-22],[11,0],[9,-4],[14,14],[18,-2],[13,6],[0,-17],[15,-1]],[[2663,7852],[-3,-10],[9,-12],[-16,1],[-5,4],[-2,-11],[-7,9],[-15,5],[-3,-7],[-25,-7],[-13,0],[-15,-39],[-3,-12],[-10,-17],[2,-8],[10,17],[7,-3],[-11,-49],[1,-13],[-6,-26],[0,-14],[4,-15],[-2,-28],[9,-33],[8,-4],[16,14],[7,22],[5,26],[0,15],[-9,37],[3,10],[-3,17],[8,20],[0,14],[5,15],[7,2],[7,15],[-3,-22],[4,-4],[4,14],[0,16],[11,5],[-3,15],[9,10],[13,-8],[6,-11],[16,-7],[6,-13],[-4,-11],[4,-6],[-1,-28],[-6,-5],[-1,-13],[-7,-2],[-3,-18],[6,-5],[7,6],[6,16],[9,5],[7,-10],[4,-37],[3,-14]],[[2704,7634],[-5,5],[-3,-17],[-6,-8],[-3,-17],[-6,-12],[15,-11],[7,0],[5,-7],[9,4],[14,3],[9,12],[24,15],[26,21],[14,21],[5,2],[-1,17],[-5,3]],[[2804,7674],[10,6],[16,2],[13,-8],[18,0],[8,5],[15,19],[-3,9],[4,4],[-7,11],[15,16],[1,7]],[[3116,7818],[10,-9]],[[3134,7784],[3,-9],[-3,-20],[-20,-16],[-6,5],[-13,-5],[1,-9],[-12,11],[-3,-22],[-14,-14],[-10,3],[-8,-8],[1,-9],[-11,-15],[-6,-22],[1,-15],[5,1],[-13,-19],[9,-7],[5,-23],[17,-8],[-14,-3],[-6,-6],[0,11],[-15,-14],[0,12],[-5,5],[-1,-17],[-12,-9],[-29,-2],[-6,-9],[-8,-1],[-23,-27],[-1,-10],[8,-1],[-2,-29],[-3,-14],[-7,-9],[-1,-11],[-12,-24],[-1,15],[-7,2],[-10,13],[3,-23],[9,-21],[1,-16],[-10,-31],[-7,-13],[-8,-30],[-2,11],[4,20],[6,17],[-6,-2],[1,9],[-13,21],[-1,17],[4,11],[-2,15],[11,15],[-5,0],[-11,-10],[2,-16],[-4,-6],[0,-23],[4,-6],[1,-20],[-9,11],[-8,-2],[9,-4],[11,-13],[-2,-17],[-6,3],[8,-12],[-7,-12],[6,-8],[-4,-8],[12,-4],[5,-35],[7,-23],[-5,9],[-6,38],[-2,-15],[6,-17],[-9,5],[0,-7],[-15,-4],[-2,-6],[15,3],[13,-8],[-1,-17],[-3,2],[-5,-13],[-13,1],[-2,9],[-4,-8],[7,-6],[-2,-11],[-11,-8],[17,-2],[-7,-11],[-15,-4],[-15,-18],[-9,-27],[-11,1],[-13,-12],[-5,-10],[-4,-21],[-22,-32],[-14,-8],[1,-8],[-12,-15],[1,-5],[-11,-14],[-3,-12],[2,-18],[-4,-5],[-3,-19],[8,-63],[9,-38],[9,-26],[-5,0],[0,-10],[18,-75],[3,-31],[-2,-12],[-1,-28],[-4,-11],[-4,-29],[-12,-1],[-7,-4],[0,14],[-6,25],[-6,7],[-6,0],[-3,31],[-6,5],[0,20],[-7,-2],[-6,21],[-3,18],[7,15],[-1,8],[-7,6],[0,-19],[-5,8],[2,21],[4,14],[0,26],[-4,16],[-7,0],[-10,20],[-6,20],[-11,14],[-10,-4],[-10,-15],[-16,-5],[0,7],[-11,20],[-22,14],[-15,-1],[-2,9],[-4,-11],[-14,-5],[-4,7],[-1,16],[-3,2],[-2,-22],[-5,5],[-5,-5],[-10,6],[-14,-7],[-7,-9],[-11,7],[-4,7],[-8,-12],[2,-7],[10,-1],[3,4],[6,-14],[5,12],[3,-3],[-8,-29],[4,-8],[11,-5],[3,-9],[-4,-9],[-3,10],[-15,9],[2,4],[-12,11],[4,-9],[-2,-16],[-10,12],[-8,-14],[-15,9],[0,13],[-7,3],[-3,12],[-6,5],[-9,-8],[4,-6],[-13,-2],[-21,13],[-16,-5],[2,17],[-8,-18],[-17,-13],[-1,19],[-8,-5],[-1,-9],[4,-12],[-8,-12],[1,-4],[-14,-18],[-16,-9],[-12,8],[1,-9],[6,-8],[-7,-6],[-5,6],[1,-12],[-12,-8],[1,-14],[-7,-33],[-3,-26],[7,-32],[1,-16],[3,-1]],[[2245,6713],[1,7],[-9,21]],[[2193,6879],[-7,10]],[[1746,7056],[-4,10],[-2,27],[-8,16],[-15,18],[-6,2],[-3,12],[-9,0],[-10,6],[-10,18],[-21,3],[-9,5],[0,33],[-7,5],[0,12],[-12,15],[-5,18],[-9,13],[-4,23],[5,9],[-3,11],[-6,-1],[-8,13],[-3,21],[3,5],[9,-11],[-10,29],[8,6],[-7,6],[-2,-19],[-16,13],[5,3],[-7,20],[-7,6],[-10,20],[1,10],[-4,16],[2,10],[-2,15],[-7,17],[-8,9],[0,19],[8,15],[-2,17],[3,16],[-2,16],[-5,5],[3,12],[-5,8],[-1,32],[-5,10],[9,41],[4,25],[2,52],[2,11],[1,62],[13,7],[-14,-2],[1,29],[-4,-2],[6,13],[-7,6],[-10,44],[-7,20],[6,11],[15,-11],[24,0],[7,-6],[4,-14],[-9,-15],[12,8],[2,-20],[-7,-10],[2,-4],[10,14],[-1,29],[5,8],[-5,18],[-9,6],[8,12],[-10,16],[1,6]],[[60,8169],[1,-9],[-11,9],[10,0]],[[80,8161],[-11,0],[12,11],[-1,-11]],[[96,8175],[2,-14],[-10,0],[1,14],[7,0]],[[177,8186],[18,-5],[-12,-3],[-15,5],[9,3]],[[162,8200],[5,-4],[-4,-12],[-7,-4],[-27,-2],[22,6],[9,7],[-7,4],[9,5]],[[9827,8206],[-2,-8],[-9,2],[11,6]],[[9802,8235],[12,-10],[-11,-5],[-1,15]],[[332,8268],[5,-12],[-32,-29],[11,24],[7,1],[-1,9],[10,7]],[[367,8291],[6,-8],[9,8],[-9,-15],[8,1],[-14,-16],[-4,1],[-20,-13],[-6,4],[19,9],[1,25],[10,4]],[[391,8303],[7,-5],[-10,-3],[3,8]],[[451,8354],[5,-1],[6,-16],[-8,-9],[-16,0],[-4,-9],[-14,-3],[-3,11],[7,3],[10,16],[3,-2],[14,10]],[[1304,8361],[8,-30],[-14,25],[6,5]],[[558,8363],[-9,-20],[4,19],[5,1]],[[1355,8404],[7,-16],[-1,-16],[-6,-11],[-13,9],[-5,8],[5,20],[13,6]],[[1295,8417],[2,-9],[-14,-4],[5,11],[7,2]],[[1319,8419],[9,-1],[0,-12],[-13,5],[4,8]],[[1289,8428],[10,-1],[4,-16],[13,-7],[9,-30],[9,-9],[-1,-33],[-16,17],[2,8],[-21,10],[8,20],[-11,-1],[6,13],[-3,17],[-9,2],[0,10]],[[1315,8433],[-5,-12],[-6,8],[11,4]],[[1328,8428],[4,-13],[-9,9],[0,12],[5,-8]],[[1308,8454],[9,-14],[-10,-3],[1,17]],[[1278,8457],[7,-4],[1,-11],[-6,-6],[-6,-28],[-3,4],[0,20],[-4,26],[11,-1]],[[1283,8470],[24,-10],[-2,-17],[-9,13],[7,-18],[-16,-4],[0,23],[-10,9],[6,4]],[[745,8475],[8,0],[-14,-10],[6,10]],[[1234,8479],[-1,-12],[-6,-2],[-1,19],[8,-5]],[[1237,8491],[8,2],[9,-14],[7,-29],[-1,-30],[-5,0],[-13,33],[-1,15],[-10,18],[6,5]],[[749,8519],[11,0],[7,-8],[-2,-10],[8,0],[-4,-10],[-18,4],[10,-7],[-18,-9],[-14,-22],[-10,-6],[6,10],[-12,-1],[-12,22],[3,14],[7,7],[10,0],[7,-19],[-4,28],[5,5],[16,-5],[-3,10],[7,-3]],[[1229,8536],[23,-12],[-1,-13],[-7,-1],[-18,12],[14,-15],[13,1],[1,-16],[-7,0],[-19,17],[7,-17],[-4,-6],[-8,6],[-1,10],[-12,12],[1,20],[18,2]],[[1252,8544],[6,-11],[14,-6],[8,-16],[-2,-5],[2,-21],[-19,-19],[-1,12],[4,10],[-5,13],[-7,43]],[[761,8550],[18,-11],[-6,-8],[-18,-4],[-10,2],[1,9],[10,1],[5,11]],[[913,8659],[5,-3],[-25,-29],[20,32]],[[385,8661],[13,-6],[2,-22],[-19,-5],[-10,2],[-19,13],[-4,7],[16,0],[9,9],[12,2]],[[929,8665],[13,-4],[-15,-9],[2,13]],[[897,8667],[-2,-19],[-4,10],[6,9]],[[231,8857],[0,-6],[17,-7],[20,7],[23,-20],[21,-2],[-2,-9],[-15,1],[-9,-13],[-3,10],[-28,19],[-17,-8],[-13,10],[6,18]],[[1387,8402],[-3,-8],[4,-28],[-10,-21],[-9,-8],[-7,2],[-3,23],[6,6],[-1,24],[-15,16],[-8,-7],[-7,-22],[-9,13],[7,4],[5,24],[-18,22],[-11,25],[-19,8],[12,9],[-11,10],[-3,12],[14,-6],[-15,12],[-15,23],[-16,11],[-4,24],[-6,1],[-1,17],[-6,-11],[7,-17],[1,-24],[-13,11],[-8,-2],[2,13],[-8,12],[-3,-4],[-17,8],[19,-18],[2,-12],[-9,-4],[-20,5],[-23,23],[-9,16],[-34,19],[-11,9],[12,10],[-5,11],[-18,-12],[-9,0],[-21,9],[3,11],[-13,-5],[-31,8],[-30,-6],[-12,12],[-16,5],[3,18],[-11,-14],[-21,5],[9,13],[-18,-1],[-16,19],[-12,1],[-2,-7],[-15,-3],[-3,6],[9,19],[-17,-18],[2,-20],[8,-8],[-6,-3],[-8,-27],[-18,1],[-5,-5],[-2,13],[-12,-25],[-13,3],[-7,-13],[-19,-17],[-16,-2],[-6,6],[3,9],[19,10],[2,8],[-11,-6],[-10,7],[4,16],[8,10],[5,19],[-5,8],[27,21],[6,-6],[18,3],[-14,10],[4,5],[-19,4],[-15,-15],[-9,-2],[-20,-27],[-7,-16],[-11,-2],[9,-10],[-18,-24],[-11,0],[-4,-11],[-9,-5],[-3,-20],[10,3],[13,-8],[2,-6],[-11,-12],[-5,0],[-14,-31],[-4,7],[-2,-11],[-12,1],[-9,-17],[-9,2],[-2,-13],[-10,-1],[-14,-15],[7,-5],[-7,-12],[-5,4],[-12,-16],[-17,-5],[-2,-11],[-13,-1],[-4,-8],[7,-10],[-10,-4],[-1,-7],[-22,-6],[-5,-17],[-6,16],[-20,-21],[-10,2],[-12,-10],[-5,2],[6,12],[-10,1],[-6,-22],[-9,-11],[-12,8],[-4,-14],[-7,2],[-9,-9],[0,18],[10,3],[22,30],[12,12],[9,3],[34,-7],[-10,9],[5,17],[16,15],[24,17],[9,-4],[-1,15],[10,16],[18,15],[2,46],[12,18],[5,16],[-8,-7],[-25,-13],[-11,12],[1,10],[-9,-10],[4,-20],[-11,-2],[-14,29],[-8,-10],[-12,17],[-19,-11],[-20,-18],[-11,4],[11,7],[-1,13],[6,7],[-12,2],[0,15],[7,6],[-20,46],[-1,-17],[-16,-8],[-23,-4],[-9,6],[-13,23],[-19,12],[20,19],[18,-3],[7,-12],[9,7],[-4,7],[-29,2],[-20,20],[-7,-6],[-9,14],[0,21],[-6,7],[15,2],[-4,13],[18,26],[8,-3],[-3,14],[5,17],[11,0],[-8,7],[7,5],[17,0],[2,-11],[17,1],[20,24],[25,-1],[18,17],[-6,30],[-13,9],[10,4],[9,13],[-10,12],[-41,-24],[-17,-5],[-12,9],[-18,0],[-19,-8],[-33,8],[-8,6],[3,12],[-11,10],[7,9],[13,2],[-38,8],[-18,10],[37,28],[24,9],[16,13],[16,7],[29,2],[-7,-11],[7,-19],[26,2],[24,-8],[11,18],[13,-3],[-13,10],[-11,-2],[-2,11],[-15,10],[-5,9],[9,3],[7,-17],[12,-11],[10,4],[14,-9],[16,2],[-3,14],[-23,0],[-9,-7],[-10,10],[2,20],[-23,-2],[-30,5],[-10,27],[-34,25],[-20,9],[-16,11],[9,17],[0,14],[16,-2],[37,4],[19,11],[15,16],[2,19],[29,33],[26,0],[45,27],[39,4],[21,14],[12,13],[33,-7],[-12,-12],[11,-6],[16,16],[13,-7],[2,-12],[19,5],[38,-1],[9,-4],[-12,-15],[24,0],[-6,-6],[32,3],[11,-5],[30,5],[31,-8],[27,-11],[40,0],[30,-12],[40,9],[52,-27],[12,0]],[[2912,6333],[-2,-4]],[[2914,6329],[-1,4]],[[6651,7782],[-7,-26],[12,-19],[-3,-12],[11,5],[3,8],[-2,16],[3,11]],[[6601,7610],[-7,11],[-5,-2],[-4,-22]],[[6627,7805],[-10,-35],[2,-18],[4,-10],[9,17],[-3,20],[3,6],[-1,16]],[[3301,5940],[-4,4],[5,8],[-1,-12]],[[3313,5694],[1,-6],[-5,-8],[-9,-2],[1,7],[12,9]],[[3303,5691],[4,12],[2,-5],[-6,-7]],[[3228,5816],[-8,-8],[-9,6],[4,7],[6,-5],[4,10],[3,-10]],[[3018,5865],[-3,-7],[-14,-7],[0,-13],[10,-38],[-1,-16],[-4,-6],[-10,-30],[5,-18],[6,-7],[-1,-15],[6,-5],[9,7],[5,10],[-1,32],[-11,30],[-2,23],[3,10],[4,0],[12,13],[18,8],[5,9],[8,-2],[-2,13],[-11,-5],[-2,13],[2,16],[5,5],[6,-10],[2,-22],[4,-10],[12,3],[15,-10],[7,-12],[4,-15],[-2,-7],[5,-15],[8,-1],[17,4],[6,4],[21,2],[11,-20],[11,-9],[11,-5],[8,2],[4,9],[5,0],[2,8],[20,5],[-5,5],[-9,1],[10,6],[7,-3],[11,6],[12,1],[16,-4],[8,4],[-2,-6],[-10,-6],[-16,0],[1,-9],[5,-5],[1,-12],[-9,-1],[5,-4],[8,8],[5,-25],[2,17],[11,-10],[7,-3],[-2,7],[13,-19],[4,1],[7,-12],[-9,-24],[-3,-22],[-12,0],[10,-11],[3,6],[14,6],[6,-4],[3,6],[9,-4]],[[7888,5785],[0,-17],[-4,12],[4,5]],[[7999,6420],[-7,1],[-4,-12],[-7,-3],[1,-12],[-6,-6],[-5,4],[-9,-2],[4,-16],[-8,-8],[2,-17],[-7,-4],[-4,-11],[-7,-4],[-3,-15],[-1,-23],[-5,-13],[7,-30],[7,-15],[11,-17],[-1,-15],[8,-21],[9,-14],[4,-12],[16,-29],[6,-2],[16,-47],[8,-11],[1,-21],[5,-18],[-2,-5],[6,-25],[0,-35],[2,-3],[0,-23],[3,-13],[-6,-10],[0,-42],[-3,-5],[4,-7],[-4,-10],[-2,4],[0,-16],[-7,-2],[-2,-8],[-4,0],[-8,-14],[-6,-1],[-2,-13],[-5,0],[-11,-13],[-13,0],[-5,12],[1,-23],[-11,2],[11,-9],[-4,-11],[-6,4],[7,-11],[-3,-2],[-12,24],[0,-5],[10,-18],[2,-11],[-5,-6],[-10,15],[4,-19],[-1,-6],[-17,-13],[-12,-29],[-11,-2],[5,9],[-2,10],[0,36],[2,17],[6,7],[-10,15],[-5,-5],[-3,16]],[[9706,4050],[-7,13],[4,7],[3,-20]],[[9699,4104],[2,-14],[-8,6],[0,12],[6,-4]],[[9675,4172],[7,-8],[-6,-8],[-6,7],[5,9]],[[9671,4228],[8,-15],[-7,1],[-1,14]],[[9675,4243],[-6,-2],[-6,7],[7,9],[5,-14]],[[9650,4255],[10,-14],[1,-7],[-10,-6],[-4,27],[-5,1],[1,12],[4,-1],[3,-12]],[[9672,4262],[-3,21],[1,9],[3,-20],[-1,-10]],[[9662,4292],[-5,2],[9,9],[-4,-11]],[[9671,4298],[-2,1],[-1,24],[2,-2],[1,-23]],[[9633,4310],[4,2],[0,11],[5,-11],[3,-23],[-11,-7],[-7,15],[1,11],[-3,15],[1,17],[5,-11],[2,-19]],[[9653,4368],[1,-9],[-5,0],[4,9]],[[9654,4385],[-4,-3],[-1,10],[5,-7]],[[5917,7177],[-8,1]],[[233,4380],[5,-6],[-14,2],[-4,7],[7,5],[6,-8]],[[213,4406],[3,-6],[-1,-12],[-9,0],[-5,15],[12,3]],[[6488,5914],[7,-6],[7,6],[10,-9],[-9,-11],[-10,-3],[-6,2],[-5,12],[6,9]],[[6474,6141],[-14,-9],[-10,-18],[-2,-12],[2,-20],[-10,-7],[-13,-15],[-23,-11],[-11,-11],[-4,0],[-25,-18],[-3,-12],[-8,-16],[-6,-3],[-14,3],[-10,-9],[-6,-13],[-15,-8],[-5,-6],[-14,0],[-16,-6],[-7,-15],[-15,-17],[-7,3],[-4,-8],[-14,-5],[-10,9],[-3,-4],[-7,35],[2,25],[-6,21],[-2,16],[-3,43],[-6,7],[4,2],[-3,17],[3,18],[-1,29]],[[5913,3637],[-1,-16],[-5,-23],[-3,-38],[-5,-21],[-10,-19],[-7,-3],[-13,-27],[-21,-68],[-4,-16],[-15,-32],[-4,-4],[-16,-28],[-9,-21],[-13,-22],[-25,-35],[-27,-26],[-15,4],[-9,-9],[0,-11],[-17,5],[-4,-12],[-11,1],[-8,6],[-16,4],[-6,-7],[-23,6],[-10,-4],[-12,-19],[-7,3],[-6,-5],[-11,4],[-1,-6],[-11,0],[-14,-20],[-9,3],[-9,9],[0,11],[-6,4],[-8,-2],[0,17],[-10,-2],[0,-13],[-4,19],[5,10],[-2,12],[-7,16],[-4,20],[-4,-1],[1,18],[7,-2],[4,8],[1,20],[-2,22],[-4,17],[-9,20],[-7,28],[-8,24],[-6,42],[-6,29],[-7,15],[-3,15]],[[5815,3905],[12,3],[14,-12],[15,3],[13,-7]],[[5844,4282],[-15,1],[-13,-5],[-15,-18],[0,-21],[-3,-8]],[[5798,4231],[-3,3],[-13,-9],[-5,-13],[-12,-14],[-13,-38],[-2,-11]],[[5750,4149],[-9,-7],[-14,11],[-7,-7],[-7,11],[-12,1]],[[5792,4643],[5,5],[9,23],[3,15],[-7,8]],[[5849,4709],[-4,-14],[7,-1],[9,-18],[5,4],[-1,8]],[[5750,4149],[10,22],[5,5],[4,17],[11,9],[0,11],[8,0],[8,9],[1,-7],[8,12],[-7,4]]],"type":"Topology","objects":{"units":{"geometries":[{"arcs":[[0,1,2,3,4,5]],"type":"Polygon","id":"AFG","properties":{"name":"Afghanistan"}},{"arcs":[[[6,7,8,9]],[[10,11,12]]],"type":"MultiPolygon","id":"AGO","properties":{"name":"Angola"}},{"arcs":[[[13,14]],[[15,16]],[[17,18,19,20,21,22,23,24,25,26,27,28,29,30]]],"type":"MultiPolygon","id":"ALB","properties":{"name":"Albania"}},{"arcs":[[[31]]],"type":"MultiPolygon","id":"ALD","properties":{"name":"Aland"}},{"arcs":[[32,33]],"type":"Polygon","id":"AND","properties":{"name":"Andorra"}},{"arcs":[[[34]],[[35,36,37,38,39],[40]]],"type":"MultiPolygon","id":"ARE","properties":{"name":"United Arab Emirates"}},{"arcs":[[[41,42]],[[43,44]],[[45,46,47,48,49,50]]],"type":"MultiPolygon","id":"ARG","properties":{"name":"Argentina"}},{"arcs":[[[51]],[[52,53,54,55,56],[57],[58]]],"type":"MultiPolygon","id":"ARM","properties":{"name":"Armenia"}},{"arcs":[[[59]],[[60]],[[61]],[[62]],[[63]],[[64]],[[65]],[[66]],[[67]],[[68]],[[69]],[[70]],[[71]],[[72]],[[73]],[[74]],[[75]],[[76]],[[77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91]],[[92]],[[93]],[[94]],[[95]],[[96]],[[97]],[[98]],[[99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105]],[[106]],[[107]],[[108]],[[109]],[[110]],[[111]],[[112]],[[113]],[[114]],[[115]],[[116]],[[117]],[[118]],[[119]],[[120]]],"type":"MultiPolygon","id":"ATA","properties":{"name":"Antarctica"}},{"arcs":[[[121]]],"type":"MultiPolygon","id":"ATF","properties":{"name":"Fr. S. Antarctic Lands"}},{"arcs":[[[122]],[[123]],[[124]],[[125]],[[126]],[[127]],[[128]],[[129]],[[130]],[[131]],[[132]],[[133]],[[134]],[[135]],[[136]],[[137]],[[138]],[[139]],[[140]]],"type":"MultiPolygon","id":"AUS","properties":{"name":"Australia"}},{"arcs":[[141,142,143,144,145,146,147,148,149,150]],"type":"Polygon","id":"AUT","properties":{"name":"Austria"}},{"arcs":[[[151,152,-55]],[[-59]],[[-58]],[[153,154,155,-53,156],[-52]]],"type":"MultiPolygon","id":"AZE","properties":{"name":"Azerbaijan"}},{"arcs":[[157,158,159,160]],"type":"Polygon","id":"BDI","properties":{"name":"Burundi"}},{"arcs":[[161,162,163,164,165,166,167]],"type":"Polygon","id":"BEL","properties":{"name":"Belgium"}},{"arcs":[[168,169,170,171,172]],"type":"Polygon","id":"BEN","properties":{"name":"Benin"}},{"arcs":[[173,-172,174,175,176,177]],"type":"Polygon","id":"BFA","properties":{"name":"Burkina Faso"}},{"arcs":[[[178]],[[179]],[[180,181,182]]],"type":"MultiPolygon","id":"BGD","properties":{"name":"Bangladesh"}},{"arcs":[[183,184,185,186,187,188]],"type":"Polygon","id":"BGR","properties":{"name":"Bulgaria"}},{"arcs":[[189]],"type":"Polygon","id":"BHR","properties":{"name":"Bahrain"}},{"arcs":[[[190]],[[191]],[[192]],[[193]],[[194]],[[195]],[[196]],[[197]],[[198]],[[199]],[[200]]],"type":"MultiPolygon","id":"BHS","properties":{"name":"Bahamas"}},{"arcs":[[201,202,203,204,205]],"type":"Polygon","id":"BIH","properties":{"name":"Bosnia and Herz."}},{"arcs":[[206,207,208,209,210]],"type":"Polygon","id":"BLR","properties":{"name":"Belarus"}},{"arcs":[[[211,212,213]]],"type":"MultiPolygon","id":"BLZ","properties":{"name":"Belize"}},{"arcs":[[[214,215]],[[216,-51,217,218,219,220,221]]],"type":"MultiPolygon","id":"BOL","properties":{"name":"Bolivia"}},{"arcs":[[[222]],[[223]],[[224]],[[225]],[[226]],[[227]],[[228]],[[229]],[[230]],[[231]],[[232]],[[233]],[[234]],[[235]],[[236]],[[237]],[[238,239,240,241,242,243,-47,244,245,246,-222,247,248,249,250]]],"type":"MultiPolygon","id":"BRA","properties":{"name":"Brazil"}},{"arcs":[[251]],"type":"Polygon","id":"BRB","properties":{"name":"Barbados"}},{"arcs":[[[252,253]],[[254,255]]],"type":"MultiPolygon","id":"BRN","properties":{"name":"Brunei"}},{"arcs":[[256,257]],"type":"Polygon","id":"BTN","properties":{"name":"Bhutan"}},{"arcs":[[258,259,260]],"type":"Polygon","id":"BWA","properties":{"name":"Botswana"}},{"arcs":[[261,262,263,264,265,266]],"type":"Polygon","id":"CAF","properties":{"name":"Central African Rep."}},{"arcs":[[[267]],[[268]],[[269]],[[270]],[[271]],[[272]],[[273]],[[274,275,276,277]],[[278]],[[279]],[[280]],[[281]],[[282]],[[283]],[[284]],[[285]],[[286]],[[287]],[[288]],[[289]],[[290]],[[291]],[[292]],[[293]],[[294]],[[295]],[[296]],[[297]],[[298]],[[299]],[[300]],[[301]],[[302]],[[303]],[[304]],[[305]],[[306]],[[307]],[[308]],[[309]],[[310]],[[311]],[[312]],[[313]],[[314]],[[315]],[[316]],[[317]],[[318]],[[319]],[[320]],[[321]],[[322]],[[323]],[[324]],[[325]],[[326]],[[327]],[[328]],[[329]],[[330]],[[331]],[[332]],[[333,334,335,336,337,338,339,340,341,342,343,344,345,-346,346,347]],[[348]],[[349]],[[350]],[[351]],[[352]],[[353]],[[354]],[[355]],[[356]],[[357]],[[358]],[[359]],[[360]],[[361]],[[362]],[[363]],[[364]],[[365]],[[366]],[[367]],[[368]],[[369]],[[370]],[[371]],[[372]],[[373]],[[374]],[[375]],[[376]],[[377]],[[378]],[[379]],[[380]],[[381]],[[382]],[[383]],[[384]]],"type":"MultiPolygon","id":"CAN","properties":{"name":"Canada"}},{"arcs":[[385,386,387,-148,388,-146,389,390,391,392,393]],"type":"Polygon","id":"CHE","properties":{"name":"Switzerland"}},{"arcs":[[[394]],[[395]],[[396]],[[397]],[[398]],[[399]],[[400]],[[401]],[[402]],[[-44,403,-42,404]],[[405]],[[406]],[[407]],[[408]],[[409]],[[410]],[[411]],[[412]],[[413]],[[414]],[[415]],[[416]],[[417]],[[418]],[[419]],[[420]],[[421]],[[422]],[[423]],[[424]],[[425]],[[426]],[[427]],[[428]],[[429]],[[430]],[[431]],[[432]],[[433]],[[434]],[[435]],[[-50,436,437,-218]]],"type":"MultiPolygon","id":"CHL","properties":{"name":"Chile"}},{"arcs":[[[438]],[[439]],[[440]],[[441]],[[442,443,444,445,446,447,448,449,450,451,-258,452,453,454,455,456,-1,457,458,459,460,461,462,463,464]]],"type":"MultiPolygon","id":"CHN","properties":{"name":"China"}},{"arcs":[[[465,466]],[[-177,467,468,469,470,471]]],"type":"MultiPolygon","id":"CIV","properties":{"name":"C\u00f4te d'Ivoire"}},{"arcs":[[[472,-266,473,474,475,476,477,478,479]],[[480,481]]],"type":"MultiPolygon","id":"CMR","properties":{"name":"Cameroon"}},{"arcs":[[[482,483,484,485]],[[486,487,488,489]],[[490,491,492,493]]],"type":"MultiPolygon","id":"CNM","properties":{"name":"Cyprus U.N. Buffer Zone"}},{"arcs":[[[494]],[[495,496,497,498,499,500,501,502,503,-160,504,505,506,507,-10,508,-11,509,-264]]],"type":"MultiPolygon","id":"COD","properties":{"name":"Dem. Rep. Congo"}},{"arcs":[[-510,-13,510,511,-474,-265]],"type":"Polygon","id":"COG","properties":{"name":"Congo"}},{"arcs":[[[512,-249,513,514,515,516,517]]],"type":"MultiPolygon","id":"COL","properties":{"name":"Colombia"}},{"arcs":[[[518]],[[519]]],"type":"MultiPolygon","id":"COM","properties":{"name":"Comoros"}},{"arcs":[[[520]],[[521]],[[522]],[[523]]],"type":"MultiPolygon","id":"CPV","properties":{"name":"Cape Verde"}},{"arcs":[[[524,525,526,527]]],"type":"MultiPolygon","id":"CRI","properties":{"name":"Costa Rica"}},{"arcs":[[[528]],[[529]],[[530]],[[531,532,533,534]]],"type":"MultiPolygon","id":"CUB","properties":{"name":"Cuba"}},{"arcs":[[535]],"type":"Polygon","id":"CUW","properties":{"name":"Cura\u00e7ao"}},{"arcs":[[[536,-488]],[[-486,537,-494,538]]],"type":"MultiPolygon","id":"CYN","properties":{"name":"N. Cyprus"}},{"arcs":[[[539,540]],[[541]],[[542,543,-484]],[[544,545,546,547,-490,548,-492]]],"type":"MultiPolygon","id":"CYP","properties":{"name":"Cyprus"}},{"arcs":[[549,550,-151,551]],"type":"Polygon","id":"CZE","properties":{"name":"Czech Rep."}},{"arcs":[[[-387,552]],[[553,554]],[[555]],[[556,557,-552,-150,558,-394,559,560,-162,561,562,563]]],"type":"MultiPolygon","id":"DEU","properties":{"name":"Germany"}},{"arcs":[[564,565,566,567,568,569]],"type":"Polygon","id":"DJI","properties":{"name":"Djibouti"}},{"arcs":[[570]],"type":"Polygon","id":"DMA","properties":{"name":"Dominica"}},{"arcs":[[[571]],[[572]],[[573]],[[574]],[[575]],[[576]],[[577]],[[-564,578]]],"type":"MultiPolygon","id":"DNK","properties":{"name":"Denmark"}},{"arcs":[[[579,580,581,582,583,584]]],"type":"MultiPolygon","id":"DOM","properties":{"name":"Dominican Rep."}},{"arcs":[[585,586,587,588,589,590,591,592]],"type":"Polygon","id":"DZA","properties":{"name":"Algeria"}},{"arcs":[[[593]],[[594]],[[595]],[[596]],[[597]],[[598]],[[599,600,-515]]],"type":"MultiPolygon","id":"ECU","properties":{"name":"Ecuador"}},{"arcs":[[[601,602,603,604,605,606]]],"type":"MultiPolygon","id":"EGY","properties":{"name":"Egypt"}},{"arcs":[[[607]],[[-569,608,609,610]]],"type":"MultiPolygon","id":"ERI","properties":{"name":"Eritrea"}},{"arcs":[[-485,-544,611,-541,612,-545,-491,-538],[-542]],"type":"Polygon","id":"ESB","properties":{"name":"Dhekelia"}},{"arcs":[[[613]],[[614]],[[615]],[[616]],[[617]],[[618]],[[619,620]],[[621,622]],[[623]],[[624]],[[625]],[[626]],[[627,-33,628,629,630,631,632,633]]],"type":"MultiPolygon","id":"ESP","properties":{"name":"Spain"}},{"arcs":[[[634]],[[635]],[[636,637,638,639,640,641,642,643,644]]],"type":"MultiPolygon","id":"EST","properties":{"name":"Estonia"}},{"arcs":[[-568,645,-566,646,647,648,649,650,-609]],"type":"Polygon","id":"ETH","properties":{"name":"Ethiopia"}},{"arcs":[[[651]],[[652,653,654,655]]],"type":"MultiPolygon","id":"FIN","properties":{"name":"Finland"}},{"arcs":[[[656]],[[657]],[[658]]],"type":"MultiPolygon","id":"FJI","properties":{"name":"Fiji"}},{"arcs":[[[659]],[[660]]],"type":"MultiPolygon","id":"FLK","properties":{"name":"Falkland Is."}},{"arcs":[[[661]],[[662]],[[-240,663,664]],[[665]],[[666]],[[667]],[[668]],[[669,-560,-393,670,-391,671,672,673,674,-629,-34,-628,675,-164],[-627]]],"type":"MultiPolygon","id":"FRA","properties":{"name":"France"}},{"arcs":[[[676]],[[677]]],"type":"MultiPolygon","id":"FRO","properties":{"name":"Faeroe Is."}},{"arcs":[[[678]]],"type":"MultiPolygon","id":"FSM","properties":{"name":"Micronesia"}},{"arcs":[[[-512,679,680,-475]]],"type":"MultiPolygon","id":"GAB","properties":{"name":"Gabon"}},{"arcs":[[[681]],[[682]],[[683,684]],[[685]],[[686]],[[687]],[[688]],[[689]],[[690]],[[691]],[[692]],[[693]],[[694]],[[695]]],"type":"MultiPolygon","id":"GBR","properties":{"name":"United Kingdom"}},{"arcs":[[-157,-57,696,697,698]],"type":"Polygon","id":"GEO","properties":{"name":"Georgia"}},{"arcs":[[699,700,-466,701,-468,-176]],"type":"Polygon","id":"GHA","properties":{"name":"Ghana"}},{"arcs":[[-631,702]],"type":"Polygon","id":"GIB","properties":{"name":"Gibraltar"}},{"arcs":[[703,-471,704,705,706,707,708]],"type":"Polygon","id":"GIN","properties":{"name":"Guinea"}},{"arcs":[[709,710]],"type":"Polygon","id":"GMB","properties":{"name":"Gambia"}},{"arcs":[[[711]],[[712,713,-708]]],"type":"MultiPolygon","id":"GNB","properties":{"name":"Guinea-Bissau"}},{"arcs":[[[-681,714,-476]],[[715]]],"type":"MultiPolygon","id":"GNQ","properties":{"name":"Eq. Guinea"}},{"arcs":[[[716]],[[717]],[[718]],[[719]],[[720]],[[721]],[[722]],[[723]],[[724]],[[725]],[[726]],[[727]],[[728]],[[729]],[[730]],[[731]],[[732,-186,733,734,-27,735,-25,736]]],"type":"MultiPolygon","id":"GRC","properties":{"name":"Greece"}},{"arcs":[[[737]]],"type":"MultiPolygon","id":"GRD","properties":{"name":"Grenada"}},{"arcs":[[[738]],[[739]],[[740]],[[741]],[[742]],[[743]],[[744]],[[745]],[[746]],[[747]],[[748]],[[749]],[[750]],[[751]],[[752]],[[753]],[[754]],[[755]],[[756]],[[757]],[[758]],[[759]],[[760]],[[761]],[[762]],[[763]]],"type":"MultiPolygon","id":"GRL","properties":{"name":"Greenland"}},{"arcs":[[-213,764,765,766,767,768]],"type":"Polygon","id":"GTM","properties":{"name":"Guatemala"}},{"arcs":[[769]],"type":"Polygon","id":"GUM","properties":{"name":"Guam"}},{"arcs":[[[770,-251,771,772]]],"type":"MultiPolygon","id":"GUY","properties":{"name":"Guyana"}},{"arcs":[[[773,-447]]],"type":"MultiPolygon","id":"HKG","properties":{"name":"Hong Kong"}},{"arcs":[[774]],"type":"Polygon","id":"HMD","properties":{"name":"Heard I. and McDonald Is."}},{"arcs":[[[775,776,777,-766,778]]],"type":"MultiPolygon","id":"HND","properties":{"name":"Honduras"}},{"arcs":[[[-204,779,780]],[[781]],[[782]],[[783]],[[784]],[[785,786,-206,787,788]]],"type":"MultiPolygon","id":"HRV","properties":{"name":"Croatia"}},{"arcs":[[[-582,789]],[[790]],[[-584,791,-580,792]]],"type":"MultiPolygon","id":"HTI","properties":{"name":"Haiti"}},{"arcs":[[793,794,795,-786,796,-143,797]],"type":"Polygon","id":"HUN","properties":{"name":"Hungary"}},{"arcs":[[[798]],[[799]],[[800]],[[801,802,803,804]],[[805]],[[806]],[[807]],[[808]],[[809]],[[810]],[[811]],[[812]],[[813]],[[814]],[[815]],[[816]],[[817]],[[818]],[[819]],[[820]],[[821]],[[822]],[[823]],[[824]],[[825]],[[826]],[[827]],[[828]],[[829]],[[830]],[[831]],[[832]],[[833]],[[834]],[[835]],[[836]],[[837]],[[838]],[[839]],[[840]],[[841]],[[842]],[[843]],[[844]],[[845]],[[846]],[[847]],[[848]],[[849]],[[850]],[[851]],[[852]],[[853]],[[854]],[[855]],[[856]],[[857,858]],[[859]],[[860]],[[861]],[[862]],[[863]],[[864]],[[865]],[[866]],[[867]],[[868]],[[869]],[[870]],[[871]],[[872]],[[873]],[[874]],[[875]],[[876]],[[877]],[[878]],[[879]],[[880]],[[881,882]],[[883]],[[884,885]],[[886]],[[887]]],"type":"MultiPolygon","id":"IDN","properties":{"name":"Indonesia"}},{"arcs":[[888]],"type":"Polygon","id":"IMN","properties":{"name":"Isle of Man"}},{"arcs":[[[889]],[[890]],[[891]],[[892]],[[893,-453,-257,-452,894,-183,895,896,897,-455]]],"type":"MultiPolygon","id":"IND","properties":{"name":"India"}},{"arcs":[[[-684,898]]],"type":"MultiPolygon","id":"IRL","properties":{"name":"Ireland"}},{"arcs":[[[899]],[[-54,-156,900,901,-3,902,903,904,905,-152]]],"type":"MultiPolygon","id":"IRN","properties":{"name":"Iran"}},{"arcs":[[-905,906,907,908,909,910,911,912,913]],"type":"Polygon","id":"IRQ","properties":{"name":"Iraq"}},{"arcs":[[[914]]],"type":"MultiPolygon","id":"ISL","properties":{"name":"Iceland"}},{"arcs":[[915,916,917,918,919,920,921,-603,922,923,924,925]],"type":"Polygon","id":"ISR","properties":{"name":"Israel"}},{"arcs":[[[926]],[[927]],[[928,929,-672,-390,-145],[930],[931]]],"type":"MultiPolygon","id":"ITA","properties":{"name":"Italy"}},{"arcs":[[932]],"type":"Polygon","id":"JAM","properties":{"name":"Jamaica"}},{"arcs":[[933,934,-921,935,-919,936,937,-916,938,-910]],"type":"Polygon","id":"JOR","properties":{"name":"Jordan"}},{"arcs":[[[939]],[[940]],[[941]],[[942]],[[943]],[[944]],[[945]],[[946]],[[947]],[[948]],[[949]],[[950]],[[951]]],"type":"MultiPolygon","id":"JPN","properties":{"name":"Japan"}},{"arcs":[[952]],"type":"Polygon","id":"KAB","properties":{"name":"Baikonur"}},{"arcs":[[-898,953,-456]],"type":"Polygon","id":"KAS","properties":{"name":"Siachen Glacier"}},{"arcs":[[[954,955]],[[-460,956,957,958,959,960,961,962],[-953]]],"type":"MultiPolygon","id":"KAZ","properties":{"name":"Kazakhstan"}},{"arcs":[[[-649,963,964,965,966,967,968]]],"type":"MultiPolygon","id":"KEN","properties":{"name":"Kenya"}},{"arcs":[[-459,969,970,-957],[971],[972],[973]],"type":"Polygon","id":"KGZ","properties":{"name":"Kyrgyzstan"}},{"arcs":[[[974,975,976,977]]],"type":"MultiPolygon","id":"KHM","properties":{"name":"Cambodia"}},{"arcs":[[[978]]],"type":"MultiPolygon","id":"KIR","properties":{"name":"Kiribati"}},{"arcs":[[[979]],[[980]],[[981]],[[982,983]]],"type":"MultiPolygon","id":"KOR","properties":{"name":"Korea"}},{"arcs":[[984,-18,985,986]],"type":"Polygon","id":"XKX","properties":{"name":"Kosovo"}},{"arcs":[[[987]],[[988,-908,989]]],"type":"MultiPolygon","id":"KWT","properties":{"name":"Kuwait"}},{"arcs":[[990,-977,991,992,-450]],"type":"Polygon","id":"LAO","properties":{"name":"Lao PDR"}},{"arcs":[[-925,993,994]],"type":"Polygon","id":"LBN","properties":{"name":"Lebanon"}},{"arcs":[[-470,995,996,-705]],"type":"Polygon","id":"LBR","properties":{"name":"Liberia"}},{"arcs":[[-606,997,998,999,-587,1000,1001]],"type":"Polygon","id":"LBY","properties":{"name":"Libya"}},{"arcs":[[1002]],"type":"Polygon","id":"LCA","properties":{"name":"Saint Lucia"}},{"arcs":[[-389,-147]],"type":"Polygon","id":"LIE","properties":{"name":"Liechtenstein"}},{"arcs":[[[1003]]],"type":"MultiPolygon","id":"LKA","properties":{"name":"Sri Lanka"}},{"arcs":[[1004]],"type":"Polygon","id":"LSO","properties":{"name":"Lesotho"}},{"arcs":[[[1005,1006]],[[-210,1007,1008,1009,1010]]],"type":"MultiPolygon","id":"LTU","properties":{"name":"Lithuania"}},{"arcs":[[-561,-670,-163]],"type":"Polygon","id":"LUX","properties":{"name":"Luxembourg"}},{"arcs":[[1011,-211,-1011,1012,-644]],"type":"Polygon","id":"LVA","properties":{"name":"Latvia"}},{"arcs":[[1013,1014]],"type":"Polygon","id":"MAF","properties":{"name":"St-Martin"}},{"arcs":[[-622,1015,-620,1016,-592,1017,1018]],"type":"Polygon","id":"MAR","properties":{"name":"Morocco"}},{"arcs":[[1019,-674]],"type":"Polygon","id":"MCO","properties":{"name":"Monaco"}},{"arcs":[[1020,1021]],"type":"Polygon","id":"MDA","properties":{"name":"Moldova"}},{"arcs":[[[1022]],[[1023]]],"type":"MultiPolygon","id":"MDG","properties":{"name":"Madagascar"}},{"arcs":[[[1024]],[[1025]],[[1026]],[[1027]],[[1028]],[[1029,1030,1031,1032,1033,-214,-769,1034,1035],[1036]]],"type":"MultiPolygon","id":"MEX","properties":{"name":"Mexico"}},{"arcs":[[[-23,1037]],[[-187,-733,1038,-15,1039,-21,1040,-19,-985,1041]]],"type":"MultiPolygon","id":"MKD","properties":{"name":"Macedonia"}},{"arcs":[[1042,-178,-472,-704,1043,1044,-589]],"type":"Polygon","id":"MLI","properties":{"name":"Mali"}},{"arcs":[[[1045]],[[1046]],[[1047]],[[1048]],[[1049]],[[1050]],[[-993,1051,1052,-181,-895,-451]]],"type":"MultiPolygon","id":"MMR","properties":{"name":"Myanmar"}},{"arcs":[[1053,-986,-31,1054,-16,1055,-29,1056,-780,-203]],"type":"Polygon","id":"MNE","properties":{"name":"Montenegro"}},{"arcs":[[-464,1057,-462,1058]],"type":"Polygon","id":"MNG","properties":{"name":"Mongolia"}},{"arcs":[[[1059,1060,1061,1062,1063,1064,1065,1066,1067]]],"type":"MultiPolygon","id":"MOZ","properties":{"name":"Mozambique"}},{"arcs":[[[1068,1069,1070,-590,-1045]]],"type":"MultiPolygon","id":"MRT","properties":{"name":"Mauritania"}},{"arcs":[[[1071]]],"type":"MultiPolygon","id":"MUS","properties":{"name":"Mauritius"}},{"arcs":[[[1072,1073]],[[1074,1075]],[[1076,1077]],[[1078,1079]],[[1080,-1065,1081,1082]]],"type":"MultiPolygon","id":"MWI","properties":{"name":"Malawi"}},{"arcs":[[[1083]],[[-882,1084]],[[1085]],[[1086]],[[1087,1088]],[[-886,1089,-256,1090,-253,1091]],[[1092]]],"type":"MultiPolygon","id":"MYS","properties":{"name":"Malaysia"}},{"arcs":[[1093,-261,1094,1095,-8]],"type":"Polygon","id":"NAM","properties":{"name":"Namibia"}},{"arcs":[[[1096]],[[1097]],[[1098]]],"type":"MultiPolygon","id":"NCL","properties":{"name":"New Caledonia"}},{"arcs":[[1099,1100,-173,-174,-1043,-588,-1000]],"type":"Polygon","id":"NER","properties":{"name":"Niger"}},{"arcs":[[[1101,-478,1102,-169,-1101]]],"type":"MultiPolygon","id":"NGA","properties":{"name":"Nigeria"}},{"arcs":[[[1103,-528,1104,-776]]],"type":"MultiPolygon","id":"NIC","properties":{"name":"Nicaragua"}},{"arcs":[[[-166,1105]],[[1106]],[[-562,-168,1107],[1108]]],"type":"MultiPolygon","id":"NLD","properties":{"name":"Netherlands"}},{"arcs":[[[1109]],[[1110]],[[1111]],[[1112]],[[1113]],[[1114]],[[1115]],[[1116]],[[1117]],[[1118]],[[1119]],[[1120]],[[1121]],[[1122]],[[1123,-656,1124,1125]],[[1126]],[[1127]],[[1128]],[[1129]],[[1130]],[[1131]],[[1132]]],"type":"MultiPolygon","id":"NOR","properties":{"name":"Norway"}},{"arcs":[[-894,-454]],"type":"Polygon","id":"NPL","properties":{"name":"Nepal"}},{"arcs":[[[1133]],[[1134]],[[1135]],[[1136]],[[1137]],[[1138]]],"type":"MultiPolygon","id":"NZL","properties":{"name":"New Zealand"}},{"arcs":[[[1139]],[[1140,1141,-37,1142]],[[-41],[-35]],[[-40,1143]]],"type":"MultiPolygon","id":"OMN","properties":{"name":"Oman"}},{"arcs":[[[-954,-897,1144,-903,-2,-457]]],"type":"MultiPolygon","id":"PAK","properties":{"name":"Pakistan"}},{"arcs":[[[1145]],[[-517,1146,-526,1147]]],"type":"MultiPolygon","id":"PAN","properties":{"name":"Panama"}},{"arcs":[[[-248,-221,1148,-215,1149,-219,-438,1150,-600,-514]]],"type":"MultiPolygon","id":"PER","properties":{"name":"Peru"}},{"arcs":[[[1151]],[[1152]],[[1153]],[[1154]],[[1155]],[[1156]],[[1157]],[[1158]],[[1159]],[[1160]],[[1161]],[[1162]],[[1163]],[[1164]],[[1165]],[[1166]],[[1167]],[[1168]],[[1169]],[[1170]],[[1171]],[[1172]],[[1173]],[[1174]],[[1175]],[[1176]],[[1177]],[[1178]],[[1179]],[[1180]],[[1181]]],"type":"MultiPolygon","id":"PHL","properties":{"name":"Philippines"}},{"arcs":[[[1182]]],"type":"MultiPolygon","id":"PLW","properties":{"name":"Palau"}},{"arcs":[[[1183]],[[1184]],[[1185]],[[1186]],[[1187]],[[1188]],[[1189]],[[1190]],[[1191]],[[1192]],[[1193]],[[1194]],[[-858,1195]],[[1196]],[[1197]],[[1198]],[[1199]]],"type":"MultiPolygon","id":"PNG","properties":{"name":"Papua New Guinea"}},{"arcs":[[1200,1201,1202,-1008,-209,1203,1204,-550,-558,1205,-554,1206]],"type":"Polygon","id":"POL","properties":{"name":"Poland"}},{"arcs":[[[1207]]],"type":"MultiPolygon","id":"PRI","properties":{"name":"Puerto Rico"}},{"arcs":[[[1208,1209,-983,1210,-445]]],"type":"MultiPolygon","id":"PRK","properties":{"name":"Dem. Rep. Korea"}},{"arcs":[[[1211]],[[1212]],[[1213]],[[1214]],[[1215,-633]]],"type":"MultiPolygon","id":"PRT","properties":{"name":"Portugal"}},{"arcs":[[-247,1216,-245,-46,-217]],"type":"Polygon","id":"PRY","properties":{"name":"Paraguay"}},{"arcs":[[[-602,1217,-923]],[[-938,1218,-917]]],"type":"MultiPolygon","id":"PSX","properties":{"name":"Palestine"}},{"arcs":[[[1219]]],"type":"MultiPolygon","id":"PYF","properties":{"name":"Fr. Polynesia"}},{"arcs":[[1220,1221]],"type":"Polygon","id":"QAT","properties":{"name":"Qatar"}},{"arcs":[[1222,1223,-189,1224,-795,1225,-1021]],"type":"Polygon","id":"ROU","properties":{"name":"Romania"}},{"arcs":[[[1226]],[[1227]],[[1228]],[[1229]],[[1230]],[[1231]],[[1232]],[[1233]],[[1234]],[[1235]],[[1236]],[[-1203,1237,-1201,1238,-1006,1239,-1009]],[[1240]],[[1241]],[[1242,-639]],[[1243]],[[1244]],[[1245]],[[1246]],[[1247]],[[1248]],[[1249]],[[1250]],[[1251]],[[1252]],[[1253]],[[1254]],[[1255]],[[1256]],[[1257]],[[1258]],[[1259]],[[1260]],[[1261]],[[1262]],[[1263]],[[1264]],[[1265]],[[1266]],[[1267]],[[1268]],[[1269]],[[1270]],[[-1209,-444,1271,-465,-1059,-461,-963,1272,-154,-699,1273,1274,-207,-1012,-643,1275,-641,1276,-637,1277,-653,-1124,1278]],[[1279]],[[1280]],[[1281]],[[1282]],[[1283]],[[1284]],[[1285]],[[1286]],[[1287]],[[1288]],[[1289]],[[1290]],[[1291]],[[1292]],[[1293]],[[1294]],[[1295]],[[1296]],[[1297]],[[1298]]],"type":"MultiPolygon","id":"RUS","properties":{"name":"Russia"}},{"arcs":[[1299,-161,-504,1300,-502,1301]],"type":"Polygon","id":"RWA","properties":{"name":"Rwanda"}},{"arcs":[[-591,-1071,1302,-1018]],"type":"Polygon","id":"ESH","properties":{"name":"W. Sahara"}},{"arcs":[[[1303]],[[-989,1304,-1221,1305,-38,-1142,1306,1307,-934,-909]]],"type":"MultiPolygon","id":"SAU","properties":{"name":"Saudi Arabia"}},{"arcs":[[[1308,-610,-651,1309,-262,1310,-998,-605]]],"type":"MultiPolygon","id":"SDN","properties":{"name":"Sudan"}},{"arcs":[[-650,-969,1311,-496,-263,-1310]],"type":"Polygon","id":"SSD","properties":{"name":"S. Sudan"}},{"arcs":[[-1044,-709,-714,1312,-711,1313,-1069]],"type":"Polygon","id":"SEN","properties":{"name":"Senegal"}},{"arcs":[[1314]],"type":"Polygon","id":"SGP","properties":{"name":"Singapore"}},{"arcs":[[[1315]]],"type":"MultiPolygon","id":"SGS","properties":{"name":"S. Geo. and S. Sandw. Is."}},{"arcs":[[[1316]],[[1317]],[[1318]],[[1319]],[[1320]],[[1321]],[[1322]],[[1323]],[[1324]],[[1325]],[[1326]],[[1327]],[[1328]]],"type":"MultiPolygon","id":"SLB","properties":{"name":"Solomon Is."}},{"arcs":[[[1329]],[[-997,1330,-706]]],"type":"MultiPolygon","id":"SLE","properties":{"name":"Sierra Leone"}},{"arcs":[[[-778,1331,-767]]],"type":"MultiPolygon","id":"SLV","properties":{"name":"El Salvador"}},{"arcs":[[-931]],"type":"Polygon","id":"SMR","properties":{"name":"San Marino"}},{"arcs":[[1332,-647,-565,1333]],"type":"Polygon","id":"SOL","properties":{"name":"Somaliland"}},{"arcs":[[-964,-648,-1333,1334]],"type":"Polygon","id":"SOM","properties":{"name":"Somalia"}},{"arcs":[[-1225,-188,-1042,-987,-1054,-202,-787,-796]],"type":"Polygon","id":"SRB","properties":{"name":"Serbia"}},{"arcs":[[[1335]]],"type":"MultiPolygon","id":"STP","properties":{"name":"S\u00e3o Tom\u00e9 and Principe"}},{"arcs":[[-664,-239,-771,1336]],"type":"Polygon","id":"SUR","properties":{"name":"Suriname"}},{"arcs":[[1337,-798,-142,-551,-1205]],"type":"Polygon","id":"SVK","properties":{"name":"Slovakia"}},{"arcs":[[-789,1338,-929,-144,-797]],"type":"Polygon","id":"SVN","properties":{"name":"Slovenia"}},{"arcs":[[[1339]],[[1340]],[[1341]],[[1342,-1125,-655]]],"type":"MultiPolygon","id":"SWE","properties":{"name":"Sweden"}},{"arcs":[[-1061,1343]],"type":"Polygon","id":"SWZ","properties":{"name":"Swaziland"}},{"arcs":[[1344,-1014]],"type":"Polygon","id":"SXM","properties":{"name":"Sint Maarten"}},{"arcs":[[-913,911,-911,-939,-926,-995,1345,1346]],"type":"Polygon","id":"SYR","properties":{"name":"Syria"}},{"arcs":[[-1311,-267,-473,1347,-481,1348,-479,-1102,-1100,-999]],"type":"Polygon","id":"TCD","properties":{"name":"Chad"}},{"arcs":[[-171,1349,-700,-175]],"type":"Polygon","id":"TGO","properties":{"name":"Togo"}},{"arcs":[[[1350]],[[1351]],[[-992,-976,1352,-1089,1353,-1052]]],"type":"MultiPolygon","id":"THA","properties":{"name":"Thailand"}},{"arcs":[[[-974]],[[1354]],[[-970,-458,-6,1355]]],"type":"MultiPolygon","id":"TJK","properties":{"name":"Tajikistan"}},{"arcs":[[[-4,-902,1356,-961,1357,1358,1359]]],"type":"MultiPolygon","id":"TKM","properties":{"name":"Turkmenistan"}},{"arcs":[[[1360,-803]],[[-805,1361]]],"type":"MultiPolygon","id":"TLS","properties":{"name":"Timor-Leste"}},{"arcs":[[[1362]]],"type":"MultiPolygon","id":"TON","properties":{"name":"Tonga"}},{"arcs":[[[1363]]],"type":"MultiPolygon","id":"TTO","properties":{"name":"Trinidad and Tobago"}},{"arcs":[[[1364]],[[-1001,-586,1365]]],"type":"MultiPolygon","id":"TUN","properties":{"name":"Tunisia"}},{"arcs":[[[1366,-734,-185]],[[-697,-56,-153,-906,-914,-1347,1367]]],"type":"MultiPolygon","id":"TUR","properties":{"name":"Turkey"}},{"arcs":[[[1368]]],"type":"MultiPolygon","id":"TWN","properties":{"name":"Taiwan"}},{"arcs":[[[1369]],[[1370]],[[1371]],[[1372]],[[1373,1374,1375,-966,1376,-1067,1377,-1074,1378,-1076,1379,-1078,1380,-1080,1381,-1083,1382,1383,-158,-1300,1384]]],"type":"MultiPolygon","id":"TZA","properties":{"name":"Tanzania"}},{"arcs":[[[-1375,1385]],[[1386,-1385,-1302,-501,1387,-499,1388,-497,-1312,-968]]],"type":"MultiPolygon","id":"UGA","properties":{"name":"Uganda"}},{"arcs":[[[1389,-1223,-1022,-1226,-794,-1338,-1204,-208,-1275],[1390],[1391]]],"type":"MultiPolygon","id":"UKR","properties":{"name":"Ukraine"}},{"arcs":[[1392,-242,1393,-48,-244]],"type":"Polygon","id":"URY","properties":{"name":"Uruguay"}},{"arcs":[[[1394]],[[1395]],[[1396]],[[1397]],[[1398]],[[1399]],[[1400]],[[1401]],[[1402]],[[1403]],[[1404]],[[1405]],[[1406]],[[1407]],[[1408]],[[1409]],[[1410,-344]],[[1411,-340,1412,-338,1413,-336,1414,-334,-278,1415,-276,1416,-1033,1417,-1031,1418,-1036,1419,-342]],[[1420]],[[1421]],[[1422]],[[1423]],[[1424]],[[1425]],[[1426]],[[1427]],[[1428]],[[1429]],[[1430]],[[1431]],[[1432]],[[1433]],[[1434]],[[1435]],[[1436]],[[1437]],[[1438]],[[1439]],[[1440]],[[1441]],[[1442]],[[1443]],[[1444]],[[1445]],[[1446]],[[1447]],[[1448]],[[1449]],[[1450]],[[1451]],[[1452]],[[1453]],[[-347,345,1454]]],"type":"MultiPolygon","id":"USA","properties":{"name":"United States"}},{"arcs":[[[-534,1455]],[[1456,-532]]],"type":"MultiPolygon","id":"USG","properties":{"name":"USNB Guantanamo Bay"}},{"arcs":[[[-973]],[[-972]],[[-955,1457,-958,-971,-1356,-5,-1360,1458,-1358,-960,1459],[-1355]]],"type":"MultiPolygon","id":"UZB","properties":{"name":"Uzbekistan"}},{"arcs":[[-932]],"type":"Polygon","id":"VAT","properties":{"name":"Vatican"}},{"arcs":[[[1460]]],"type":"MultiPolygon","id":"VCT","properties":{"name":"St. Vin. and Gren."}},{"arcs":[[[1461]],[[1462]],[[1463]],[[-772,-250,-513,1464]]],"type":"MultiPolygon","id":"VEN","properties":{"name":"Venezuela"}},{"arcs":[[[1465]],[[1466,-978,-991,-449]]],"type":"MultiPolygon","id":"VNM","properties":{"name":"Vietnam"}},{"arcs":[[[1467]],[[1468]],[[1469]],[[1470]],[[1471]],[[1472]],[[1473]],[[1474]],[[1475]],[[1476]],[[1477]],[[1478]]],"type":"MultiPolygon","id":"VUT","properties":{"name":"Vanuatu"}},{"arcs":[[1479,-547]],"type":"Polygon","id":"WSB","properties":{"name":"Akrotiri"}},{"arcs":[[[1480]],[[1481]]],"type":"MultiPolygon","id":"WSM","properties":{"name":"Samoa"}},{"arcs":[[[1482]],[[1483,-1307,-1141]]],"type":"MultiPolygon","id":"YEM","properties":{"name":"Yemen"}},{"arcs":[[[-1062,-1344,-1060,1484,-1095,-260,1485],[-1005]]],"type":"MultiPolygon","id":"ZAF","properties":{"name":"South Africa"}},{"arcs":[[-1383,-1082,-1064,1486,1487,1488,-1094,-7,-508,1489,-506,1490]],"type":"Polygon","id":"ZMB","properties":{"name":"Zambia"}},{"arcs":[[-1063,-1486,-259,-1489,1491,-1487]],"type":"Polygon","id":"ZWE","properties":{"name":"Zimbabwe"}}],"type":"GeometryCollection"}},"transform":{"translate":[-180,-90],"scale":[0.036003600360036005,0.01736514657995801]}} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/maps/package.json b/react-material-admin-master/src/pages/maps/package.json new file mode 100644 index 0000000..57918ef --- /dev/null +++ b/react-material-admin-master/src/pages/maps/package.json @@ -0,0 +1,6 @@ +{ + "name": "Maps", + "version": "0.0.0", + "main": "Maps.js", + "private": true +} diff --git a/react-material-admin-master/src/pages/maps/styles.js b/react-material-admin-master/src/pages/maps/styles.js new file mode 100644 index 0000000..ee312ae --- /dev/null +++ b/react-material-admin-master/src/pages/maps/styles.js @@ -0,0 +1,21 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + mapContainer: { + height: "calc(100vh - 170px)", + minHeight: 480, + borderRadius: 8, + overflow: "hidden", + }, + vectorContainer: { + height: "calc(100vh - 170px)", + minHeight: 480, + borderRadius: 8, + overflow: "hidden", + }, + leafletMap: { + height: "100%", + width: "100%", + background: theme.palette.background.default, + }, +})); diff --git a/react-material-admin-master/src/pages/modal/Modal.js b/react-material-admin-master/src/pages/modal/Modal.js new file mode 100644 index 0000000..e97a6aa --- /dev/null +++ b/react-material-admin-master/src/pages/modal/Modal.js @@ -0,0 +1,497 @@ +import React from "react"; +import { + Grid, + Box, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + TextField } from +"@mui/material"; +import cn from "classnames"; +import useStyles from "./styles"; + +// components +import Widget from "../../components/Widget"; +import Code from "../../components/Code"; +import { Typography, Button, Paper } from "../../components/Wrappers"; + +const reducer = (state, action) => { + switch (action.type) { + case "OPEN_MODAL": + return { + ...state, + toggleModal: true + }; + case "CLOSE_MODAL": + return { + ...state, + toggleModal: false + }; + case "OPEN_BODY": + return { + ...state, + toggleBody: true + }; + case "CLOSE_BODY": + return { + ...state, + toggleBody: false + }; + case "OPEN_SMALL": + return { + ...state, + toggleSmall: true + }; + case "CLOSE_SMALL": + return { + ...state, + toggleSmall: false + }; + case "OPEN_LARGE": + return { + ...state, + toggleLarge: true + }; + case "CLOSE_LARGE": + return { + ...state, + toggleLarge: false + }; + case "OPEN_GRID": + return { + ...state, + toggleGrid: true + }; + case "CLOSE_GRID": + return { + ...state, + toggleGrid: false + }; + case "OPEN_INPUT_MODAL": + return { + ...state, + toggleInputModal: true + }; + case "CLOSE_INPUT_MODAL": + return { + ...state, + toggleInputModal: false + }; + default: + return null; + } +}; + +export default function ModalComp() { + const classes = useStyles(); + const [state, dispatch] = React.useReducer(reducer, { + toggleModal: false, + toggleBody: false, + toggleSmall: false, + toggleGrid: false, + toggleLarge: false, + toggleInputModal: false + }); + + return ( +
+ + + + + + + Toggle a working modal demo by clicking the button below. It + will slide down and fade in from the top of the page. + + + + dispatch({ type: "CLOSE_MODAL" })} + scroll={"body"} + aria-labelledby="scroll-dialog-title"> + + + {"Use Google's location service?"} + + + + Let Google help apps determine location. This means + sending anonymous location data to Google, even when no + apps are running. + + + + + + + + + dispatch({ type: "CLOSE_BODY" })} + scroll={"body"} + aria-labelledby="scroll-dialog-title"> + + + Subscribe + + + + {[...new Array(50)].map( + () => `Cras mattis consectetur purus sit amet fermentum. +Cras justo odio, dapibus ac facilisis in, egestas eget quam. +Morbi leo risus, porta ac consectetur ac, vestibulum at eros. +Praesent commodo cursus magna, vel scelerisque nisl consectetur et.` + ).join("\n")} + + + + + + + + + + + + + + To appoint modal's width size, equal maxWidth attribute to one + of values: {`xs, sm, md, lg, xl`} + + + + dispatch({ type: "CLOSE_LARGE" })} + aria-labelledby="alert-dialog-title" + aria-describedby="alert-dialog-description"> + + + {"Use Google's location service?"} + + + + Let Google help apps determine location. This means + sending anonymous location data to Google, even when no + apps are running. + + + + + + + + + dispatch({ type: "CLOSE_SMALL" })} + aria-labelledby="alert-dialog-title" + aria-describedby="alert-dialog-description"> + + + {"Use Google's location service?"} + + + + Let Google help apps determine location. This means + sending anonymous location data to Google, even when no + apps are running. + + + + + + + + + + + + + + Form dialogs allow users to fill out form fields within a + dialog. For example, if your site prompts for potential + subscribers to fill in their email address, they can fill out + the email field and touch {`Submit`} + + + + dispatch({ type: "CLOSE_INPUT_MODAL" })} + aria-labelledby="form-dialog-title"> + + Subscribe + + + To subscribe to this website, please enter your email + address here. We will send updates occasionally. + + + + + + + + + + + + + + + + + + Utilize the Material UI grid system within a modal by nesting{" "} + {``} within the{" "} + {``}. Then, use the normal grid + system classes as you would anywhere else. + + + + + {` + + + + 1 + 2 + + + 1 + 2 + + + 1 + 2 + 3 + + + + `} + + + dispatch({ type: "CLOSE_GRID" })} + aria-labelledby="alert-dialog-title" + aria-describedby="alert-dialog-description"> + + {"Grid system"} + + + + + + + + + + 1 + + + + + + 2 + + + + + + + + + 1 + + + + + + 2 + + + + + + + + + 1 + + + + + + 2 + + + + + + 3 + + + + + + + + + + + + + + +
); + +} diff --git a/react-material-admin-master/src/pages/modal/package.json b/react-material-admin-master/src/pages/modal/package.json new file mode 100644 index 0000000..7a24ca3 --- /dev/null +++ b/react-material-admin-master/src/pages/modal/package.json @@ -0,0 +1,6 @@ +{ + "name": "Modal", + "version": "1.0.0", + "main": "Modal.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/modal/styles.js b/react-material-admin-master/src/pages/modal/styles.js new file mode 100644 index 0000000..2dd0bff --- /dev/null +++ b/react-material-admin-master/src/pages/modal/styles.js @@ -0,0 +1,22 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + marginRight: { + marginRight: theme.spacing(3) + }, + marginTop: { + marginTop: theme.spacing(3) + }, + paperItem: { + backgroundColor: theme.palette.primary.light, + textAlign: "center", + padding: theme.spacing(2), + color: "#f3f3f3", + }, + wrapFix: { + whiteSpace: 'pre' + }, + paperMargin: { + margin: 12, + }, +})); diff --git a/react-material-admin-master/src/pages/nav/Navbar.js b/react-material-admin-master/src/pages/nav/Navbar.js new file mode 100644 index 0000000..83d0258 --- /dev/null +++ b/react-material-admin-master/src/pages/nav/Navbar.js @@ -0,0 +1,170 @@ +import React, { useState } from "react"; +import { + Grid, + Box, + Menu, + InputBase, + MenuItem, + Toolbar, + Button, + IconButton } from +"@mui/material"; +import AccountCircle from "@mui/icons-material/AccountCircle"; +import MenuIcon from "@mui/icons-material/Menu"; +import { Search as SearchIcon } from "@mui/icons-material"; + +// components +import Widget from "../../components/Widget"; +import { Typography, AppBar } from "../../components/Wrappers"; + +import classNames from "classnames"; +import useStyles from "./styles"; + +export default function NavComp() { + const [anchorEl, setAnchorEl] = React.useState(null); + const open = Boolean(anchorEl); + + function handleMenu(event) { + setAnchorEl(event.currentTarget); + } + + function handleClose() { + setAnchorEl(null); + } + + const [isSearchOpen, setSearchOpen] = useState(false); + + const classes = useStyles(); + return ( +
+ + + + + App bar displays yours app links by importing and inserting AppBar + component. To swap links style add attribute within Button + component. + +
+ + + + + + + + + Navbar + + + + + + + + +
+ With menu + + + + + + + + + Navbar menu + + + + + + + + Profile + My account + + + + +
+
+ + + + Search icon makes UX more flexible. To start using search icon, + make sure you got all relative functions. + +
+ + + + + + + + + Navbar search + +
+
+ +
setSearchOpen(!isSearchOpen)}> + + +
+ + +
+ + + +
+ + + +
); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/nav/package.json b/react-material-admin-master/src/pages/nav/package.json new file mode 100644 index 0000000..d950213 --- /dev/null +++ b/react-material-admin-master/src/pages/nav/package.json @@ -0,0 +1,6 @@ +{ + "name": "Navbar", + "version": "1.0.0", + "main": "Navbar.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/nav/styles.js b/react-material-admin-master/src/pages/nav/styles.js new file mode 100644 index 0000000..be5eba8 --- /dev/null +++ b/react-material-admin-master/src/pages/nav/styles.js @@ -0,0 +1,75 @@ +import { makeStyles } from 'styles/mui'; +import { alpha } from "@mui/material/styles"; + +export default makeStyles(theme => ({ + root: { + flexGrow: 1, + }, + menuButton: { + marginRight: theme.spacing(2), + }, + title: { + flexGrow: 1, + }, + wrapFix: { + whiteSpace: "pre", + }, + paper: { + margin: theme.spacing(3), + padding: 10, + backgroundColor: "#f3f3f3", + }, + grow: { + flexGrow: 1, + }, + search: { + position: "relative", + borderRadius: 25, + paddingLeft: theme.spacing(2.5), + width: 36, + backgroundColor: alpha(theme.palette.common.black, 0), + transition: theme.transitions.create(["background-color", "width"]), + "&:hover": { + cursor: "pointer", + backgroundColor: alpha(theme.palette.common.black, 0.08), + }, + }, + searchFocused: { + backgroundColor: alpha(theme.palette.common.black, 0.08), + width: "100%", + [theme.breakpoints.up("md")]: { + width: 250, + }, + }, + searchIcon: { + width: 36, + right: 0, + height: "100%", + position: "absolute", + display: "flex", + alignItems: "center", + justifyContent: "center", + transition: theme.transitions.create("right"), + "&:hover": { + cursor: "pointer", + }, + }, + + searchIconOpened: { + right: theme.spacing(1.25), + }, + headerIcon: { + fontSize: 28, + color: "rgba(255, 255, 255, 0.35)", + }, + inputRoot: { + color: "inherit", + width: "100%", + }, + inputInput: { + height: 36, + padding: 0, + paddingRight: 36 + theme.spacing(1.25), + width: "100%", + }, +})); \ No newline at end of file diff --git a/react-material-admin-master/src/pages/notifications/Notifications.js b/react-material-admin-master/src/pages/notifications/Notifications.js new file mode 100644 index 0000000..69df378 --- /dev/null +++ b/react-material-admin-master/src/pages/notifications/Notifications.js @@ -0,0 +1,358 @@ +import { useState } from "react"; +import { Grid, Box, Snackbar, Alert } from "@mui/material"; + +// styles +import classnames from "classnames"; +import useStyles from "./styles"; + +// components +import Widget from "../../components/Widget"; +import Notification from "../../components/Notification"; +import Code from "../../components/Code"; +import { Typography, Button } from "../../components/Wrappers"; + + +export default function NotificationsPage() { + let classes = useStyles(); + + const [type, setType] = useState({ + type: 'success', + message: 'This is a success message!' + }); + const [state, setState] = useState({ + open: false, + vertical: 'top', + horizontal: 'center' + }); + + const { vertical, horizontal, open } = state; + + const handleClick = (newState, positionId) => () => { + setState({ open: true, ...newState }); + setNotificationPosition(positionId); + }; + + const handleClose = () => { + setState({ ...state, open: false }); + }; + + let [notificationsPosition, setNotificationPosition] = useState(2); + + const handleChange = (type) => { + setType(type); + setState({ ...state, open: true }); + }; + + return ( + <> + + + + + + + Layout Options + + + There are few position options available for notifications. You + can click any of them to change notifications position: + +
+
+
+ + Click any position + +
+
+
+
+ + + + Notifications Types + + + Different types of notifications for lost of use cases. Custom + classes are also supported. + +
+ + + +
+
+ + + + Usage + + + Notifications are created with the help of{" "} + + MUI Snackbar + + + {` + // import needed components, functions and styles + import { useState } from 'react'; + import { Snackbar, Alert, Button } from '@mui/material'; + + const [open, setOpen] = useState(false); + + return ( +
+ + setOpen(false)} + anchorOrigin={{ vertical: 'top', horizontal: 'right' }} + > + setOpen(false)} severity="success" sx={{ width: '100%' }}> + This is a success message! + + +
+ ); + `}
+ + + For more API information refer to the library documentation + + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {type.message} + + + ); + +} diff --git a/react-material-admin-master/src/pages/notifications/package.json b/react-material-admin-master/src/pages/notifications/package.json new file mode 100644 index 0000000..26faaf2 --- /dev/null +++ b/react-material-admin-master/src/pages/notifications/package.json @@ -0,0 +1,6 @@ +{ + "name": "Notifications", + "version": "0.0.0", + "main": "Notifications.js", + "private": true +} diff --git a/react-material-admin-master/src/pages/notifications/styles.js b/react-material-admin-master/src/pages/notifications/styles.js new file mode 100644 index 0000000..20e7d4f --- /dev/null +++ b/react-material-admin-master/src/pages/notifications/styles.js @@ -0,0 +1,90 @@ +import { makeStyles } from "styles/mui"; +import tinycolor from "tinycolor2"; + +export default makeStyles(theme => ({ + layoutContainer: { + height: 200, + display: "flex", + flexDirection: "column", + justifyContent: "space-between", + alignItems: "center", + marginTop: theme.spacing(2), + border: "1px dashed", + borderColor: theme.palette.primary.main, + position: "relative", + }, + head5: { + color: "rgb(110, 110, 110)", + marginBottom: theme.spacing(2), + fontSize: "20px", + }, + layoutText: { + color: tinycolor(theme.palette.background.light) + .darken() + .toHexString(), + }, + layoutButtonsRow: { + width: "100%", + display: "flex", + justifyContent: "space-between", + }, + layoutButton: { + backgroundColor: theme.palette.background.light, + width: 125, + height: 50, + outline: "none", + border: "none", + }, + layoutButtonActive: { + backgroundColor: tinycolor(theme.palette.background.light) + .darken() + .toHexString(), + }, + buttonsContainer: { + display: "flex", + flexDirection: "column", + alignItems: "flex-start", + marginTop: theme.spacing(2), + }, + notificationCallButton: { + color: "white", + marginBottom: theme.spacing(1), + textTransform: "none", + }, + codeContainer: { + display: "flex", + flexDirection: "column", + marginTop: theme.spacing(2), + }, + codeComponent: { + flexGrow: 1, + }, + notificationItem: { + marginTop: theme.spacing(2), + }, + notificationCloseButton: { + position: "absolute", + right: theme.spacing(2), + }, + toastsContainer: { + width: 400, + marginTop: theme.spacing(6), + right: 0, + }, + progress: { + visibility: "hidden", + }, + notification: { + display: "flex", + alignItems: "center", + background: "transparent", + boxShadow: "none", + overflow: "visible", + }, + notificationComponent: { + paddingRight: theme.spacing(4), + }, + widgetHeader: { + paddingBottom: 8 + } +})); diff --git a/react-material-admin-master/src/pages/profile/Components/Calendar/Calendar.js b/react-material-admin-master/src/pages/profile/Components/Calendar/Calendar.js new file mode 100644 index 0000000..0fa7beb --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/Calendar/Calendar.js @@ -0,0 +1,231 @@ +import { useState } from 'react';import { makeStyles } from 'styles/mui'; +import { + KeyboardArrowLeft as KeyboardArrowLeftIcon, + KeyboardArrowRight as KeyboardArrowRightIcon, +} from '@mui/icons-material'; + +import DayNames from './DayNames' +import { v4 as uuid } from 'uuid'; +import Week from './Week'; +import dayjs from 'utils/dayjs'; + +const styles = (theme) => ({ + + calendarRectangle: { + width: '100%', + position: 'relative', + marginLeft: 'auto', + marginRight: 'auto', + color: '#ccc', + fontSize: '.9rem', + overflow: 'visible', + }, + + calendarRow: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flexWrap: 'wrap', + }, + + calendarHeader: { + display: 'flex', + flexWrap: 'wrap', + width: '100%', + color: '#ccc', + }, + + mainCalendar: { + height: '100%', + display: 'flex', + flexWrap: 'wrap', + }, + + titleHeader: { + width: '100%', + height: '70%', + whiteSpace: 'nowrap', + fontSize: '1.2em', + fontWeight: 700, + backgroundColor: 'transparent', + + '@media (min-width: 992px)': { + fontSize: '1.4em', + }, + + '@media (min-width: 1200px)': { + fontSize: '1.2em', + } + }, + + headerText: { + flex: 5, + display: 'flex', + }, + + monthLabel: { + flex: 3, + color: theme.palette.text.primary, + fontSize: '1.1rem', + justifyContent: 'center!important', + '@media (max-width: 1330px)': { + fontSize: '.9rem' + } + }, + + daysContainer: { + width: '100%', + background: 'transparent', + height: 'inherit', + padding: '15px 0 0', + }, + + calendarItemContainer: { + flexGrow: 1, + display: 'flex', + + alignItems: 'center', + flex: 1, + height: '100%', + transition: 'all 0.4s ease-in-out 0s', + '&:first-of-type': { + justifyContent: 'flex-start', + paddingLeft: '15px', + }, + '&:last-of-type': { + justifyContent: 'flex-end', + paddingRight: '15px', + }, + }, + + arrow: { + cursor: 'pointer', + fontSize: '1rem', + color: '#C9C9C9', + }, + +}); + +const useStyles = makeStyles(styles); + +const Calendar = () => { + const classes = useStyles(); + const currentDate = dayjs(); + + const [date, setDate] = useState({ + selectedMonth: dayjs(), + selectedDay: dayjs().startOf("day"), + selectedMonthEvents: [ + { + title: "The flower bed", + info: "Contents here", + itemStyle: "#1870dc", + date: dayjs(`${currentDate.year()}-${currentDate.month() + 1}-02`, 'YYYY-M-DD'), + }, + { + title: "Stop world water pollution", + info: "Have a kick off meeting with .inc company", + itemStyle: "#f0b518", + date: dayjs(`${currentDate.year()}-${currentDate.month() + 1}-05`, 'YYYY-M-DD'), + }, + { + title: "Light Blue 2.2 release", + info: "Some contents here", + itemStyle: "#58d777", + date: dayjs(`${currentDate.year()}-${currentDate.month() + 1}-18`, 'YYYY-M-DD'), + }, + { + title: "A link", + info: "", + itemStyle: "#f45722", + link: "http://www.flatlogic.com", + date: dayjs(`${currentDate.year()}-${currentDate.month() + 1}-28`, 'YYYY-M-DD'), + }, + ], + showEvents: false + }); + + const previous = () => { + setDate((prev) => ({ + ...prev, + selectedMonth: prev.selectedMonth.subtract(1, "month") + })); + } + + const next = () => { + setDate((prev) => ({ + ...prev, + selectedMonth: prev.selectedMonth.add(1, "month") + })); + } + + const renderMonthLabel = () => { + return ( + + {date.selectedMonth.format("MMMM YYYY")} + + ); + } + + const renderWeeks = () => { + const currentMonthView = date.selectedMonth; + const currentSelectedDay = date.selectedDay; + + let weeks = []; + let done = false; + let previousCurrentNextView = currentMonthView + .clone() + .startOf("month") + .subtract(1, "day") + .day(0); + let count = 0; + let monthIndex = previousCurrentNextView.month(); + + while (!done) { + weeks.push( + + ); + previousCurrentNextView = previousCurrentNextView.add(1, "week"); + done = count++ > 2 && monthIndex !== previousCurrentNextView.month(); + monthIndex = previousCurrentNextView.month(); + } + return weeks; + } + + return ( +
+
+
+
+
+ +
+ + {renderMonthLabel()} +
+ +
+ +
+
+ {renderWeeks()} +
+
+
+
+ ) +} + +export default Calendar; diff --git a/react-material-admin-master/src/pages/profile/Components/Calendar/Day.js b/react-material-admin-master/src/pages/profile/Components/Calendar/Day.js new file mode 100644 index 0000000..3baf587 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/Calendar/Day.js @@ -0,0 +1,209 @@ +import React, { useState } from 'react'; +import { makeStyles } from 'styles/mui'; +import Popover from '@mui/material/Popover'; + +const styles = (theme) => ({ + + today: { + '& > div': { + backgroundColor: '#7C90FF', + borderRadius: '50%', + color: '#fff !important', + } + }, + + day: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flex: 1, + height: 30, + width: 30, + }, + + dayNumber: { + width: '28px', + height: '28px', + cursor: 'pointer', + display: 'flex', + margin: '3px 0', + color: theme.palette.text.primary, + justifyContent: 'center', + alignItems: 'center', + boxSizing: 'border-box', + '@media (max-width: 1330px)': { + width: 26, + height: 26 + }, + '@media (max-width: 1280px)': { + width: 25, + height: 25 + } + }, + + hasEvents: { + '& > div, & > a': { + position: 'relative', + color: theme.palette.text.primary, + borderRadius: '50%', + fontWeight: 'bold', + } + }, + + differentMonth: { + visibility: 'hidden', + height: 0, + }, + + '@media(max-width: 810px)': { + dayNumber: { + width: 25, + height: 25, + } + }, + + selected: { + '& .hasEvents': { + position: 'relative', + } + }, + + calendarDot: { + position: 'absolute', + top: -1, + right: 12, + width: 6, + height: 6, + borderRadius: 6, + backgroundColor: 'inherit', + '@media (max-width: 1330px)': { + right: 10, + } + }, + + eventLink: { + fontFamily: 'roboto', + padding: 10, + color: theme.palette.text.primary, + display: 'inline-block', + '& > h4': { + margin: 0, + fontSize: 16, + fontWeight: 500, + marginBottom: 0 + }, + }, + + eventContent: { + fontFamily: 'roboto', + padding: 15, + color: theme.palette.text.primary, + display: 'inline-block', + '& > h4': { + margin: 0, + fontSize: 16, + fontWeight: 500, + marginBottom: 6 + }, + '& > h5': { + margin: 0, + fontSize: 12, + opacity: .7, + fontWeight: 100 + } + }, + + customShadow: { + '& > div:nth-of-type(3)': { + boxShadow: '0 0 40px -5px #8598AE!important', + } + } +}) + +const useStyles = makeStyles(styles); + +const Day = ({ day, selected }) => { + const classes = useStyles(); + const [popover, setPopover] = useState({ + popoverShow: false, + tooltipShow: false + }) + + const togglePopover = (event) => { + setPopover({ popoverShow: !popover.popoverShow }) + setAnchorEl(event.currentTarget); + } + + // eslint-disable-next-line no-unused-vars + const toggleTooltip = () => { + setPopover({ tooltipShow: !popover.tooltipShow }) + } + + const [anchorEl, setAnchorEl] = React.useState(null); + + // eslint-disable-next-line no-unused-vars + const handleClick = (event) => { + + }; + + // eslint-disable-next-line no-unused-vars + const handleClose = () => { + setAnchorEl(null); + }; + const open = Boolean(anchorEl); + const id = open ? 'simple-popover' : undefined; + return ( +
+ + {!day.hasEvents ? +
{day.number}
+ : (day.hasEvents || day.link) ? + +
{day.number} + {day.itemStyle ? + + : "" } +
+ + {day.link ? ( + +

{day.title}

+
) : ( +
+

{day.title}

+
{day.info}
+
+ )} +
+ +
+ : "" } + +
+ ); +} +export default Day; diff --git a/react-material-admin-master/src/pages/profile/Components/Calendar/DayNames.js b/react-material-admin-master/src/pages/profile/Components/Calendar/DayNames.js new file mode 100644 index 0000000..aed2eed --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/Calendar/DayNames.js @@ -0,0 +1,46 @@ +import { makeStyles } from 'styles/mui'; + +const styles = () => ({ + calendarItemContainer: { + flexGrow: 1, + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flex: 1, + height: '100%', + transition: 'all 0.4s ease-in-out 0s', + }, + calendarRow: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flexWrap: 'wrap', + }, + daysHeader: { + width: '100%', + padding: '5px 0', + backgroundColor: 'transparent', + }, + dayName: { + color: '#cccccc', + }, +}) + +const useStyles = makeStyles(styles); + +const DayNames = () => { + const classes = useStyles(); + return ( +
+ S + M + T + W + T + F + S +
+ ); +} + +export default DayNames; diff --git a/react-material-admin-master/src/pages/profile/Components/Calendar/Week.js b/react-material-admin-master/src/pages/profile/Components/Calendar/Week.js new file mode 100644 index 0000000..7deca14 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/Calendar/Week.js @@ -0,0 +1,97 @@ +import { makeStyles } from 'styles/mui'; +import Day from './Day'; +import dayjs from 'utils/dayjs' +import { v4 as uuid } from 'uuid'; + +const styles = () => ({ + calendarRow: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flexWrap: 'nowrap', + }, + week: { + height: '15%', + }, +}) + +const useStyles = makeStyles(styles); + +const Week = ({ selected, currentMonthView, previousCurrentNextView }) => { + const classes = useStyles(); + + let days = []; + let date = previousCurrentNextView; + let selectedMonthEvents = [ + { + title: "The flower bed", + info: "Contents here", + itemStyle: "#7C90FF", + date: dayjs(`${dayjs().year()}-${dayjs().month() + 1}-02`, 'YYYY-M-DD'), + }, + { + title: "Stop world water pollution", + info: "Have a kick off meeting with .inc company", + itemStyle: "#FFC35F", + date: dayjs(`${dayjs().year()}-${dayjs().month() + 1}-05`, 'YYYY-M-DD'), + }, + { + title: "Light Blue 2.2 release", + info: "Some contents here", + itemStyle: "#3CD4A0", + date: dayjs(`${dayjs().year()}-${dayjs().month() + 1}-18`, 'YYYY-M-DD'), + }, + { + title: "A link", + info: "", + itemStyle: "#FF5C93", + link: "http://www.flatlogic.com", + date: dayjs(`${dayjs().year()}-${dayjs().month() + 1}-28`, 'YYYY-M-DD'), + }, + ]; + + for (var i = 0; i < 7; i++) { + let dayHasEvents = false, + title = '', + info = '', + itemStyle = '', + link = ''; + + for (var j = 0; j < selectedMonthEvents.length; j++) { + if (selectedMonthEvents[j].date.isSame(date, "day")) { + dayHasEvents = true; + title = selectedMonthEvents[j].title ? selectedMonthEvents[j].title : ''; + info = selectedMonthEvents[j].info ? selectedMonthEvents[j].info : ''; + itemStyle = selectedMonthEvents[j].itemStyle ? selectedMonthEvents[j].itemStyle : ''; + link = selectedMonthEvents[j].link ? selectedMonthEvents[j].link : ''; + } + } + + let day = { + name: date.format("dd").substring(0, 1), + number: date.date(), + isCurrentMonth: date.month() === currentMonthView.month(), + isToday: date.isSame(new Date(), "day"), + date: date, + hasEvents: dayHasEvents, + title: title, + info: info, + itemStyle: itemStyle, + link: link + }; + + days.push(); + date = date.add(1, "day"); + } + return ( +
+ {days} +
+ ); +} + +export default Week; diff --git a/react-material-admin-master/src/pages/profile/Components/DonutChart.js b/react-material-admin-master/src/pages/profile/Components/DonutChart.js new file mode 100644 index 0000000..7567232 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/DonutChart.js @@ -0,0 +1,110 @@ +import { Button } from '../../../components/Wrappers'; +import { Grid, Typography } from "@mui/material"; +import Dot from '../../../components/Dot/Dot'; +import { makeStyles } from 'styles/mui'; +import { + ResponsiveContainer, + PieChart, + Pie, + Cell, + } from "recharts"; + +const PieChartData = [ + { name: "New", value: 400 ,color: "#536DFE" }, + { name: "In Progress", value: 300 ,color: "#FFC35F" }, + { name: "Completed", value: 300 ,color: "#3CD4A0" }, + { name: "Cancel", value: 200 ,color: "#FF5C93" } +]; + +const styles = () => ({ + legendItemContainer: { + display: 'flex', + alignItems: 'center', + marginBottom: 8, + paddingLeft: 10 + }, + detailsWrapper: { + display: 'flex', + justifyContent: 'flex-end', + paddingRight: 0, + paddingLeft: 0, + width: '100%', + bottom: 5, + }, + legendItemsContainer: { + display: 'flex', + alignItems: 'center', + flexWrap: 'wrap' + } +}) + +const useStyles = makeStyles(styles); + +const DonutChart = () => { + const classes = useStyles(); + + return ( + + + + 121 + + + + + {PieChartData.map((entry, index) => ( + + ))} + + + + + + {PieChartData.map(({ name, color }) => ( +
+ + +  {name}  + +
+ ))} +
+
+ +
+
+ ) +} + +export default DonutChart diff --git a/react-material-admin-master/src/pages/profile/Components/MediaBlock.js b/react-material-admin-master/src/pages/profile/Components/MediaBlock.js new file mode 100644 index 0000000..68a7453 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/MediaBlock.js @@ -0,0 +1,67 @@ +import { makeStyles } from 'styles/mui'; + +import DocIcon from '../Icons/DocIcon'; +import ProjectIcon from '../Icons/ProjectIcon'; +import UsersIcon from '../Icons/UsersIcon'; +import FollowIcon from '../Icons/FollowIcon'; + +const styles = () => ({ + mediaIndicator: { + fontSize: 18, + width: '50%', + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + padding: '22px 0', + '& strong': { + margin: '1px 0', + }, + '& span': { + fontSize: 13, + opacity: .6, + } + }, + mediaIconsWrapper: { + display: 'flex', + flexWrap: 'wrap', + width: '100%', + '@media (max-width: 1280px)': { + marginTop: 40, + } + }, + valueLabel: { + marginBottom: '-8px', + } +}) + +const useStyles = makeStyles(styles); + +const MediaBlock = () => { + const classes = useStyles(); + return ( +
+
+ + 194 + Posts +
+
+ + 554 + Projects +
+
+ + 12.8k + Followers +
+
+ + 1.1k + Following +
+
+ ) +} + +export default MediaBlock; diff --git a/react-material-admin-master/src/pages/profile/Components/RNSWIdget.js b/react-material-admin-master/src/pages/profile/Components/RNSWIdget.js new file mode 100644 index 0000000..db9ff05 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/RNSWIdget.js @@ -0,0 +1,69 @@ +import { makeStyles } from 'styles/mui'; +import { Grid, IconButton } from "@mui/material"; +import { Bookmark as BookmarkIcon } from '@mui/icons-material'; + +import rnsHero from "../../../images/profile/rnsHero.png"; + +const styles = (theme) => ({ + header: { + fontSize: 18, + fontWeight: 500, + }, + rnsImgWrap: { + '& img': { + maxWidth: '100%', + }, + }, + author: { + opacity: .8, + fontSize: 12, + }, + text: { + fontWeight: theme.typography.fontWeightMedium, + }, + date: { + opacity: .6, + fontSize: 12, + }, + flexContainer: { + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + }, + iconColor: { + color: '#FFC35F', + padding: 0, + }, +}) + +const useStyles = makeStyles(styles); + +const RNSWidget = () => { + const classes = useStyles(); + return ( + + + TOP 5 REACT NATIVE STARTER KITS + + +
+ RNS +
+
+ +
+ Nastassia Ovchinnikova +

React Native allows us to create a boilerplate that have been crafted for both platforms. The ability to create an app both for Android and iOS...

+
+ 11 Sep 2020 | 5 min read + + + +
+
+
+
+ ) +} + +export default RNSWidget; diff --git a/react-material-admin-master/src/pages/profile/Components/Tabs.js b/react-material-admin-master/src/pages/profile/Components/Tabs.js new file mode 100644 index 0000000..08f3490 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/Tabs.js @@ -0,0 +1,154 @@ +import React from 'react'; +import { Box, Tab, Tabs } from '@mui/material'; +import { styled, useTheme } from '@mui/material/styles'; + +import FolderBlue from '../Icons/FolderBlue'; +import FolderBlueDark from '../Icons/FolderBlueDark'; +import FolderRed from '../Icons/FolderRed'; +import FolderRedDark from '../Icons/FolderRedDark'; +import FolderGreen from '../Icons/FolderGreen'; +import FolderGreenDark from '../Icons/FolderGreenDark'; +import FolderYellow from '../Icons/FolderYellow'; +import FolderYellowDark from '../Icons/FolderYellowDark'; + +const StyledTabs = styled(Tabs)(({ theme }) => ({ + borderBottom: '1px solid rgba(185, 185, 185, 0.3)', + '& .MuiTabs-indicator': { + backgroundColor: theme.palette.secondary.main, + borderRadius: 2, + }, +})); + +const StyledTab = styled(Tab)(({ theme }) => ({ + textTransform: 'none', + minWidth: 72, + fontSize: 14, + fontWeight: theme.typography.fontWeightMedium, + color: theme.palette.text.primary, + '&:hover': { + color: theme.palette.text.primary, + opacity: 1, + }, + '&.Mui-selected': { + color: theme.palette.text.primary, + }, +})); + +const tabsConfig = [ + { + id: 'work', + label: 'Work', + files: [ + { kind: 'blue', title: 'UI/UX', value: 178, label: 'files' }, + { kind: 'red', title: 'Design', value: 154, label: 'files' }, + { kind: 'green', title: 'Mobile', value: 98, label: 'files' }, + { kind: 'yellow', title: 'Illustration', value: 154, label: 'files' }, + { kind: 'blue', title: 'Branding', value: 73, label: 'files' }, + { kind: 'red', title: 'Web', value: 127, label: 'files' }, + { kind: 'green', title: 'Research', value: 46, label: 'files' }, + { kind: 'yellow', title: 'Prototype', value: 59, label: 'files' }, + ], + }, + { + id: 'private', + label: 'Private', + files: [ + { kind: 'blue', title: 'Family', value: 42, label: 'files' }, + { kind: 'red', title: 'Travel', value: 27, label: 'files' }, + { kind: 'green', title: 'Finance', value: 16, label: 'files' }, + { kind: 'yellow', title: 'Personal', value: 39, label: 'files' }, + { kind: 'blue', title: 'Health', value: 31, label: 'files' }, + { kind: 'red', title: 'Home', value: 22, label: 'files' }, + { kind: 'green', title: 'Education', value: 18, label: 'files' }, + { kind: 'yellow', title: 'Archive', value: 64, label: 'files' }, + ], + }, + { + id: 'social', + label: 'Social', + files: [ + { kind: 'blue', title: 'Instagram', value: 84, label: 'files' }, + { kind: 'red', title: 'Dribbble', value: 21, label: 'files' }, + { kind: 'green', title: 'Behance', value: 18, label: 'files' }, + { kind: 'yellow', title: 'Medium', value: 13, label: 'files' }, + { kind: 'blue', title: 'LinkedIn', value: 33, label: 'files' }, + { kind: 'red', title: 'X/Twitter', value: 47, label: 'files' }, + { kind: 'green', title: 'GitHub', value: 24, label: 'files' }, + { kind: 'yellow', title: 'YouTube', value: 19, label: 'files' }, + ], + }, +]; + +function renderFolder({ kind, title, value, label, isDark }) { + switch (kind) { + case 'blue': + return isDark ? ( + + ) : ( + + ); + case 'red': + return isDark ? ( + + ) : ( + + ); + case 'green': + return isDark ? ( + + ) : ( + + ); + default: + return isDark ? ( + + ) : ( + + ); + } +} + +export default function ProfileFilesTabs() { + const theme = useTheme(); + const [activeTab, setActiveTab] = React.useState(0); + const current = tabsConfig[activeTab]; + const isDark = theme.palette.mode === 'dark'; + + return ( + + setActiveTab(nextValue)}> + {tabsConfig.map((tab, index) => ( + + ))} + + + + *': { + flex: '0 0 auto', + }, + '&::-webkit-scrollbar': { + height: 6, + }, + '&::-webkit-scrollbar-thumb': { + borderRadius: 6, + backgroundColor: theme.palette.mode === 'dark' ? '#4A4A53' : '#C4C4CC', + }, + }} + > + {current.files.map((file) => ( + {renderFolder({ ...file, isDark })} + ))} + + + + ); +} diff --git a/react-material-admin-master/src/pages/profile/Components/ToDo.js b/react-material-admin-master/src/pages/profile/Components/ToDo.js new file mode 100644 index 0000000..88453a8 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/ToDo.js @@ -0,0 +1,153 @@ +import React from 'react'; +import { makeStyles } from 'styles/mui'; +import { Tabs, Tab, Box } from '@mui/material'; +import { styled } from '@mui/material/styles'; +import ToDoItem from './ToDoItem'; + +function TabPanel(props) { + const { children, value, index, ...other } = props; + + return ( + + ); +} + +const AntTabs = styled(Tabs)(({ theme }) => ({ + borderBottom: `1px solid rgba(185, 185, 185, 0.3)`, + margin: '0 24px', + '& .MuiTabs-indicator': { + backgroundColor: theme.palette.secondary.main, + borderRadius: 2, + }, +})); + +const AntTab = styled((props) => )(({ theme }) => ({ + textTransform: 'none', + minWidth: 72, + fontSize: '14px', + fontWeight: theme.typography.fontWeightMedium, + marginRight: theme.spacing(4), + color: theme.palette.text.primary, + fontFamily: ['Roboto', 'sans-serif'].join(','), + '&:hover': { + color: theme.palette.text.primary, + opacity: 1, + }, + '&.Mui-selected': { + color: theme.palette.text.primary, + fontWeight: theme.typography.fontWeightMedium, + }, + '&:focus': { + color: theme.palette.text.primary, + }, +})); + +const styles = (theme) => ({ + root: { + maxHeight: 575, + marginTop: theme.spacing(1), + marginBottom: theme.spacing(1), + + overflow: 'auto', + whiteSpace: 'nowrap', + '&::-webkit-scrollbar': { + width: '3px', + }, + '&::-webkit-scrollbar-track': { + width: '3px', + background: 'transparent', + }, + '&::-webkit-scrollbar-thumb': { + backgroundColor: '#D8D8D8', + borderRadius: 5, + outline: '1px solid #D8D8D8', + }, + flexGrow: 1, + }, + padding: { + padding: theme.spacing(3), + }, + demo1: { + backgroundColor: theme.palette.background.paper, + }, + demo2: { + backgroundColor: '#2e1534', + }, + folderWrapper: { + display: 'flex', + justifyContent: 'space-between' + }, +}) + +const useStyles = makeStyles(styles); + +function CustomizedTabs() { + const classes = useStyles(); + + const [index, setIndex] = React.useState(0); + + const handleChange = (event, index) => { + setIndex(index) + } + + const Todos = [ + { color: '#FFC35F', time: '10.20', title: 'Call conference with a New' }, + { color: '#536DFE', time: '10.30', title: 'Presentation Demo Ecological' }, + { color: '#3CD4A0', time: '10.50', title: 'Call with PR Manager' }, + { color: '#FFC35F', time: '11.10', title: 'Interview with a new UI/UX' }, + { color: '#FF5C93', time: '11.30', title: 'Call conference with a New' }, + { color: '#536DFE', time: '12.00', title: 'Presentation Demo Ecological' }, + { color: '#FFC35F', time: '12.40', title: 'Sales Presentation' }, + { color: '#3CD4A0', time: '13.20', title: 'Call conference in New-York' }, + { color: '#FFC35F', time: '15.20', title: 'Development of the new Widget' }, + { color: '#536DFE', time: '16.00', title: 'Code review and refactoring' }, + { color: '#FFC35F', time: '10.20', title: 'Call conference with a New' }, + { color: '#536DFE', time: '10.30', title: 'Presentation Demo Ecological' }, + { color: '#3CD4A0', time: '10.50', title: 'Call with PR Manager' }, + { color: '#FFC35F', time: '11.10', title: 'Interview with a new UI/UX' }, + { color: '#FF5C93', time: '11.30', title: 'Call conference with a New' }, + { color: '#536DFE', time: '12.00', title: 'Presentation Demo Ecological' }, + { color: '#FFC35F', time: '12.40', title: 'Sales Presentation' }, + { color: '#3CD4A0', time: '13.20', title: 'Call conference in New-York' }, + { color: '#FFC35F', time: '15.20', title: 'Development of the new Widget' }, + { color: '#536DFE', time: '16.00', title: 'Code review and refactoring' }, + ] + + return ( +
+ + + + + + + {Todos.map((item, index) => ( + + ))} + + + {Todos.map((item, index) => ( + + ))} + + + {Todos.map((item, index) => ( + + ))} + +
+ ); +} + +export default CustomizedTabs; diff --git a/react-material-admin-master/src/pages/profile/Components/ToDoItem.js b/react-material-admin-master/src/pages/profile/Components/ToDoItem.js new file mode 100644 index 0000000..0c7e4d1 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/ToDoItem.js @@ -0,0 +1,97 @@ +import { useState } from 'react'; +import { makeStyles } from 'styles/mui'; +import Typography from '@mui/material/Typography'; +import { MenuItem, IconButton, Menu } from '@mui/material'; +import { MoreVert as MoreIcon } from '@mui/icons-material'; +import Dot from '../../../components/Dot/Dot'; + +const styles = (theme) => ({ + todoItemWrap: { + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + padding: '8px 0px', + cursor: 'pointer', + borderBottom: `1px solid rgba(185, 185, 185, 0.3)`, + margin: '0 24px', + }, + itemIsDone: { + color: theme.palette.text.hint, + textDecoration: 'line-through', + 'div > div': { + background: '#9B9B9B !important' + } + }, + taskText: { + display: 'flex', + alignItems: 'center', + flex: 1, + paddingLeft: 30, + '& p': { + margin: 0, + fontSize: 15, + fontWeight: theme.typography.fontWeightMedium, + width: 210, + overflow: 'hidden', + } + }, + time: { + fontSize: 10, + fontWeight: 500, + }, + menuItem: { + color: theme.palette.text.hint, + } +}) + +const useStyles = makeStyles(styles); + +const ToDoItem = ({ time, title, color, backgroundColor}) => { + const classes = useStyles(); + const [moreButtonRef, setMoreButtonRef] = useState(null); + const [isMoreMenuOpen, setMoreMenuOpen] = useState(false); + const [itemStatus, setItemStatus] = useState(false); + + return ( +
setItemStatus(!itemStatus)} style={{ backgroundColor: backgroundColor }}> + {time} +
+ +

{title}

+
+
+ setMoreMenuOpen(true)} + ref={setMoreButtonRef} + > + + + setMoreMenuOpen(false)} + disableAutoFocusItem + > + + Edit + + + Copy + + + Delete + + + Print + + +
+
+ ) +} + +export default ToDoItem; diff --git a/react-material-admin-master/src/pages/profile/Components/ViewsWidget.js b/react-material-admin-master/src/pages/profile/Components/ViewsWidget.js new file mode 100644 index 0000000..da72102 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/ViewsWidget.js @@ -0,0 +1,194 @@ +import React, { useState } from 'react'; +import { + ResponsiveContainer, + AreaChart, + Area, + Tooltip, + } from 'recharts'; +import PropTypes from 'prop-types'; +import { makeStyles } from 'styles/mui'; +import { Menu, IconButton, MenuItem, Typography, Button } from '@mui/material'; + +import { MoreVert as MoreIcon } from '@mui/icons-material'; +import GrowthIcon from '../../../images/profile/growth.svg'; + +const styles = theme => ({ + widgetBackground: { + transition: 'background .35s ease', + cursor: 'pointer', + }, + contentWrapper: { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + }, + widgetTitle: { + fontSize: 18, + color: '#4A4A4A', + fontWeight: 'medium', + margin: 0, + transition: 'color .35s ease', + }, + widgetSubtitle: { + color: '#1ACA95', + fontSize: 12, + lineHeight: '25px', + textTransform: 'uppercase', + transition: 'color .35s ease', + }, + widgetValue: { + fontWeight: 'regular', + fontSize: '24px', + lineHeight: '25px', + margin: 0, + transition: 'color .35s ease', + display: 'flex', + alignItems: 'end', + '& > img': { + marginLeft: 5 + } + }, + textContent: { + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + marginRight: 20, + marginTop: 15 + }, + titleWrapper: { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + }, + seeMoreBtn: { + color: theme.palette.primary.main, + borderColor: theme.palette.primary.main, + textTransform: 'none', + padding: '5px', + marginTop: 10 + }, + menuIcon: { + color: theme.palette.text.hint, + } +}) + +const useStyles = makeStyles(styles); + +const SimpleLine = ({ color, title, subtitle, value }) => { + const classes = useStyles(); + + const [moreButtonRef, setMoreButtonRef] = useState(null); + const [isMoreMenuOpen, setMoreMenuOpen] = useState(false); + + function getRandomData(length, min, max, multiplier = 10, maxDiff = 5) { + var array = new Array(length).fill(); + let lastValue; + + return array.map(() => { + let randomValue = Math.floor(Math.random() * multiplier + 1); + + while ( + randomValue <= min || + randomValue >= max || + (lastValue && randomValue - lastValue > maxDiff) + ) { + randomValue = Math.floor(Math.random() * multiplier + 1); + } + + lastValue = randomValue; + + return { value: randomValue }; + }); + } + const randomData = React.useMemo(() => getRandomData(4), []); + return ( +
+
+ {title} + setMoreMenuOpen(true)} + ref={setMoreButtonRef} + className={classes.menuIcon} + > + + +
+ setMoreMenuOpen(false)} + disableAutoFocusItem + > + + Edit + + + Copy + + + Delete + + + Print + + +
+
+
{value}arrow
+ {subtitle} + +
+ + + + + + +
+
+ ); +} + +SimpleLine.propTypes = { + color: PropTypes.string, + title: PropTypes.string, + subtitle: PropTypes.string, + value: PropTypes.number, +} + +export default SimpleLine; diff --git a/react-material-admin-master/src/pages/profile/Components/mock.js b/react-material-admin-master/src/pages/profile/Components/mock.js new file mode 100644 index 0000000..39a18e1 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Components/mock.js @@ -0,0 +1,39 @@ +const profileMock = { + donut: { + labels: { + show: true, + }, + series: [44, 15, 41, 55], + options: { + tooltip: { + theme: 'dark', + }, + legend: { + labels: { + colors: ['#27282C'], + }, + }, + responsive: [ + { + breakpoint: 480, + options: { + chart: { + width: 200, + height: 300, + }, + legend: { + position: 'bottom', + }, + }, + }, + ], + stroke: { + show: false, + width: 0, + }, + colors: ['#4B9FFE', '#FF4D3A', '#FEAA4B', '#1ACA95'], + }, + }, +}; + +export default profileMock; diff --git a/react-material-admin-master/src/pages/profile/Icons/CloudIcon.js b/react-material-admin-master/src/pages/profile/Icons/CloudIcon.js new file mode 100644 index 0000000..89f5698 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/CloudIcon.js @@ -0,0 +1,26 @@ +import { useTheme } from '@mui/material/styles'; + +function CloudIcon() { + const theme = useTheme(); + + return ( +
+ + + + +
+ ); +} + +export default CloudIcon; diff --git a/react-material-admin-master/src/pages/profile/Icons/DocIcon.js b/react-material-admin-master/src/pages/profile/Icons/DocIcon.js new file mode 100644 index 0000000..eded03f --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/DocIcon.js @@ -0,0 +1,16 @@ + +const DocIcon = () => { + return ( + + + + + + + + + + ) +} + +export default DocIcon; \ No newline at end of file diff --git a/react-material-admin-master/src/pages/profile/Icons/FolderBlue.js b/react-material-admin-master/src/pages/profile/Icons/FolderBlue.js new file mode 100644 index 0000000..7bd3102 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/FolderBlue.js @@ -0,0 +1,15 @@ +import FolderBlueLight from '../../../images/profile/FolderBlueLight.svg'; +import FolderCard from './FolderCard'; + +function FolderBlue({ title, value, label }) { + return ( + + ); +} + +export default FolderBlue; diff --git a/react-material-admin-master/src/pages/profile/Icons/FolderBlueDark.js b/react-material-admin-master/src/pages/profile/Icons/FolderBlueDark.js new file mode 100644 index 0000000..d9c53b4 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/FolderBlueDark.js @@ -0,0 +1,15 @@ +import FolderBlueDark from '../../../images/profile/FolderBlueDark.svg'; +import FolderCard from './FolderCard'; + +function FolderBlueDarkIcon({ title, value, label }) { + return ( + + ); +} + +export default FolderBlueDarkIcon; diff --git a/react-material-admin-master/src/pages/profile/Icons/FolderCard.js b/react-material-admin-master/src/pages/profile/Icons/FolderCard.js new file mode 100644 index 0000000..0ea862c --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/FolderCard.js @@ -0,0 +1,21 @@ +function FolderCard({ image, title, value, label }) { + return ( +
+ +
+ {title} +

+ {value}{' '} + {label} +

+
+
+ ); +} + +export default FolderCard; diff --git a/react-material-admin-master/src/pages/profile/Icons/FolderGreen.js b/react-material-admin-master/src/pages/profile/Icons/FolderGreen.js new file mode 100644 index 0000000..c83d2bd --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/FolderGreen.js @@ -0,0 +1,15 @@ +import FolderGreenLight from '../../../images/profile/FolderGreenLight.svg'; +import FolderCard from './FolderCard'; + +function FolderGreen({ title, value, label }) { + return ( + + ); +} + +export default FolderGreen; diff --git a/react-material-admin-master/src/pages/profile/Icons/FolderGreenDark.js b/react-material-admin-master/src/pages/profile/Icons/FolderGreenDark.js new file mode 100644 index 0000000..1fb6ebb --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/FolderGreenDark.js @@ -0,0 +1,15 @@ +import FolderGreenDark from '../../../images/profile/FolderGreenDark.svg'; +import FolderCard from './FolderCard'; + +function FolderGreenDarkIcon({ title, value, label }) { + return ( + + ); +} + +export default FolderGreenDarkIcon; diff --git a/react-material-admin-master/src/pages/profile/Icons/FolderRed.js b/react-material-admin-master/src/pages/profile/Icons/FolderRed.js new file mode 100644 index 0000000..aa760d5 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/FolderRed.js @@ -0,0 +1,15 @@ +import FolderRedLight from '../../../images/profile/FolderRedLight.svg'; +import FolderCard from './FolderCard'; + +function FolderRed({ title, value, label }) { + return ( + + ); +} + +export default FolderRed; diff --git a/react-material-admin-master/src/pages/profile/Icons/FolderRedDark.js b/react-material-admin-master/src/pages/profile/Icons/FolderRedDark.js new file mode 100644 index 0000000..ff9a750 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/FolderRedDark.js @@ -0,0 +1,15 @@ +import FolderRedDark from '../../../images/profile/FolderRedDark.svg'; +import FolderCard from './FolderCard'; + +function FolderRedDarkIcon({ title, value, label }) { + return ( + + ); +} + +export default FolderRedDarkIcon; diff --git a/react-material-admin-master/src/pages/profile/Icons/FolderYellow.js b/react-material-admin-master/src/pages/profile/Icons/FolderYellow.js new file mode 100644 index 0000000..5725a73 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/FolderYellow.js @@ -0,0 +1,15 @@ +import FolderYellowLight from '../../../images/profile/FolderYellowLight.svg'; +import FolderCard from './FolderCard'; + +function FolderYellow({ title, value, label }) { + return ( + + ); +} + +export default FolderYellow; diff --git a/react-material-admin-master/src/pages/profile/Icons/FolderYellowDark.js b/react-material-admin-master/src/pages/profile/Icons/FolderYellowDark.js new file mode 100644 index 0000000..eb7d13e --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/FolderYellowDark.js @@ -0,0 +1,15 @@ +import FolderYellowDark from '../../../images/profile/FolderYellowDark.svg'; +import FolderCard from './FolderCard'; + +function FolderYellowDarkIcon({ title, value, label }) { + return ( + + ); +} + +export default FolderYellowDarkIcon; diff --git a/react-material-admin-master/src/pages/profile/Icons/FollowIcon.js b/react-material-admin-master/src/pages/profile/Icons/FollowIcon.js new file mode 100644 index 0000000..21fad3d --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/FollowIcon.js @@ -0,0 +1,16 @@ + +const FollowIcon = () => { + return ( + + + + + + + + + + ) +} + +export default FollowIcon; \ No newline at end of file diff --git a/react-material-admin-master/src/pages/profile/Icons/ProjectIcon.js b/react-material-admin-master/src/pages/profile/Icons/ProjectIcon.js new file mode 100644 index 0000000..89c338e --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/ProjectIcon.js @@ -0,0 +1,16 @@ + +const ProjectIcon = () => { + return ( + + + + + + + + + + ) +} + +export default ProjectIcon; \ No newline at end of file diff --git a/react-material-admin-master/src/pages/profile/Icons/UsersIcon.js b/react-material-admin-master/src/pages/profile/Icons/UsersIcon.js new file mode 100644 index 0000000..e2c8610 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Icons/UsersIcon.js @@ -0,0 +1,16 @@ + +const UsersIcon = () => { + return ( + + + + + + + + + + ) +} + +export default UsersIcon; \ No newline at end of file diff --git a/react-material-admin-master/src/pages/profile/Profile.js b/react-material-admin-master/src/pages/profile/Profile.js new file mode 100644 index 0000000..39f9e3b --- /dev/null +++ b/react-material-admin-master/src/pages/profile/Profile.js @@ -0,0 +1,153 @@ +import { Grid, Typography } from "@mui/material"; +import { useTheme } from "styles/mui"; + +import { Badge, Chip, Button } from '../../components/Wrappers'; +import Tabs from './Components/Tabs'; +import Donut from './Components/DonutChart'; +import RNSWidget from './Components/RNSWIdget'; +import ToDo from './Components/ToDo'; +import Calendar from './Components/Calendar/Calendar'; +import MediaBlock from './Components/MediaBlock'; +import ViewsWidget from './Components/ViewsWidget'; +import ProfileIcon from '../../images/profile/profilePhoto.svg'; +import BehanceIcon from '../../images/profile/BehanceIcon.svg'; +import MediumIcon from '../../images/profile/MediumIcon.svg'; +import FacebookIcon from '../../images/profile/FacebookIcon.svg'; +import DribbleIcon from '../../images/profile/DribbleIcon.svg'; +import InstagramIcon from '../../images/profile/InstagramIcon.svg'; +import CloudIcon from './Icons/CloudIcon' + +// styles +import useStyles from "./styles"; + +// components +import Widget from "../../components/Widget/Widget"; + +function Profile() { + let classes = useStyles(); + let theme = useTheme(); + + return ( + + + + + +
+
+ profile +
+ +
+
+ +
+ + Julee Cruise + + Product Designer + Flatlogic.com +
+ + + + + +
+
+ { } + FacebookIcon + { } + MediumIcon + { } + DribbleIcon + { } + BehanceIcon + { } + InstagramIcon +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
Updates
+
+ +
+
+
+
+
+
+ ); +} + +// ####################################################################### + +export default Profile; diff --git a/react-material-admin-master/src/pages/profile/package.json b/react-material-admin-master/src/pages/profile/package.json new file mode 100644 index 0000000..ee8722d --- /dev/null +++ b/react-material-admin-master/src/pages/profile/package.json @@ -0,0 +1,7 @@ +{ + "name": "Profile", + "version": "1.0.0", + "private": true, + "main": "Profile.js" +} + diff --git a/react-material-admin-master/src/pages/profile/styles.js b/react-material-admin-master/src/pages/profile/styles.js new file mode 100644 index 0000000..68710c3 --- /dev/null +++ b/react-material-admin-master/src/pages/profile/styles.js @@ -0,0 +1,251 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + root: {}, + visualProfile: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + marginTop: 24 + }, + profileImage: { + padding: 5, + border: `3px dotted ${theme.palette.primary.main}`, + borderRadius: '50%', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + '@media (max-width: 768px)': { + maxWidth: 200 + } + }, + profileDescription: { + marginTop: 24, + paddingLeft: 20 + }, + profileTitle: { + fontSize: 32, + fontFamily: 'Roboto', + fontWeight: 600, + display: 'block' + }, + profileSubtitle: { + color: theme.palette.text.primary, + opacity: 0.5, + fontSize: 12, + marginTop: 20, + display: 'block', + fontWeight: 500, + }, + profileExternalRes: { + fontSize: 16, + margin: '12px 0 25px', + color: theme.palette.primary.main, + display: 'block', + marginTop: 4, + textDecoration: 'none', + }, + chipMargin: { + display: 'flex', + justifyContent: 'end', + alignItems: 'center', + marginTop: 20, + fontWeight: 700, + fontSize: 11, + width: 48, + height: 26, + }, + socials: { + display: 'flex', + justifyContent: 'space-between', + marginTop: 30, + alignItems: 'center', + maxWidth: 180, + }, + mediaBlockPadding: { + padding: '0 24px 12px 24px', + }, + widgetBody: { + padding: 0, + }, + updateWidget: { + background: theme.palette.primary.main, + justifyContent: 'space-between', + alignItems: 'center', + padding: '24px 24px', + height: 90, + color: '#fff', + borderRadius: 4, + }, + updateWidgetFlexContainer: { + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + }, + updateLabel: { + display: 'inline-block', + fontSize: '20px', + fontWeight: 400, + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis', + }, + spacer: { + flexGrow: 1, + }, + detailsBtn: { + color: '#fff', + borderColor: '#fff', + }, + card: { + minHeight: "100%", + display: "flex", + flexDirection: "column" + }, + progressSection: { + marginBottom: theme.spacing(1) + }, + progressTitle: { + marginBottom: theme.spacing(2) + }, + progress: { + marginBottom: theme.spacing(1), + backgroundColor: 'rgb(236, 236, 236)', + }, + pieChartLegendWrapper: { + height: "100%", + display: "flex", + flexDirection: "column", + justifyContent: "center", + alignItems: "flex-end", + marginRight: theme.spacing(1) + }, + legendItemContainer: { + display: "flex", + alignItems: "center", + marginBottom: theme.spacing(1), + justifyContent: "space-between", + width: "100%" + }, + fullHeightBody: { + display: "flex", + flexGrow: 1, + flexDirection: "column", + justifyContent: "space-between" + }, + alignStandaloneElement: { + display: "flex", + flexGrow: 1, + flexDirection: "column", + justifyContent: "center" + }, + tableWidget: { + overflowX: "auto" + }, + progressBar: { + backgroundColor: theme.palette.warning.main + }, + progressBarPrimary: { + backgroundColor: theme.palette.primary.main, + }, + progressBarWarning: { + backgroundColor: theme.palette.warning.main, + }, + performanceLegendWrapper: { + display: "flex", + flexGrow: 1, + alignItems: "center", + marginBottom: theme.spacing(1) + }, + legendElement: { + display: "flex", + alignItems: "center", + marginRight: theme.spacing(2) + }, + legendElementText: { + marginLeft: theme.spacing(1) + }, + serverOverviewElement: { + display: "flex", + alignItems: "center", + maxWidth: "100%" + }, + serverOverviewElementText: { + minWidth: 149, + paddingRight: theme.spacing(2) + }, + serverOverviewElementChartWrapper: { + width: "100%" + }, + mainChartBody: { + overflowX: "auto" + }, + mainChartHeader: { + width: "100%", + display: "flex", + alignItems: "center", + justifyContent: "space-between", + [theme.breakpoints.only("xs")]: { + flexWrap: "wrap" + } + }, + mainChartHeaderLabels: { + display: "flex", + alignItems: "center", + [theme.breakpoints.only("xs")]: { + order: 3, + width: "100%", + justifyContent: "center", + marginTop: theme.spacing(3), + marginBottom: theme.spacing(2) + } + }, + mainChartHeaderLabel: { + display: "flex", + alignItems: "center", + marginLeft: theme.spacing(3) + }, + mainChartSelectRoot: { + borderColor: theme.palette.text.hint + "80 !important" + }, + mainChartSelect: { + padding: 10, + paddingRight: 25 + }, + mainChartLegentElement: { + fontSize: "14px !important", + marginLeft: theme.spacing(1) + }, + table: { + minWidth: 750 + }, + tableWrapper: { + overflowX: "auto" + }, + visuallyHidden: { + border: 0, + clip: "rect(0 0 0 0)", + height: 1, + margin: -1, + overflow: "hidden", + padding: 0, + position: "absolute", + top: 20, + width: 1 + }, + fixIconRight: { + "& .MuiSelect-icon": { + right: 4 + } + }, + actionsIcon: { + color: "#76767B" + }, + adjustHeight: { + height: '100%', + '@media (max-width: 1280px)': { + height: 'auto' + } + }, +})); diff --git a/react-material-admin-master/src/pages/progress/Progress.js b/react-material-admin-master/src/pages/progress/Progress.js new file mode 100644 index 0000000..c487107 --- /dev/null +++ b/react-material-admin-master/src/pages/progress/Progress.js @@ -0,0 +1,85 @@ +import React from "react"; +import { Grid, Box, LinearProgress } from "@mui/material"; + +// components +import Widget from "../../components/Widget"; +import { CircularProgress } from "../../components/Wrappers"; + +export default function ProgressComp() { + const [completed, setCompleted] = React.useState(0); + React.useEffect(() => { + function progress() { + setCompleted((oldCompleted) => { + if (oldCompleted === 100) { + return 0; + } + const diff = Math.random() * 10; + return Math.min(oldCompleted + diff, 100); + }); + } + const timer = setInterval(progress, 1500); + return () => { + clearInterval(timer); + }; + }, []); + return ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+
+ ); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/progress/package.json b/react-material-admin-master/src/pages/progress/package.json new file mode 100644 index 0000000..5cb403d --- /dev/null +++ b/react-material-admin-master/src/pages/progress/package.json @@ -0,0 +1,6 @@ +{ + "name": "progress", + "version": "1.0.0", + "main": "Progress.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/reset/Reset.js b/react-material-admin-master/src/pages/reset/Reset.js new file mode 100644 index 0000000..0f72ff2 --- /dev/null +++ b/react-material-admin-master/src/pages/reset/Reset.js @@ -0,0 +1,144 @@ +import { useState } from 'react'; +import { Grid, CircularProgress, TextField as Input } from '@mui/material'; +import { useLocation, useNavigate } from 'react-router-dom'; + +// styles +import useStyles from './styles'; + +// logo +import logo from './logo.svg'; + +// context +import { + useUserDispatch, + resetPassword, + authError, +} from '../../context/UserContext'; + +//components +import { Button, Typography } from '../../components/Wrappers'; + +function Reset() { + let classes = useStyles(); + const navigate = useNavigate(); + const location = useLocation(); + // global + let userDispatch = useUserDispatch(); + const [passwordValue, setPasswordValue] = useState(''); + const [confirmPasswordValue, setConfirmPasswordValue] = useState(''); + const [isLoading] = useState(false); + const checkPassword = () => { + if (!isPasswordValid()) { + if (!passwordValue) { + authError('Password field is empty')(userDispatch); + } else { + authError('Passwords are not equal')(userDispatch); + } + authError()(userDispatch); + } + }; + + const isPasswordValid = () => { + return passwordValue && passwordValue === confirmPasswordValue; + }; + + const doReset = () => { + const params = new URLSearchParams(location.search); + const token = params.get('token'); + if (!token) { + authError('There are no token')(userDispatch); + } + + if (!isPasswordValid()) { + checkPassword(); + } else { + resetPassword(token, passwordValue, navigate)(userDispatch); + } + }; + + return ( + +
+ logo + + React Material Admin Full + +
+
+
+ setPasswordValue(e.target.value)} + margin='normal' + placeholder='password' + type='password' + fullWidth + /> + setConfirmPasswordValue(e.target.value)} + margin='normal' + placeholder='Confirm Password' + type='password' + fullWidth + /> +
+ {isLoading ? ( + + ) : ( + + )} + +
+
+ + 2014-{new Date().getFullYear()}{' '} + + Flatlogic + + , LLC. All rights reserved. + +
+
+ ); +} + +export default Reset; diff --git a/react-material-admin-master/src/pages/reset/logo.svg b/react-material-admin-master/src/pages/reset/logo.svg new file mode 100644 index 0000000..60006a3 --- /dev/null +++ b/react-material-admin-master/src/pages/reset/logo.svg @@ -0,0 +1,13 @@ + + + + logo_white + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/react-material-admin-master/src/pages/reset/package.json b/react-material-admin-master/src/pages/reset/package.json new file mode 100644 index 0000000..cf123c2 --- /dev/null +++ b/react-material-admin-master/src/pages/reset/package.json @@ -0,0 +1,6 @@ +{ + "name": "reset", + "version": "0.0.0", + "private": true, + "main": "Reset.js" +} diff --git a/react-material-admin-master/src/pages/reset/styles.js b/react-material-admin-master/src/pages/reset/styles.js new file mode 100644 index 0000000..5fdd91a --- /dev/null +++ b/react-material-admin-master/src/pages/reset/styles.js @@ -0,0 +1,161 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles((theme) => ({ + container: { + height: '100vh', + width: '100%', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + position: 'absolute', + top: 0, + left: 0, + }, + logotypeContainer: { + backgroundColor: theme.palette.primary.main, + width: '60%', + height: '100%', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'center', + [theme.breakpoints.down('md')]: { + width: '50%', + }, + [theme.breakpoints.down('md')]: { + display: 'none', + }, + }, + logotypeImage: { + width: 165, + marginBottom: theme.spacing(4), + }, + logotypeText: { + color: 'white', + fontWeight: 500, + fontSize: 84, + [theme.breakpoints.down('md')]: { + fontSize: 48, + }, + }, + customFormContainer: { + width: '40%', + height: '100%', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + overflow: 'auto', + alignItems: 'center', + [theme.breakpoints.down('md')]: { + width: '50%', + overflow: 'visible', + }, + }, + formContainer: { + width: '40%', + height: '100%', + display: 'flex', + flexDirection: 'column', + overflow: 'auto', + alignItems: 'center', + [theme.breakpoints.down('md')]: { + width: '50%', + overflow: 'visible', + }, + }, + form: { + width: 320, + }, + tab: { + fontWeight: 400, + fontSize: 18, + }, + greeting: { + fontWeight: 500, + textAlign: 'center', + marginTop: theme.spacing(4), + }, + subGreeting: { + fontWeight: 500, + textAlign: 'center', + marginTop: theme.spacing(2), + }, + googleButton: { + marginTop: theme.spacing(6), + boxShadow: theme.customShadows.widget, + backgroundColor: 'white', + width: '100%', + textTransform: 'none', + }, + googleButtonCreating: { + marginTop: 0, + }, + googleIcon: { + width: 30, + marginRight: theme.spacing(2), + }, + creatingButtonContainer: { + marginTop: theme.spacing(2.5), + height: 46, + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + }, + createAccountButton: { + height: 46, + textTransform: 'none', + }, + formDividerContainer: { + marginTop: theme.spacing(4), + marginBottom: theme.spacing(4), + display: 'flex', + alignItems: 'center', + }, + formDividerWord: { + paddingLeft: theme.spacing(2), + paddingRight: theme.spacing(2), + }, + formDivider: { + flexGrow: 1, + height: 1, + backgroundColor: theme.palette.text.hint + '40', + }, + errorMessage: { + textAlign: 'center', + }, + textFieldUnderline: { + '&:before': { + borderBottomColor: theme.palette.primary.light, + }, + '&:after': { + borderBottomColor: theme.palette.primary.main, + }, + '&:hover:before': { + borderBottomColor: `${theme.palette.primary.light} !important`, + }, + }, + textField: { + borderBottomColor: theme.palette.background.light, + }, + formButtons: { + width: '100%', + marginTop: theme.spacing(4), + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + }, + forgetButton: { + textTransform: 'none', + fontWeight: 400, + }, + loginLoader: { + marginLeft: theme.spacing(4), + }, + copyright: { + marginTop: theme.spacing(4), + whiteSpace: 'nowrap', + [theme.breakpoints.up('md')]: { + bottom: theme.spacing(2), + }, + }, +})); diff --git a/react-material-admin-master/src/pages/search/Search.js b/react-material-admin-master/src/pages/search/Search.js new file mode 100644 index 0000000..09471be --- /dev/null +++ b/react-material-admin-master/src/pages/search/Search.js @@ -0,0 +1,382 @@ +import React from "react"; +import { + Grid, + Box, + Select, + FormControl, + MenuItem, + List, + ListItem, + ListItemIcon, + ListItemText, + ButtonGroup } from +"@mui/material"; +import Pagination from '@mui/material/Pagination'; + +import { + BorderAll as GridIcon, + FormatAlignJustify as RowIcon } from +"@mui/icons-material"; +import useStyles from "./styles"; + +//images +import img1 from "../../images/search/img1.jpg"; +import img2 from "../../images/search/img2.jpg"; +import img3 from "../../images/search/img3.jpg"; +import img4 from "../../images/search/img4.jpg"; + +//components +import { Typography, Button, Link, Chip } from "../../components/Wrappers"; +import Widget from "../../components/Widget"; + +export default function SearchComp() { + const [select, setSelect] = React.useState({ + row: true, + grid: false + }); + const [popularField, setValues] = React.useState("Popular"); + const [timeField, setTimeField] = React.useState("All Time"); + const handleChange = (event) => { + setValues(event.target.value); + }; + const handleChangeTimeField = (event) => { + setTimeField(event.target.value); + }; + const toggleSelect = () => { + setSelect((prevState) => ({ + row: !prevState.row, + grid: !prevState.grid + })); + }; + const classes = useStyles(); + return ( + <> + + + + + + + + + + + + + + + + + + + + + About 94 700 000 (0.39 sec.) results + + + + + + + + Results{" "} + + Filtering + + + Listed content is categorized by the following groups: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + admin templates + + + + + + + + + Next generation admin template + {" "} + + + New York, NY 2018 + + + Not just usual Metro. But something bigger. Not just + usual widgets, but real widgets. Not just yet another + admin template, but next generation admin template. + + + + + + + + $9700 + + per week + + + + + + + + + + + + admin templates + + + + + + + + + Try. Posted by Okendoken + {" "} + + + + + Los Angeles, NY 20188 + + + You will never know exactly how something will go + until you try it. You can think three hundred times + and still have no precise result. + + + + + + + + $10300 + + per week + + + + + + + + + + + + admin templates + + + + + + + + Vitaut the Great{" "} + + + New York, NY 20188 + + + The Great Prince of the Grand Duchy of Lithuania he + had stopped the invasion to Europe of Timur (Tamerlan) + from Asia heading a big Army of Belarusians, + Lithuanians. + + + + + + + + $3200 + + per week + + + + + + + + + + + + admin templates + + + + + + + + + Can I use CSS3 Radial-Gradient? + {" "} + + + Minsk, NY 20188 + + + Yes you can! Further more, you should! It let's you + create really beautiful images either for elements or + for the entire background. + + + + + + + + $2400 + + per week + + + + + + + + + + + + + + + + ); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/search/package.json b/react-material-admin-master/src/pages/search/package.json new file mode 100644 index 0000000..eb5b3a8 --- /dev/null +++ b/react-material-admin-master/src/pages/search/package.json @@ -0,0 +1,7 @@ +{ + "name": "search", + "version": "1.0.0", + "main": "Search.js", + "author": "", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/search/styles.js b/react-material-admin-master/src/pages/search/styles.js new file mode 100644 index 0000000..12f677d --- /dev/null +++ b/react-material-admin-master/src/pages/search/styles.js @@ -0,0 +1,15 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(() => ({ + filter: { + width: 130, + }, + adjustRightBorderRadius: { + borderTopRightRadius: 0, + borderBottomRightRadius: 0, + }, + adjustLeftBorderRadius: { + borderTopLeftRadius: 0, + borderBottomLeftRadius: 0, + }, +})); diff --git a/react-material-admin-master/src/pages/starter/Starter.js b/react-material-admin-master/src/pages/starter/Starter.js new file mode 100644 index 0000000..fd7930c --- /dev/null +++ b/react-material-admin-master/src/pages/starter/Starter.js @@ -0,0 +1,78 @@ +import { Link } from 'react-router-dom'; + +// styles +import useStyles from './styles'; +import reactLogo from '../../images/react-logo.svg'; + +import { Button } from '../../components/Wrappers'; + +function Starter() { + let classes = useStyles(); + + return ( +
+
+ react +

+ Welcome to your React Material Admin Full application! +

+

+ This is a React/Node.JS app generated by the{' '} + + Flatlogic Web App Generator + + . For guides and documentation please check your local README.md and{' '} + + Flatlogic documentation + + . +

+
+ +
+
+
More useful links
+ + + + +
+
+
+ ); +} + +export default Starter; diff --git a/react-material-admin-master/src/pages/starter/package.json b/react-material-admin-master/src/pages/starter/package.json new file mode 100644 index 0000000..98dc4a4 --- /dev/null +++ b/react-material-admin-master/src/pages/starter/package.json @@ -0,0 +1,6 @@ +{ + "name": "Starter", + "version": "0.0.0", + "main": "Starter.js", + "private": true +} diff --git a/react-material-admin-master/src/pages/starter/styles.js b/react-material-admin-master/src/pages/starter/styles.js new file mode 100644 index 0000000..02ce951 --- /dev/null +++ b/react-material-admin-master/src/pages/starter/styles.js @@ -0,0 +1,78 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles(() => ({ + container: { + height: '100vh', + width: '100%', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + position: 'absolute', + top: 0, + left: 0, + }, + root: { + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + }, + starterBlock: { + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'center', + margin: '100px auto', + padding: '24px', + width: '720px', + borderRadius: '8px', + h3: { + textAlign: 'center', + }, + p: { + textAlign: 'center', + }, + + '@media (max-width: 767.98px)': { + width: '520px', + img: { + width: '250px', + height: '250px', + }, + }, + '@media (max-width: 575.98px)': { + width: '340px', + img: { + width: '150px', + height: '150px', + }, + }, + }, + + img: { + margin: '20px auto', + width: '350px', + height: '350px', + }, + + buttons: { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + width: '100%', + }, + a: { + width: '100%', + }, + leftButton: { + width: '100%', + }, + rightButton: { + width: '100%', + marginLeft: '16px', + }, + links: { + display: 'flex', + flexDirection: 'column', + marginTop: '1rem', + }, +})); diff --git a/react-material-admin-master/src/pages/tables/Tables.js b/react-material-admin-master/src/pages/tables/Tables.js new file mode 100644 index 0000000..73e9a50 --- /dev/null +++ b/react-material-admin-master/src/pages/tables/Tables.js @@ -0,0 +1,77 @@ +import { Grid } from "@mui/material"; +import { DataGrid } from "@mui/x-data-grid"; +import useStyles from "./styles"; + +// components +import Widget from "../../components/Widget"; +import Table from "../dashboard/components/Table/Table"; + +// data +import mock from "../dashboard/mock"; + +const datatableData = [ +["Joe James", "Example Inc.", "Yonkers", "NY"], +["John Walsh", "Example Inc.", "Hartford", "CT"], +["Bob Herm", "Example Inc.", "Tampa", "FL"], +["James Houston", "Example Inc.", "Dallas", "TX"], +["Prabhakar Linwood", "Example Inc.", "Hartford", "CT"], +["Kaui Ignace", "Example Inc.", "Yonkers", "NY"], +["Esperanza Susanne", "Example Inc.", "Hartford", "CT"], +["Christian Birgitte", "Example Inc.", "Tampa", "FL"], +["Meral Elias", "Example Inc.", "Hartford", "CT"], +["Deep Pau", "Example Inc.", "Yonkers", "NY"], +["Sebastiana Hani", "Example Inc.", "Dallas", "TX"], +["Marciano Oihana", "Example Inc.", "Yonkers", "NY"], +["Brigid Ankur", "Example Inc.", "Dallas", "TX"], +["Anna Siranush", "Example Inc.", "Yonkers", "NY"], +["Avram Sylva", "Example Inc.", "Hartford", "CT"], +["Serafima Babatunde", "Example Inc.", "Tampa", "FL"], +["Gaston Festus", "Example Inc.", "Tampa", "FL"]]; + + +const columns = [ +{ field: "name", headerName: "Name", flex: 1 }, +{ field: "company", headerName: "Company", flex: 1 }, +{ field: "city", headerName: "City", flex: 1 }, +{ field: "state", headerName: "State", flex: 0.6 }]; + + +const rows = datatableData.map((row, index) => ({ + id: index + 1, + name: row[0], + company: row[1], + city: row[2], + state: row[3] +})); + +export default function Tables() { + const classes = useStyles(); + return ( + <> + + +
+ + +
+
+ + + + + + + + ); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/tables/dynamic/DynamicTables.js b/react-material-admin-master/src/pages/tables/dynamic/DynamicTables.js new file mode 100644 index 0000000..188ed2c --- /dev/null +++ b/react-material-admin-master/src/pages/tables/dynamic/DynamicTables.js @@ -0,0 +1,604 @@ +import React from "react"; +import { makeStyles, useTheme } from "styles/mui"; +import { lighten } from "@mui/material/styles"; +import { + Table, + TableBody, + TableCell, + TableHead, + TablePagination, + TableRow, + TableSortLabel, + Toolbar, + Checkbox, + IconButton, + Grid, + TableFooter } from +"@mui/material"; +import { + Delete as DeleteIcon, + FilterList as FilterListIcon, + LastPage as LastPageIcon, + FirstPage as FirstPageIcon, + KeyboardArrowRight, + KeyboardArrowLeft } from +"@mui/icons-material"; +import cn from "classnames"; + +//components +import Widget from "../../../components/Widget"; +import Code from "../../../components/Code"; +import { Tooltip, Typography } from "../../../components/Wrappers"; + +const useStyles1 = makeStyles((theme) => ({ + root: { + flexShrink: 0, + color: theme.palette.text.secondary, + marginLeft: theme.spacing(2.5) + } +})); + +function TablePaginationActions(props) { + const classes = useStyles1(); + const theme = useTheme(); + const { count, page, rowsPerPage, onPageChange } = props; + + function handleFirstPageButtonClick(event) { + onPageChange(event, 0); + } + + function handleBackButtonClick(event) { + onPageChange(event, page - 1); + } + + function handleNextButtonClick(event) { + onPageChange(event, page + 1); + } + + function handleLastPageButtonClick(event) { + onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1)); + } + + return ( +
+ + + {theme.direction === "rtl" ? : } + + + + {theme.direction === "rtl" ? + : + + + } + + = Math.ceil(count / rowsPerPage) - 1} + aria-label="next page"> + + {theme.direction === "rtl" ? + : + + + } + + = Math.ceil(count / rowsPerPage) - 1} + aria-label="last page"> + + {theme.direction === "rtl" ? : } + +
); + +} + +const rows2 = [ +createData("Cupcake", 305, 3.7), +createData("Donut", 452, 25.0), +createData("Eclair", 262, 16.0), +createData("Frozen yoghurt", 159, 6.0), +createData("Gingerbread", 356, 16.0), +createData("Honeycomb", 408, 3.2), +createData("Ice cream sandwich", 237, 9.0), +createData("Jelly Bean", 375, 0.0), +createData("KitKat", 518, 26.0), +createData("Lollipop", 392, 0.2), +createData("Marshmallow", 318, 0), +createData("Nougat", 360, 19.0), +createData("Oreo", 437, 18.0)] +.sort((a, b) => a.calories < b.calories ? -1 : 1); + +function createData(name, calories, fat, carbs, protein) { + return { name, calories, fat, carbs, protein }; +} + +const rows = [ +createData("Cupcake", 305, 3.7, 67, 4.3), +createData("Donut", 452, 25.0, 51, 4.9), +createData("Eclair", 262, 16.0, 24, 6.0), +createData("Frozen yoghurt", 159, 6.0, 24, 4.0), +createData("Gingerbread", 356, 16.0, 49, 3.9), +createData("Honeycomb", 408, 3.2, 87, 6.5), +createData("Ice cream sandwich", 237, 9.0, 37, 4.3), +createData("Jelly Bean", 375, 0.0, 94, 0.0), +createData("KitKat", 518, 26.0, 65, 7.0), +createData("Lollipop", 392, 0.2, 98, 0.0), +createData("Marshmallow", 318, 0, 81, 2.0), +createData("Nougat", 360, 19.0, 9, 37.0), +createData("Oreo", 437, 18.0, 63, 4.0)]; + + +function desc(a, b, orderBy) { + if (b[orderBy] < a[orderBy]) { + return -1; + } + if (b[orderBy] > a[orderBy]) { + return 1; + } + return 0; +} + +function stableSort(array, cmp) { + const stabilizedThis = array.map((el, index) => [el, index]); + stabilizedThis.sort((a, b) => { + const order = cmp(a[0], b[0]); + if (order !== 0) return order; + return a[1] - b[1]; + }); + return stabilizedThis.map((el) => el[0]); +} + +function getSorting(order, orderBy) { + return order === "desc" ? + (a, b) => desc(a, b, orderBy) : + (a, b) => -desc(a, b, orderBy); +} + +const headCells = [ +{ + id: "name", + numeric: false, + disablePadding: true, + label: "Dessert (100g serving)" +}, +{ id: "calories", numeric: true, disablePadding: false, label: "Calories" }, +{ id: "fat", numeric: true, disablePadding: false, label: "Fat (g)" }, +{ id: "carbs", numeric: true, disablePadding: false, label: "Carbs (g)" }, +{ id: "protein", numeric: true, disablePadding: false, label: "Protein (g)" }]; + + +function EnhancedTableHead(props) { + const { + classes, + onSelectAllClick, + order, + orderBy, + numSelected, + rowCount, + onRequestSort + } = props; + const createSortHandler = (property) => (event) => { + onRequestSort(event, property); + }; + + return ( + + + + 0 && numSelected < rowCount} + checked={numSelected === rowCount} + onChange={onSelectAllClick} + inputProps={{ "aria-label": "select all desserts" }} /> + + + {headCells.map((headCell) => + + + + + {headCell.label} + {orderBy === headCell.id ? + + {order === "desc" ? "sorted descending" : "sorted ascending"} + : + null} + + + )} + + ); + +} + +const useToolbarStyles = makeStyles((theme) => ({ + root: { + paddingLeft: theme.spacing(2), + paddingRight: theme.spacing(1), + marginTop: theme.spacing(3) + }, + highlight: + theme.palette.mode === "light" ? + { + color: theme.palette.secondary.main, + backgroundColor: lighten(theme.palette.secondary.light, 0.85) + } : + { + color: theme.palette.text.primary, + backgroundColor: theme.palette.secondary.dark + }, + spacer: { + flex: "1 1 100%" + }, + actions: { + color: theme.palette.text.secondary + }, + title: { + flex: "0 0 auto" + } +})); + +const useStyles2 = makeStyles((theme) => ({ + root: { + width: "100%", + marginTop: theme.spacing(3) + }, + table: { + minWidth: 500 + }, + tableWrapper: { + overflowX: "auto", + marginTop: theme.spacing(3) + } +})); + +const EnhancedTableToolbar = (props) => { + const classes = useToolbarStyles(); + const { numSelected } = props; + + return ( + 0 + })}> + +
+ {numSelected > 0 ? + + {numSelected} selected + : + + + Nutrition + + } +
+
+
+ {numSelected > 0 ? + + + + + : + + + + + + + } +
+ ); + +}; + +const useStyles = makeStyles((theme) => ({ + root: { + width: "100%", + marginTop: theme.spacing(3) + }, + paper: { + width: "100%", + marginBottom: theme.spacing(2) + }, + table: { + minWidth: 750 + }, + tableWrapper: { + overflowX: "auto" + }, + visuallyHidden: { + border: 0, + clip: "rect(0 0 0 0)", + height: 1, + margin: -1, + overflow: "hidden", + padding: 0, + position: "absolute", + top: 20, + width: 1 + } +})); + +export default function EnhancedTable() { + const classes2 = useStyles2(); + const [page2, setPage2] = React.useState(0); + const [rowsPerPage2, setRowsPerPage2] = React.useState(5); + + const emptyRows2 = + rowsPerPage2 - Math.min(rowsPerPage2, rows2.length - page2 * rowsPerPage2); + + function handleChangePage2(event, newPage) { + setPage2(newPage); + } + + function handleChangeRowsPerPage2(event) { + setRowsPerPage2(parseInt(event.target.value, 10)); + setPage2(0); + } + const classes = useStyles(); + const [order, setOrder] = React.useState("asc"); + const [orderBy, setOrderBy] = React.useState("calories"); + const [selected, setSelected] = React.useState([]); + const [page, setPage] = React.useState(0); + const [rowsPerPage, setRowsPerPage] = React.useState(5); + + function handleRequestSort(event, property) { + const isDesc = orderBy === property && order === "desc"; + setOrder(isDesc ? "asc" : "desc"); + setOrderBy(property); + } + + function handleSelectAllClick(event) { + if (event.target.checked) { + const newSelecteds = rows.map((n) => n.name); + setSelected(newSelecteds); + return; + } + setSelected([]); + } + + function handleClick(event, name) { + const selectedIndex = selected.indexOf(name); + let newSelected = []; + + if (selectedIndex === -1) { + newSelected = newSelected.concat(selected, name); + } else if (selectedIndex === 0) { + newSelected = newSelected.concat(selected.slice(1)); + } else if (selectedIndex === selected.length - 1) { + newSelected = newSelected.concat(selected.slice(0, -1)); + } else if (selectedIndex > 0) { + newSelected = newSelected.concat( + selected.slice(0, selectedIndex), + selected.slice(selectedIndex + 1) + ); + } + + setSelected(newSelected); + } + + function handleChangePage(event, newPage) { + setPage(newPage); + } + + function handleChangeRowsPerPage(event) { + setRowsPerPage(+event.target.value); + setPage(0); + } + + const isSelected = (name) => selected.indexOf(name) !== -1; + + const emptyRows = + rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage); + + return ( + <> + + + + + This example demonstrates the use of{" "} + {`Checkbox`} and clickable rows for + selection, with a custom {`Toolbar`}. It + uses the {`TableSortLabel1`} + component to help style column headings. + + +
+
+ + + + + {stableSort(rows, getSorting(order, orderBy)) + .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) + .map((row, index) => { + const isItemSelected = isSelected(row.name); + const labelId = `enhanced-table-checkbox-${index}`; + + return ( + handleClick(event, row.name)} + role="checkbox" + aria-checked={isItemSelected} + tabIndex={-1} + key={row.name} + selected={isItemSelected}> + + + + + + + + {row.name} + + {row.calories} + {row.fat} + {row.carbs} + {row.protein} + ); + + })} + {emptyRows > 0 && + + + + } + +
+
+ + + + + + + + The {`Action`} property of the{" "} + {`TablePagination`} component allows the + implementation of custom actions. + +
+ + + {rows2 + .slice( + page2 * rowsPerPage2, + page2 * rowsPerPage2 + rowsPerPage2 + ) + .map((row) => + + {row.name} + {row.calories} + {row.fat} + + )} + + {emptyRows2 > 0 && +
+
+ + {rows2 + .slice( + page2 * rowsPerPage2, + page2 * rowsPerPage2 + rowsPerPage2 + ) + .map((row) => + + + {row.name} + + + {row.calories} + + {row.fat} + + )} + + {emptyRows2 > 0 && + + + + } + + + + + + + +
+
&& + + + + + } + + + + + + + + +
+ + + + ); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/tables/dynamic/package.json b/react-material-admin-master/src/pages/tables/dynamic/package.json new file mode 100644 index 0000000..283a89a --- /dev/null +++ b/react-material-admin-master/src/pages/tables/dynamic/package.json @@ -0,0 +1,6 @@ +{ + "name": "dynamic", + "version": "1.0.0", + "main": "DynamicTables.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/tables/package.json b/react-material-admin-master/src/pages/tables/package.json new file mode 100644 index 0000000..f97390f --- /dev/null +++ b/react-material-admin-master/src/pages/tables/package.json @@ -0,0 +1,6 @@ +{ + "name": "Tables", + "version": "0.0.0", + "main": "Tables.js", + "private": true +} diff --git a/react-material-admin-master/src/pages/tables/styles.js b/react-material-admin-master/src/pages/tables/styles.js new file mode 100644 index 0000000..71b2e89 --- /dev/null +++ b/react-material-admin-master/src/pages/tables/styles.js @@ -0,0 +1,7 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(() => ({ + tableWrapper: { + overflowX: "auto" + } +})); diff --git a/react-material-admin-master/src/pages/tabs/Tabs.js b/react-material-admin-master/src/pages/tabs/Tabs.js new file mode 100644 index 0000000..f7ca8ec --- /dev/null +++ b/react-material-admin-master/src/pages/tabs/Tabs.js @@ -0,0 +1,284 @@ +import React from "react"; +import { + Grid, + Box, + Tabs, + Tab, + Accordion, + AccordionSummary, + AccordionDetails, + AppBar } from +"@mui/material"; +import { + Phone as PhoneIcon, + ExpandMore as ExpandMoreIcon } from +"@mui/icons-material"; + +// components +import Widget from "../../components/Widget"; +import { Typography, Button } from "../../components/Wrappers"; +import useStyles from "./styles"; + +function TabPanel(props) { + const { children, value, index, ...other } = props; + + return ( + ); + +} + +function a11yProps(index) { + return { + id: `full-width-tab-${index}`, + "aria-controls": `full-width-tabpanel-${index}` + }; +} + +export default function TabsComp() { + const classes = useStyles(); + const [value, setValue] = React.useState(0); + const [iconValue, setIconValue] = React.useState(0); + + function handleChange(event, newValue) { + setValue(newValue); + } + + function handleChangeIconTab(event, newValue) { + setIconValue(newValue); + } + + return ( +
+ + + + + + + + + + + + + Tabs-enabled widget You will never know exactly how something + will go until you try it. You can think three hundred times and + still have no precise result. If you see attractive girl all you + need to do is to go and ask her to give you her phone. You don’t + need to think about HOW it can turn out. All you have to do is + to GO and DO IT. It should be super-fast and easy. No + hesitation. You ask me: “What to do with these fearful thoughts + preventing me from doing that?” The answer is to ignore them, + because they can’t disappear immediately. The same thing is for + startups and ideas. If you have an idea right away after it + appears in your mind you should go and make a first step to + implement it. + + + + + + + + + + + Why don't use Lore Ipsum? I think if some one says don't use + lore ipsum it's very controversial point. I think the opposite + actually. Everyone knows what is lore ipsum - it is easy to + understand if text is lore ipsum. + + + If you will think too much it will sink in the swamp of never + implemented plans and ideas or will just go away or will be + implemented by someone else. 5 months of doing everything to + achieve nothing. You'll automatically skip - because you know - + it's just non-informative stub. But what if there some text like + this one? + + + + + + + + + + } {...a11yProps(0)} /> + } {...a11yProps(1)} /> + } + {...a11yProps(2)} /> + + + + + Tabs-enabled widget You will never know exactly how something + will go until you try it. You can think three hundred times and + still have no precise result. If you see attractive girl all you + need to do is to go and ask her to give you her phone. You don’t + need to think about HOW it can turn out. All you have to do is + to GO and DO IT. It should be super-fast and easy. No + hesitation. You ask me: “What to do with these fearful thoughts + preventing me from doing that?” The answer is to ignore them, + because they can’t disappear immediately. The same thing is for + startups and ideas. If you have an idea right away after it + appears in your mind you should go and make a first step to + implement it. + + + + + + + + + + + Why don't use Lore Ipsum? I think if some one says don't use + lore ipsum it's very controversial point. I think the opposite + actually. Everyone knows what is lore ipsum - it is easy to + understand if text is lore ipsum. + + + If you will think too much it will sink in the swamp of never + implemented plans and ideas or will just go away or will be + implemented by someone else. 5 months of doing everything to + achieve nothing. You'll automatically skip - because you know - + it's just non-informative stub. But what if there some text like + this one? + + + + + + + + } + aria-controls="panel1a-content" + id="panel1a-header"> + + Expansion Panel 1 + + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse malesuada lacus ex, sit amet blandit leo lobortis + eget. + + + + + } + aria-controls="panel2a-content" + id="panel2a-header"> + + Expansion Panel 2 + + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse malesuada lacus ex, sit amet blandit leo lobortis + eget. + + + + + } + aria-controls="panel3a-content" + id="panel3a-header"> + + Disabled Expansion Panel + + + + + + + + + } + aria-controls="panel1a-content" + id="panel1a-header"> + + Expansion Panel 1 + + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse malesuada lacus ex, sit amet blandit leo lobortis + eget. + + + + + } + aria-controls="panel2a-content" + id="panel2a-header"> + + Expansion Panel 2 + + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse malesuada lacus ex, sit amet blandit leo lobortis + eget. + + + + + } + aria-controls="panel3a-content" + id="panel3a-header"> + + Disabled Expansion Panel + + + + + +
); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/tabs/package.json b/react-material-admin-master/src/pages/tabs/package.json new file mode 100644 index 0000000..c6ce0fd --- /dev/null +++ b/react-material-admin-master/src/pages/tabs/package.json @@ -0,0 +1,6 @@ +{ + "name": "Tabs", + "version": "1.0.0", + "main": "Tabs.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/tabs/styles.js b/react-material-admin-master/src/pages/tabs/styles.js new file mode 100644 index 0000000..e2c4734 --- /dev/null +++ b/react-material-admin-master/src/pages/tabs/styles.js @@ -0,0 +1,10 @@ +import { makeStyles } from 'styles/mui'; + +export default makeStyles(theme => ( + { + expansion: { + backgroundColor: theme.palette.primary.light, + color: 'white ' + } + } +)) \ No newline at end of file diff --git a/react-material-admin-master/src/pages/tabs/yarn.lock b/react-material-admin-master/src/pages/tabs/yarn.lock new file mode 100644 index 0000000..5fca6e8 --- /dev/null +++ b/react-material-admin-master/src/pages/tabs/yarn.lock @@ -0,0 +1,174 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/runtime@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c" + dependencies: + regenerator-runtime "^0.12.0" + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.2.0": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" + dependencies: + regenerator-runtime "^0.13.2" + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + +dom-helpers@^3.2.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" + dependencies: + "@babel/runtime" "^7.1.2" + +encoding@^0.1.11: + version "0.1.12" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + dependencies: + iconv-lite "~0.4.13" + +fbjs@^0.8.4: + version "0.8.17" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + +iconv-lite@~0.4.13: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +is-stream@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + +keycode@^2.1.7: + version "2.2.0" + resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04" + +loose-envify@^1.0.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + dependencies: + asap "~2.0.3" + +prop-types@^15.5.4, prop-types@^15.6.0: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + +react-event-listener@^0.6.0: + version "0.6.6" + resolved "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.6.6.tgz#758f7b991cad9086dd39fd29fad72127e1d8962a" + dependencies: + "@babel/runtime" "^7.2.0" + prop-types "^15.6.0" + warning "^4.0.1" + +react-is@^16.8.1: + version "16.9.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" + +react-swipeable-views-core@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/react-swipeable-views-core/-/react-swipeable-views-core-0.13.1.tgz#8829a922462a8bdd701709cd1b385393d38f1527" + dependencies: + "@babel/runtime" "7.0.0" + warning "^4.0.1" + +react-swipeable-views-utils@^0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/react-swipeable-views-utils/-/react-swipeable-views-utils-0.13.3.tgz#c234d8d836bb085803631a9fef0adb2f9597221f" + dependencies: + "@babel/runtime" "7.0.0" + fbjs "^0.8.4" + keycode "^2.1.7" + prop-types "^15.6.0" + react-event-listener "^0.6.0" + react-swipeable-views-core "^0.13.1" + +react-swipeable-views@^0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/react-swipeable-views/-/react-swipeable-views-0.13.3.tgz#2ad886767c6b2de88000606a14bedde12156e6d0" + dependencies: + "@babel/runtime" "7.0.0" + dom-helpers "^3.2.1" + prop-types "^15.5.4" + react-swipeable-views-core "^0.13.1" + react-swipeable-views-utils "^0.13.3" + warning "^4.0.1" + +regenerator-runtime@^0.12.0: + version "0.12.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" + +regenerator-runtime@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +ua-parser-js@^0.7.18: + version "0.7.20" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz#7527178b82f6a62a0f243d1f94fd30e3e3c21098" + +warning@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + dependencies: + loose-envify "^1.0.0" + +whatwg-fetch@>=0.10.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" diff --git a/react-material-admin-master/src/pages/timeline/Timeline.js b/react-material-admin-master/src/pages/timeline/Timeline.js new file mode 100644 index 0000000..90cd0b5 --- /dev/null +++ b/react-material-admin-master/src/pages/timeline/Timeline.js @@ -0,0 +1,387 @@ +import React from "react"; +import { + Grid, + Box, + IconButton, + Divider, + Collapse, + CardContent, + TextField as Input } from +"@mui/material"; +import { Navigation as NavigationIcon } from "@mui/icons-material"; +import { + Favorite as LikeIcon, + Chat as CommentsIcon, + ChatBubble as ChatIcon, + FreeBreakfast as BreakfastIcon } from +"@mui/icons-material"; +import useStyles from "./styles"; + +//images +import img1 from "../../images/timeline/a2.jpg"; +import img2 from "../../images/timeline/a3.jpg"; +import img3 from "../../images/timeline/profile.jpg"; +import img4 from "../../images/timeline/a4.jpg"; +import img5 from "../../images/timeline/a1.jpg"; +import mountains from "../../images/timeline/mountains.jpeg"; + +//components +import { Typography, Avatar, Link, Button } from "../../components/Wrappers"; +import { Annotation, Timestep, Circle } from "../../components/Timeline"; +import Widget from "../../components/Widget"; + +// const BasicMap = withScriptjs( +// withGoogleMap(() => ( +// +// +// +// )) +// ); + +export default function TimelineComp() { + const classes = useStyles(); + const [expanded, setExpanded] = React.useState(false); + + const handleExpandClick = () => { + setExpanded(!expanded); + }; + return ( + <> + + + + + + + + + + + + + Jessica Nilson @jess + + + 10:12 am - Publicly near Minsk + + + + {/**/} + {/* */} + {/* }*/} + {/* containerElement={*/} + {/* */} + {/* }*/} + {/* mapElement={
}*/} + {/* />*/} + {/**/} + + + + + + + + + + + + + + + + Jessica Nilson + {" "} + + + 7 mins ago + + + + Someone said they were the best people out there just + few years ago. Don't know better options. + + + + + + + + + + + Ignacio Abad + {" "} + + + 6 mins ago + + + + True. Heard absolutely the same. + + + + + + + P + + + + + + + + + + + + + + + + + + + + + + + + + + Bob Nilson + {" "} + @nils + + + February 22, 2014 at 01:59 PM + + + + + There is no such thing as maturity. There is instead an + ever-evolving process of maturing. Because when there is a + maturity, there is ... + + + + + + + + + + + + + + + + + + + + + + Jessica Smith @jess + + + February 22, 2014 at 01:59 PM + + + + Check out this awesome photo I made in Italy last + summer. Seems it was lost somewhere deep inside my + brand new HDD 40TB. Thanks god I found it! + + + + + + mountains + + + + + + + + + + + + + + + + + + + + + + + Ignacio Abad + {" "} + + + 6 mins ago + + + + Hey, have you heard anything about that? + + + + + + + P + + + + + + + + + + + + + + + J + + + + + + + + + Jessica Smith + {" "} + @jess + + + 9:03 am - Publicly near Minsk + + + + + + New Project Launch + + + Let's try something different this time. Hey, do you + wanna join us tonight? We're planning to a launch a new + project soon. Want to discuss with all of you... + + + + + + + + Finished her are its honoured drawings nor. Pretty + see mutual thrown all not edward ten. Particular an + boisterous up he reasonably frequently. Several any + had enjoyed shewing studied two. Up intention + remainder sportsmen behaviour ye happiness. Few + again any alone style added abode ask. Nay + projecting unpleasing boisterous eat discovered + solicitude. Own six moments produce elderly pasture + far arrival. Hold our year they ten upon. Gentleman + contained so intention sweetness in on resolving. + + + Finished her are its honoured drawings nor. Pretty + see mutual thrown all not edward ten. Particular an + boisterous up he reasonably frequently. Several any + had enjoyed shewing studied two. Up intention + remainder sportsmen behaviour ye happiness. Few + again any alone style added abode ask. Nay + projecting unpleasing boisterous eat discovered + solicitude. Own six moments produce elderly pasture + far arrival. Hold our year they ten upon. Gentleman + contained so intention sweetness in on resolving. + + + Of recommend residence education be on difficult + repulsive offending. Judge views had mirth table + seems great him for her. + + + + + + + + + + + + + + + + + + + + ); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/timeline/package.json b/react-material-admin-master/src/pages/timeline/package.json new file mode 100644 index 0000000..cbe96b2 --- /dev/null +++ b/react-material-admin-master/src/pages/timeline/package.json @@ -0,0 +1,6 @@ +{ + "name": "timeline", + "version": "1.0.0", + "main": "Timeline.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/timeline/styles.js b/react-material-admin-master/src/pages/timeline/styles.js new file mode 100644 index 0000000..e705405 --- /dev/null +++ b/react-material-admin-master/src/pages/timeline/styles.js @@ -0,0 +1,16 @@ +import { makeStyles } from 'styles/mui' + +export default makeStyles(theme => ({ + icon: { + fontSize: theme.spacing(2) + }, + divider: { + margin: `0px -${theme.spacing(3)}px` + }, + wrapper: { + "& > *": { paddingTop: theme.spacing(5) }, + "& > :first-child": { + paddingTop: 0, + }, + } +})) \ No newline at end of file diff --git a/react-material-admin-master/src/pages/tooltips/Tooltips.js b/react-material-admin-master/src/pages/tooltips/Tooltips.js new file mode 100644 index 0000000..7ec3926 --- /dev/null +++ b/react-material-admin-master/src/pages/tooltips/Tooltips.js @@ -0,0 +1,560 @@ +import React from "react"; +import { + Grid, + Box, + ClickAwayListener, + Popover, + Button as ButtonNative } from +"@mui/material"; +import cn from "classnames"; + +// components +import Widget from "../../components/Widget"; +import { Tooltip, Typography } from "../../components/Wrappers"; +import useStyles from "./styles"; + +const reducer = (state, action) => { + switch (action.type) { + case "OPEN_TOOLTIP": + return { + ...state, + tooltipOpened: true + }; + case "CLOSE_TOOLTIP": + return { + ...state, + tooltipOpened: false + }; + case "OPEN_POPOVER": + return { + ...state, + togglePopover: true, + popoverSibling: action.setSibling + }; + case "CLOSE_POPOVER": + return { + ...state, + togglePopover: false, + popoverSibling: null + }; + case "OPEN_HOVER_POPOVER": + return { + ...state, + toggleHoverPopover: true, + hoverPopoverSibling: action.setHoverPopoverSibling + }; + case "CLOSE_HOVER_POPOVER": + return { + ...state, + toggleHoverPopover: false, + hoverPopoverSibling: null + }; + case "OPEN_TOP_TOOLTIP": + return { + ...state, + toggleTopTooltip: true + }; + case "CLOSE_TOP_TOOLTIP": + return { + ...state, + toggleTopTooltip: false + }; + case "OPEN_RIGHT_TOOLTIP": + return { + ...state, + toggleRightTooltip: true + }; + case "CLOSE_RIGHT_TOOLTIP": + return { + ...state, + toggleRightTooltip: false + }; + case "OPEN_BOTTOM_TOOLTIP": + return { + ...state, + toggleBottomTooltip: true + }; + case "CLOSE_BOTTOM_TOOLTIP": + return { + ...state, + toggleBottomTooltip: false + }; + case "OPEN_LEFT_TOOLTIP": + return { + ...state, + toggleLeftTooltip: true + }; + case "CLOSE_LEFT_TOOLTIP": + return { + ...state, + toggleLeftTooltip: false + }; + case "OPEN_TOP_POPOVER": + return { + ...state, + toggleTopPopover: true, + topPopoverSibling: action.setTopPopoverSibling + }; + case "CLOSE_TOP_POPOVER": + return { + ...state, + toggleTopPopover: false, + topPopoverSibling: null + }; + case "OPEN_RIGHT_POPOVER": + return { + ...state, + toggleRightPopover: true, + rightPopoverSibling: action.setRightPopoverSibling + }; + case "CLOSE_RIGHT_POPOVER": + return { + ...state, + toggleRightPopover: false, + rightPopoverSibling: null + }; + case "OPEN_BOTTOM_POPOVER": + return { + ...state, + toggleBottomPopover: true, + bottomPopoverSibling: action.setBottomPopoverSibling + }; + case "CLOSE_BOTTOM_POPOVER": + return { + ...state, + toggleBottomPopover: false, + bottomPopoverSibling: null + }; + case "OPEN_LEFT_POPOVER": + return { + ...state, + toggleLeftPopover: true, + leftPopoverSibling: action.setLeftPopoverSibling + }; + case "CLOSE_LEFT_POPOVER": + return { + ...state, + toggleLeftPopover: false, + leftPopoverSibling: null + }; + default: + return {}; + } +}; + +export default function TooltipsComp() { + const classes = useStyles(); + const [state, dispatch] = React.useReducer(reducer, false); + + return ( +
+ + + + + + dispatch({ type: "CLOSE_TOOLTIP" })}> + +
+ dispatch({ type: "CLOSE_TOOLTIP" })} + open={state.tooltipOpened || false} + disableFocusListener + disableHoverListener + disableTouchListener + title="Add"> + + dispatch({ type: "OPEN_TOOLTIP" })} + className={cn(classes.button, classes.buttonWhite)}> + + Click to toggle a tooltip + + +
+
+ + + + + Hover to toggle a tooltip + + +
+
+
+
+ + + + + {" "} + + + + dispatch({ + type: "OPEN_POPOVER", + setSibling: e.currentTarget + }) + }> + + Open Popover + + dispatch({ type: "CLOSE_POPOVER" })} + anchorOrigin={{ + vertical: "bottom", + horizontal: "center" + }} + transformOrigin={{ + vertical: "top", + horizontal: "center" + }}> + + + The content of the Popover. + + + + + + dispatch({ + type: "OPEN_HOVER_POPOVER", + setHoverPopoverSibling: e.currentTarget + }) + } + onMouseLeave={() => + dispatch({ type: "CLOSE_HOVER_POPOVER" }) + }> + + Hover with a Popover. + + dispatch({ type: "CLOSE_HOVER_POPOVER" })} + disableRestoreFocus> + + + I use Popover. + + + + + + + + + + + dispatch({ type: "CLOSE_TOP_TOOLTIP" })}> + +
+ dispatch({ type: "CLOSE_TOP_TOOLTIP" })} + open={state.toggleTopTooltip || false} + disableFocusListener + disableHoverListener + disableTouchListener + title="Add"> + + dispatch({ type: "OPEN_TOP_TOOLTIP" })} + className={cn(classes.button, classes.buttonWhite)}> + + Tooltip on top + + +
+
+ dispatch({ type: "CLOSE_RIGHT_TOOLTIP" })}> + +
+ dispatch({ type: "CLOSE_RIGHT_TOOLTIP" })} + open={state.toggleRightTooltip || false} + disableFocusListener + disableHoverListener + disableTouchListener + title="Add"> + + dispatch({ type: "OPEN_RIGHT_TOOLTIP" })} + className={cn(classes.button, classes.buttonWhite)}> + + Tooltip on right + + +
+
+ dispatch({ type: "CLOSE_BOTTOM_TOOLTIP" })}> + +
+ dispatch({ type: "CLOSE_BOTTOM_TOOLTIP" })} + open={state.toggleBottomTooltip || false} + disableFocusListener + disableHoverListener + disableTouchListener + title="Add"> + + dispatch({ type: "OPEN_BOTTOM_TOOLTIP" })} + className={cn(classes.button, classes.buttonWhite)}> + + Tooltip on bottom + + +
+
+ dispatch({ type: "CLOSE_LEFT_TOOLTIP" })}> + +
+ dispatch({ type: "CLOSE_LEFT_TOOLTIP" })} + open={state.toggleLeftTooltip || false} + disableFocusListener + disableHoverListener + disableTouchListener + title="Add"> + + dispatch({ type: "OPEN_LEFT_TOOLTIP" })} + className={cn(classes.button, classes.buttonWhite)}> + + Tooltip on left + + +
+
+
+
+
+ + + + {" "} + + + + dispatch({ + type: "OPEN_TOP_POPOVER", + setTopPopoverSibling: e.currentTarget + }) + }> + + Popover on top + + dispatch({ type: "CLOSE_TOP_POPOVER" })} + anchorOrigin={{ + vertical: "top", + horizontal: "center" + }} + transformOrigin={{ + vertical: "bottom", + horizontal: "center" + }}> + + + The content of the Popover. + + + + + + dispatch({ + type: "OPEN_RIGHT_POPOVER", + setRightPopoverSibling: e.currentTarget + }) + }> + + Popover on right + + dispatch({ type: "CLOSE_RIGHT_POPOVER" })} + anchorOrigin={{ + vertical: "center", + horizontal: "right" + }} + transformOrigin={{ + vertical: "center", + horizontal: "left" + }}> + + + The content of the Popover. + + + + + + dispatch({ + type: "OPEN_BOTTOM_POPOVER", + setBottomPopoverSibling: e.currentTarget + }) + }> + + Popover on bottom + + dispatch({ type: "CLOSE_BOTTOM_POPOVER" })} + anchorOrigin={{ + vertical: "bottom", + horizontal: "center" + }} + transformOrigin={{ + vertical: "top", + horizontal: "center" + }}> + + + The content of the Popover. + + + + + + dispatch({ + type: "OPEN_LEFT_POPOVER", + setLeftPopoverSibling: e.currentTarget + }) + }> + + Popover on left + + dispatch({ type: "CLOSE_LEFT_POPOVER" })} + anchorOrigin={{ + vertical: "center", + horizontal: "left" + }} + transformOrigin={{ + vertical: "center", + horizontal: "right" + }}> + + + The content of the Popover. + + + + + + + +
+
); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/tooltips/package.json b/react-material-admin-master/src/pages/tooltips/package.json new file mode 100644 index 0000000..f349440 --- /dev/null +++ b/react-material-admin-master/src/pages/tooltips/package.json @@ -0,0 +1,6 @@ +{ + "name": "Tooltips", + "version": "1.0.0", + "main": "Tooltips.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/tooltips/styles.js b/react-material-admin-master/src/pages/tooltips/styles.js new file mode 100644 index 0000000..a9d9b3c --- /dev/null +++ b/react-material-admin-master/src/pages/tooltips/styles.js @@ -0,0 +1,18 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + button: { + boxShadow: theme.customShadows.widget, + color: theme.palette.text.primary, + margin: theme.spacing(1), + "&:hover": { + boxShadow: theme.customShadows.widgetWide + } + }, + buttonWhite: { + color: "white" + }, + typography: { + padding: theme.spacing(2) + } +})); diff --git a/react-material-admin-master/src/pages/typography/Typography.js b/react-material-admin-master/src/pages/typography/Typography.js new file mode 100644 index 0000000..15e2c41 --- /dev/null +++ b/react-material-admin-master/src/pages/typography/Typography.js @@ -0,0 +1,125 @@ +import { Grid } from "@mui/material"; + +// styles +import useStyles from "./styles"; + +// components +import Widget from "../../components/Widget"; +import { Typography } from "../../components/Wrappers"; + +export default function TypographyPage() { + let classes = useStyles(); + + return ( + <> + + + +
+ + h1. Heading + + + h2. Heading + + + h3. Heading + + + h4. Heading + + + h5. Heading + + h6. Heading +
+
+
+ + +
+ + h1. Heading + + + h2. Heading + + + + h3. Heading + + + h4. Heading + + + + h5. Heading + + + h6. Heading + +
+
+
+ + +
+ Basic text + + Basic light text + + + Basic medium text + + + Basic bold text + + + BASIC UPPERCASE TEXT + + + basic lowercase text + + + Basic Capitalized Text + + + Basic Cursive Text + +
+
+
+ + +
+ + Heading Typography SM Font Size + + + Heading Typography Regular Font Size + + + Heading Typography MD Font Size + + + Heading Typography XL Font Size + + + Heading Typography XXL Font Size + +
+
+
+
+ ); + +} + +export { useStyles }; \ No newline at end of file diff --git a/react-material-admin-master/src/pages/typography/package.json b/react-material-admin-master/src/pages/typography/package.json new file mode 100644 index 0000000..4c3c7d1 --- /dev/null +++ b/react-material-admin-master/src/pages/typography/package.json @@ -0,0 +1,6 @@ +{ + "name": "Typography", + "version": "0.0.0", + "main": "Typography.js", + "private": true +} diff --git a/react-material-admin-master/src/pages/typography/styles.js b/react-material-admin-master/src/pages/typography/styles.js new file mode 100644 index 0000000..e1b3835 --- /dev/null +++ b/react-material-admin-master/src/pages/typography/styles.js @@ -0,0 +1,15 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + dashedBorder: { + border: "1px dashed", + borderColor: theme.palette.primary.main, + padding: theme.spacing(2), + paddingTop: theme.spacing(4), + paddingBottom: theme.spacing(4), + marginTop: theme.spacing(1), + }, + text: { + marginBottom: theme.spacing(2), + }, +})); diff --git a/react-material-admin-master/src/pages/user/AddUser.js b/react-material-admin-master/src/pages/user/AddUser.js new file mode 100644 index 0000000..bbc30f7 --- /dev/null +++ b/react-material-admin-master/src/pages/user/AddUser.js @@ -0,0 +1,601 @@ +import React from 'react'; +import Stepper from '@mui/material/Stepper'; +import Step from '@mui/material/Step'; +import StepLabel from '@mui/material/StepLabel'; +import Grid from '@mui/material/Grid'; +import Box from '@mui/material/Box'; +import TextField from '@mui/material/TextField'; +import FormControl from '@mui/material/FormControl'; +import InputLabel from '@mui/material/InputLabel'; +import Select from '@mui/material/Select'; +import MenuItem from '@mui/material/MenuItem'; +import FormHelperText from '@mui/material/FormHelperText'; +import { useNavigate } from 'react-router-dom'; +import useStyles from './styles'; +import { toast } from 'react-toastify'; +import Axios from 'axios'; +import config from '../../config'; +import uuid from 'uuid/v4'; + +import Notification from "../../components/Notification"; + +import { Button, Typography } from '../../components/Wrappers'; +import Widget from '../../components/Widget'; + +import { actions } from '../../context/ManagementContext'; +import { + useManagementDispatch } from +'../../context/ManagementContext'; + + +function getSteps() { + return ['Create Account', 'User Details', 'Business Details', 'Social']; +} + +function getStepContent(step) { + switch (step) { + case 0: + return 'Create New Account'; + case 1: + return 'Create User Details'; + case 2: + return 'Business Details'; + case 3: + return 'Social'; + default: + return ''; + } +} + +const AddUser = () => { + const [activeStep, setActiveStep] = React.useState(0); + const [skipped, setSkipped] = React.useState(new Set()); + const [newUser, setNewUser] = React.useState({ + avatars: [], + disabled: null, + email: '', + emailVerificationToken: null, + emailVerificationTokenExpiresAt: null, + emailVerified: true, + firstName: '', + fullName: '', + lastName: '', + password: null, + passwordResetToken: null, + passwordResetTokenExpiresAt: null, + phoneNumber: '', + role: 'user' + }); + function handleChange(e) { + setNewUser({ + ...newUser, + [e.target.name]: e.target.value + }); + } + const fileInput = React.useRef(null); + const steps = getSteps(); + const classes = useStyles(); + + function extractExtensionFrom(filename) { + if (!filename) { + return null; + } + + const regex = /(?:\.([^.]+))?$/; + return regex.exec(filename)[1]; + } + + const uploadToServer = async (file, path, filename) => { + const formData = new FormData(); + formData.append('file', file); + formData.append('filename', filename); + const uri = `${config.baseURLApi}/file/upload/${path}`; + await Axios.post(uri, formData, + { + headers: { + 'Content-Type': 'multipart/form-data' + } + } + ); + + const privateUrl = `${path}/${filename}`; + + return `${config.baseURLApi}/file/download?privateUrl=${privateUrl}`; + }; + + const handleFile = async (event) => { + const file = event.target.files[0]; + + const extension = extractExtensionFrom(file.name); + const id = uuid(); + const filename = `${id}.${extension}`; + const privateUrl = `users/avatar/${filename}`; + + const publicUrl = await uploadToServer( + file, + 'users/avatar', + filename + ); + let avatarObj = { + id: id, + name: file.name, + sizeInBytes: file.size, + privateUrl, + publicUrl, + new: true + }; + + setNewUser({ + ...newUser, + avatars: [...newUser.avatars, avatarObj] + }); + + return; + }; + const isStepSkipped = (step) => { + return skipped.has(step); + }; + + var managementDispatch = useManagementDispatch(); + const navigate = useNavigate(); + const doSubmit = (id, data) => { + actions.doCreate(data, navigate)(managementDispatch); + + }; + + const handleNext = () => { + let newSkipped = skipped; + if (isStepSkipped(activeStep)) { + newSkipped = new Set(newSkipped.values()); + newSkipped.delete(activeStep); + } + + setActiveStep((prevActiveStep) => prevActiveStep + 1); + setSkipped(newSkipped); + + if (activeStep === 3) { + doSubmit(null, newUser); + sendNotification(); + } + }; + + const handleBack = () => { + setActiveStep((prevActiveStep) => prevActiveStep - 1); + }; + + const deleteOneImage = (id) => { + setNewUser({ + ...newUser, + avatars: newUser.avatars.filter((avatar) => avatar.id !== id) + }); + }; + + function sendNotification() { + const componentProps = { + type: "feedback", + message: "User added!", + variant: "contained", + color: "success" + }; + const options = { + type: "info", + position: toast.POSITION.TOP_RIGHT, + progressClassName: classes.progress, + className: classes.notification, + timeOut: 1000 + }; + return toast( + , + + options + ); + } + return ( + + + + + {steps.map((label, index) => { + const stepProps = {}; + const labelProps = {}; + if (isStepSkipped(index)) { + stepProps.completed = false; + } + return ( + + + {label} + + ); + + })} + + + + + + + + + + + {getStepContent(activeStep)} + + {activeStep === 0 ? + <> + + + + + + + + + + Role + + + + + Please choose the role + + + : + activeStep === 1 ? + <> + + Photo: + +
+ {newUser && newUser.avatars && newUser.avatars.length !== 0 ? + newUser.avatars.map((avatar) => +
+ deleteOneImage(avatar.id)}>× + avatar + +
+ ) : + null} +
+ + + + .PNG, .JPG, .JPEG + + + + + + + + + + + + + Country + + + + + Choose your role + + + + + + State + + + + + Choose your state + + + + + + City + + + + + Choose your city + + + + + : + activeStep === 2 ? + <> + + + + + + + + + : + + <> + + + + + + + + + + + + + + } +
+
+ {activeStep === 0 ? + + + + : + + + + + + + } +
+
+
+
+
+
+
); + +}; + +export default AddUser; diff --git a/react-material-admin-master/src/pages/user/EditUser.js b/react-material-admin-master/src/pages/user/EditUser.js new file mode 100644 index 0000000..4659995 --- /dev/null +++ b/react-material-admin-master/src/pages/user/EditUser.js @@ -0,0 +1,440 @@ +import React, { useEffect } from 'react'; +import { Grid, Box, TextField } from '@mui/material'; +import Tabs from '@mui/material/Tabs'; +import Tab from '@mui/material/Tab'; +import { useLocation, useNavigate, useParams } from 'react-router-dom'; +import Checkbox from '@mui/material/Checkbox'; +import Switch from '@mui/material/Switch'; +import useStyles from './styles'; + +import { + PersonOutline as PersonOutlineIcon, + Lock as LockIcon } from +'@mui/icons-material'; +import { v4 as uuid } from 'uuid'; + +import Widget from '../../components/Widget'; +import { Typography, Button } from '@mui/material'; +import Select from '@mui/material/Select'; +import MenuItem from '@mui/material/MenuItem'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import InputLabel from '@mui/material/InputLabel'; + +import { + useManagementDispatch, + useManagementState } from +'../../context/ManagementContext'; +import config from '../../config'; +import Axios from 'axios'; + +import { actions } from '../../context/ManagementContext'; +import { showSnackbar } from '../../components/Snackbar'; + +const EditUser = () => { + const classes = useStyles(); + const [tab, setTab] = React.useState(0); + const [password, setPassword] = React.useState({ + newPassword: '', + confirmPassword: '', + currentPassword: '' + }); + const [data, setData] = React.useState(null); + const [editable, setEditable] = React.useState(false); + let { id } = useParams(); + const fileInput = React.useRef(null); + const handleChangeTab = (event, newValue) => { + setTab(newValue); + }; + const location = useLocation(); + const managementDispatch = useManagementDispatch(); + const managementValue = useManagementState(); + + function extractExtensionFrom(filename) { + if (!filename) { + return null; + } + + const regex = /(?:\.([^.]+))?$/; + return regex.exec(filename)[1]; + } + + const uploadToServer = async (file, path, filename) => { + const formData = new FormData(); + formData.append('file', file); + formData.append('filename', filename); + const uri = `/file/upload/${path}`; + await Axios.post(uri, formData, { + headers: { + 'Content-Type': 'multipart/form-data' + } + }); + + const privateUrl = `${path}/${filename}`; + + return `${config.baseURLApi}/file/download?privateUrl=${privateUrl}`; + }; + + const handleFile = async (event) => { + const file = event.target.files[0]; + + const extension = extractExtensionFrom(file.name); + const id = uuid(); + const filename = `${id}.${extension}`; + const privateUrl = `users/avatar/${filename}`; + + const publicUrl = await uploadToServer(file, 'users/avatar', filename); + let avatarObj = { + id: id, + name: file.name, + sizeInBytes: file.size, + privateUrl, + publicUrl, + new: true + }; + + setData({ + ...data, + avatar: [...data.avatar, avatarObj] + }); + + return null; + }; + const navigate = useNavigate(); + + useEffect(() => { + actions.doFind(sessionStorage.getItem('user_id'))(managementDispatch); + }, []); + + useEffect(() => { + if (location.pathname.includes('edit')) { + setEditable(true); + } + }, [location.pathname]); + + useEffect(() => { + setData(managementValue.currentUser); + }, [managementDispatch, managementValue, id]); + + const deleteOneImage = (id) => { + setData({ + ...data, + avatar: data.avatar.filter((avatar) => avatar.id !== id) + }); + }; + + function handleSubmit() { + actions.doUpdate( + sessionStorage.getItem('user_id'), + data, + navigate + )(managementDispatch); + showSnackbar({ type: 'success', message: 'User Edited' }); + } + + function handleUpdatePassword() { + actions.doChangePassword(password)(managementDispatch); + } + + function handleChangePassword(e) { + setPassword({ + ...password, + [e.target.name]: e.target.value + }); + } + + function handleChange(e) { + setData({ + ...data, + [e.target.name]: e.target.value + }); + } + + return ( + + + + + + + } + classes={{ wrapper: classes.icon }} /> + + } + classes={{ wrapper: classes.icon }} /> + + } + classes={{ wrapper: classes.icon }} /> + + + + + + + + + + {tab === 0 ? + <> + + + Account + + + + + + + + Role + + + + : + tab === 1 ? + <> + + + Personal Information + + Photo: +
+ {data && data.avatar && data.avatar.length !== 0 ? + data.avatar.map((avatar) => +
+ deleteOneImage(avatar.id)}> + + avatar + +
+ ) : + null} +
+ + + + .PNG, .JPG, .JPEG + + + + + + + + + + : + tab === 2 ? + <> + + + Password + + + + + + + + : + + <> + + + Settings + + + + + Communication: + + + } + label='Email' /> + + } + label='Messages' /> + + } + label='Phone' /> + + + + + Email notification + + + + + + Send copy to personal email + + + + + } + {editable && + + {tab !== 2 ? + <> + + + : + + <> + + + + } + + } +
+
+
+
+
); + +}; + +export default EditUser; diff --git a/react-material-admin-master/src/pages/user/UserList.js b/react-material-admin-master/src/pages/user/UserList.js new file mode 100644 index 0000000..c07df55 --- /dev/null +++ b/react-material-admin-master/src/pages/user/UserList.js @@ -0,0 +1,552 @@ +import React from 'react'; +import { + Grid, + Box, + InputAdornment, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + TextField as Input } from +'@mui/material'; +import dayjs from 'utils/dayjs'; +import Widget from '../../components/Widget'; +import { Button } from '../../components/Wrappers'; +import Table from '@mui/material/Table'; +import TableBody from '@mui/material/TableBody'; +import TableCell from '@mui/material/TableCell'; +import TableContainer from '@mui/material/TableContainer'; +import TableHead from '@mui/material/TableHead'; +import TablePagination from '@mui/material/TablePagination'; +import TableRow from '@mui/material/TableRow'; +import TableSortLabel from '@mui/material/TableSortLabel'; +import Checkbox from '@mui/material/Checkbox'; +import IconButton from '@mui/material/IconButton'; +import DeleteIcon from '@mui/icons-material/DeleteOutlined'; +import Notification from '../../components/Notification/Notification'; +import { toast } from 'react-toastify'; + +import { Typography, Chip, Avatar, Link } from '../../components/Wrappers'; +import { + useManagementDispatch, + useManagementState } from +'../../context/ManagementContext'; + +import useStyles from './styles'; +// Icons +import { + Add as AddIcon, + GetApp as DownloadIcon, + Search as SearchIcon, + CreateOutlined as CreateIcon, + HelpOutline as HelpIcon } from +'@mui/icons-material'; + +import { actions } from '../../context/ManagementContext'; + + + +function descendingComparator(a, b, orderBy) { + if (b[orderBy] < a[orderBy]) { + return -1; + } + if (b[orderBy] > a[orderBy]) { + return 1; + } + return 0; +} + +function getComparator(order, orderBy) { + return order === 'desc' ? + (a, b) => descendingComparator(a, b, orderBy) : + (a, b) => -descendingComparator(a, b, orderBy); +} + +function stableSort(array, comparator) { + const stabilizedThis = array.map((el, index) => [el, index]); + stabilizedThis.sort((a, b) => { + const order = comparator(a[0], b[0]); + if (order !== 0) return order; + return a[1] - b[1]; + }); + return stabilizedThis.map((el) => el[0]); +} + +const headCells = [ +{ id: 'id', numeric: true, disablePadding: true, label: 'ID' }, +{ id: 'name', numeric: true, disablePadding: false, label: 'NAME' }, +{ id: 'role', numeric: true, disablePadding: false, label: 'ROLE' }, +{ + id: 'companyName', + numeric: true, + disablePadding: false, + label: 'COMPANY NAME' +}, +{ id: 'email', numeric: true, disablePadding: false, label: 'EMAIL' }, +{ id: 'status', numeric: true, disablePadding: false, label: 'STATUS' }, +{ + id: 'created', + numeric: false, + disablePadding: false, + label: 'CREATED AT' +}, +{ id: 'actions', numeric: true, disablePadding: false, label: 'ACTIONS' }]; + + +function EnhancedTableHead(props) { + const { + onSelectAllClick, + order, + orderBy, + numSelected, + rowCount, + onRequestSort + } = props; + const createSortHandler = (property) => (event) => { + onRequestSort(event, property); + }; + + return ( + + + + 0 && numSelected < rowCount + } + checked={rowCount > 0 && numSelected === rowCount} + onChange={onSelectAllClick} + inputProps={{ 'aria-label': 'select all desserts' }} /> + + + {headCells.map((headCell) => + + + + + + + {headCell.label} + + + + )} + + ); + +} + +const UserList = () => { + const [order, setOrder] = React.useState('asc'); + const [orderBy, setOrderBy] = React.useState('calories'); + const [selected, setSelected] = React.useState([]); + const [page, setPage] = React.useState(0); + // eslint-disable-next-line no-unused-vars + const [dense, setDense] = React.useState(false); + const [rowsPerPage, setRowsPerPage] = React.useState(5); + const [usersRows, setUsersRows] = React.useState([]); + + var managementDispatch = useManagementDispatch(); + var managementValue = useManagementState(); + const openModal = (cell) => { + actions.doOpenConfirm(cell)(managementDispatch); + }; + + const closeModal = () => { + actions.doCloseConfirm()(managementDispatch); + }; + + const handleDelete = () => { + actions.doDelete(managementValue.idToDelete)(managementDispatch); + sendNotification('User deleted'); + }; + + React.useEffect(() => { + sendNotification('This page is only available in React Material Admin Full with Node.js integration!'); + async function fetchAPI() { + try { + await actions.doFetch({}, false)(managementDispatch); + setUsersRows(managementValue.rows); + } catch (e) { + console.log(e); + } + } + fetchAPI(); + }, []); + + const classes = useStyles(); + + function sendNotification(text) { + const componentProps = { + type: "feedback", + message: text, + variant: "contained", + color: "success" + }; + const options = { + type: "info", + position: toast.POSITION.TOP_RIGHT, + progressClassName: classes.progress, + className: classes.notification, + timeOut: 1000 + }; + return toast( + , + + options + ); + } + + React.useEffect(() => { + setUsersRows(managementValue.rows); + }, [managementValue.rows]); + + const handleRequestSort = (event, property) => { + const isAsc = orderBy === property && order === 'asc'; + setOrder(isAsc ? 'desc' : 'asc'); + setOrderBy(property); + }; + + const handleSelectAllClick = (event) => { + if (event.target.checked) { + const newSelecteds = managementValue.rows.map((n) => n.id); + setSelected(newSelecteds); + return; + } + setSelected([]); + }; + + const handleClick = (event, name) => { + const selectedIndex = selected.indexOf(name); + let newSelected = []; + + if (selectedIndex === -1) { + newSelected = newSelected.concat(selected, name); + } else if (selectedIndex === 0) { + newSelected = newSelected.concat(selected.slice(1)); + } else if (selectedIndex === selected.length - 1) { + newSelected = newSelected.concat(selected.slice(0, -1)); + } else if (selectedIndex > 0) { + newSelected = newSelected.concat( + selected.slice(0, selectedIndex), + selected.slice(selectedIndex + 1) + ); + } + + setSelected(newSelected); + }; + + const handleChangePage = (event, newPage) => { + setPage(newPage); + }; + + const handleChangeRowsPerPage = (event) => { + setRowsPerPage(parseInt(event.target.value, 10)); + setPage(0); + }; + + const isSelected = (name) => selected.indexOf(name) !== -1; + + const emptyRows = + rowsPerPage - Math.min(rowsPerPage, usersRows.length - page * rowsPerPage); + + const handleSearch = (e) => { + const newArr = usersRows.filter((c) => { + return c.name + .toLowerCase() + .includes(e.currentTarget.value.toLowerCase()); + }); + setUsersRows(newArr); + }; + + return ( + + + + + Are you sure that you want to delete user? + + + + User will be deleted. + + + + + + + + + + + + + + + + + + + + handleSearch(e)} + InputProps={{ + startAdornment: + + + + + }} /> + + + + + + + + + + + + + + {stableSort( + usersRows, + getComparator(order, orderBy) + ) + .slice( + page * rowsPerPage, + page * rowsPerPage + rowsPerPage + ) + .map((row, index) => { + const isItemSelected = isSelected( + row.id + ); + const labelId = `enhanced-table-checkbox-${index}`; + return ( + + handleClick(event, row.id) + } + role="checkbox" + aria-checked={isItemSelected} + tabIndex={-1} + key={row.id} + selected={isItemSelected}> + + + + + + + + + + {index + 1} + + + + + + {!row.avatars.length ? + + + {row.email.charAt(0).toUpperCase()} + : + + + + } + + + {row.name} + + + + + + + {row.role} + + + + + + Flatlogic + + + + + + {row.email} + + + + + + + + + + {dayjs(row.createdAt).format('YYYY-DD-MM')} + + + + + + + + + + + + + + + + + + openModal(row.id)} + color={'primary'}> + + + + + + ); + + })} + {emptyRows > 0 && + + + + + } + +
+
+ + +
+
+
); + +}; + +export default UserList; diff --git a/react-material-admin-master/src/pages/user/package.json b/react-material-admin-master/src/pages/user/package.json new file mode 100644 index 0000000..36182d5 --- /dev/null +++ b/react-material-admin-master/src/pages/user/package.json @@ -0,0 +1,6 @@ +{ + "name": "user", + "version": "1.0.0", + "main": "UserList.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/user/styles.js b/react-material-admin-master/src/pages/user/styles.js new file mode 100644 index 0000000..cf82b63 --- /dev/null +++ b/react-material-admin-master/src/pages/user/styles.js @@ -0,0 +1,119 @@ +import { makeStyles } from 'styles/mui'; +import tinycolor from 'tinycolor2'; + +export default makeStyles((theme) => ({ + icon: { + flexDirection: 'row', + alignItems: 'flex-start', + '& .MuiSvgIcon-root': { + marginRight: 5, + }, + }, + stepCompleted: { + root: { + color: 'green', + }, + }, + layoutContainer: { + height: 200, + display: 'flex', + flexDirection: 'column', + justifyContent: 'space-between', + alignItems: 'center', + marginTop: theme.spacing(2), + border: '1px dashed', + borderColor: theme.palette.primary.main, + position: 'relative', + }, + layoutText: { + color: tinycolor(theme.palette.background.light).darken().toHexString(), + }, + layoutButtonsRow: { + width: '100%', + display: 'flex', + justifyContent: 'space-between', + }, + layoutButton: { + backgroundColor: theme.palette.background.light, + width: 125, + height: 50, + outline: 'none', + border: 'none', + }, + layoutButtonActive: { + backgroundColor: tinycolor(theme.palette.background.light) + .darken() + .toHexString(), + }, + buttonsContainer: { + display: 'flex', + flexDirection: 'column', + alignItems: 'flex-start', + marginTop: theme.spacing(2), + }, + notificationCallButton: { + color: 'white', + marginBottom: theme.spacing(1), + textTransform: 'none', + }, + codeContainer: { + display: 'flex', + flexDirection: 'column', + marginTop: theme.spacing(2), + }, + codeComponent: { + flexGrow: 1, + }, + notificationItem: { + marginTop: theme.spacing(2), + }, + toastsContainer: { + width: 'auto', + marginTop: theme.spacing(6), + right: 0, + }, + progress: { + visibility: 'hidden', + }, + notification: { + display: 'flex', + alignItems: 'center', + background: 'transparent', + boxShadow: 'none', + overflow: 'visible', + }, + searchIcon: { + color: 'rgba(0, 0, 0, 0.23)', + }, + imgWrap: { + height: 100, + overflow: 'hidden', + borderRadius: 8, + boxShadow: '0 0 10px 0px #ccc', + marginRight: 20, + marginBottom: 20, + maxWidth: 125, + position: 'relative', + }, + galleryWrap: { + display: 'flex', + }, + uploadLabel: { + backgroundColor: tinycolor(theme.palette.primary.main), + color: '#f4f4f4', + maxWidth: 220, + display: 'inline-block', + borderRadius: 8, + textAlign: 'center', + padding: '8px 12px', + margin: '20px 0', + }, + deleteImageX: { + fontSize: 20, + position: 'absolute', + top: 5, + left: 5, + cursor: 'pointer', + lineHeight: 0.5, + }, +})); diff --git a/react-material-admin-master/src/pages/user/usersField.js b/react-material-admin-master/src/pages/user/usersField.js new file mode 100644 index 0000000..8c414d5 --- /dev/null +++ b/react-material-admin-master/src/pages/user/usersField.js @@ -0,0 +1,56 @@ + + +const usersFields = { + id: { type: 'id', label: 'ID' }, +fullName: { type: 'string', label: 'Full Name', + + }, +firstName: { type: 'string', label: 'First Name', + + }, +lastName: { type: 'string', label: 'Last Name', + + }, +phoneNumber: { type: 'string', label: 'Phone Number', + + }, +email: { type: 'string', label: 'E-mail', + + }, +disabled: { type: 'boolean', label: 'Disabled', + + }, +role: { type: 'enum', label: 'Role', + + options: [ + + { value: 'admin', label: 'Admin' }, + { value: 'user', label: 'User' }, + ], + + }, +avatar: { type: 'images', label: 'Avatar', + + }, +password: { type: 'string', label: 'Password', + + }, +emailVerified: { type: 'boolean', label: 'emailVerified', + + }, +emailVerificationToken: { type: 'string', label: 'emailVerificationToken', + + }, +emailVerificationTokenExpiresAt: { type: 'datetime', label: 'emailVerificationTokenExpiresAt', + + }, +passwordResetToken: { type: 'string', label: 'passwordResetToken', + + }, +passwordResetTokenExpiresAt: { type: 'datetime', label: 'passwordResetTokenExpiresAt', + + }, + +} + +export default usersFields; diff --git a/react-material-admin-master/src/pages/verify/Verify.js b/react-material-admin-master/src/pages/verify/Verify.js new file mode 100644 index 0000000..e673dc0 --- /dev/null +++ b/react-material-admin-master/src/pages/verify/Verify.js @@ -0,0 +1,20 @@ +import { useEffect } from 'react'; +import { useUserDispatch, verifyEmail } from '../../context/UserContext'; +import { useLocation, useNavigate } from 'react-router-dom'; +const Verify = () => { + const userDispatch = useUserDispatch(); + const location = useLocation(); + const navigate = useNavigate(); + + useEffect(() => { + const params = new URLSearchParams(location.search); + const token = params.get('token'); + if (token) { + verifyEmail(token, navigate)(userDispatch); + } + }, []); + + return <>; +}; + +export default Verify; diff --git a/react-material-admin-master/src/pages/verify/package.json b/react-material-admin-master/src/pages/verify/package.json new file mode 100644 index 0000000..24cce31 --- /dev/null +++ b/react-material-admin-master/src/pages/verify/package.json @@ -0,0 +1,6 @@ +{ + "name": "verify", + "version": "0.0.0", + "private": true, + "main": "Verify.js" +} diff --git a/react-material-admin-master/src/pages/widget/Widget.js b/react-material-admin-master/src/pages/widget/Widget.js new file mode 100644 index 0000000..42c4b04 --- /dev/null +++ b/react-material-admin-master/src/pages/widget/Widget.js @@ -0,0 +1,59 @@ +import { Grid, Box } from "@mui/material"; +import useStyles from "./styles"; + +// components +import Widget from "../../components/Widget"; +import Code from "../../components/Code"; +import { Typography } from "../../components/Wrappers"; + +export default function WidgetComp() { + const classes = useStyles(); + return ( + <> + + + + + It appears in the top of the page container. It have to be the + first component after {`return`}{" "} + statement. + + + + Lorem ipsum dolor sit amet consectetur, adipisicing elit. A, + rem? + + {` + + Lorem ipsum dolor sit amet consectetur, adipisicing elit. A, + rem? + + `} + + + + + + + + It appears in the top of the page container. It have to be the + first component after {`return`}{" "} + statement. + + + + {` + + `} + + + + + + ); + +} \ No newline at end of file diff --git a/react-material-admin-master/src/pages/widget/package.json b/react-material-admin-master/src/pages/widget/package.json new file mode 100644 index 0000000..ce54e0e --- /dev/null +++ b/react-material-admin-master/src/pages/widget/package.json @@ -0,0 +1,6 @@ +{ + "name": "widget", + "version": "1.0.0", + "main": "Widget.js", + "license": "MIT" +} diff --git a/react-material-admin-master/src/pages/widget/styles.js b/react-material-admin-master/src/pages/widget/styles.js new file mode 100644 index 0000000..2f5bc45 --- /dev/null +++ b/react-material-admin-master/src/pages/widget/styles.js @@ -0,0 +1,8 @@ +import { makeStyles } from "styles/mui"; + +export default makeStyles(theme => ({ + paper: { + margin: theme.spacing(4), + backgroundColor: "#f3f3f3" + }, +})); diff --git a/react-material-admin-master/src/repositories/usersMockRepository.js b/react-material-admin-master/src/repositories/usersMockRepository.js new file mode 100644 index 0000000..7de6ad3 --- /dev/null +++ b/react-material-admin-master/src/repositories/usersMockRepository.js @@ -0,0 +1,469 @@ +const INITIAL_USERS = [ + { + id: '1', + firstName: 'Admin', + lastName: 'User', + phoneNumber: '+1 202 555 0101', + email: 'admin@flatlogic.com', + role: 'admin', + disabled: false, + avatar: [], + password: 'password', + emailVerified: true, + provider: 'local', + }, + { + id: '2', + firstName: 'Olivia', + lastName: 'Parker', + phoneNumber: '+1 202 555 0102', + email: 'olivia.parker@example.com', + role: 'user', + disabled: false, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, + { + id: '3', + firstName: 'Noah', + lastName: 'Cooper', + phoneNumber: '+1 202 555 0103', + email: 'noah.cooper@example.com', + role: 'user', + disabled: false, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, + { + id: '4', + firstName: 'Emma', + lastName: 'Stone', + phoneNumber: '+1 202 555 0104', + email: 'emma.stone@example.com', + role: 'user', + disabled: false, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, + { + id: '5', + firstName: 'Liam', + lastName: 'Turner', + phoneNumber: '+1 202 555 0105', + email: 'liam.turner@example.com', + role: 'user', + disabled: true, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, + { + id: '6', + firstName: 'Sophia', + lastName: 'Morgan', + phoneNumber: '+1 202 555 0106', + email: 'sophia.morgan@example.com', + role: 'user', + disabled: false, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, + { + id: '7', + firstName: 'Mason', + lastName: 'Reed', + phoneNumber: '+1 202 555 0107', + email: 'mason.reed@example.com', + role: 'user', + disabled: false, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, + { + id: '8', + firstName: 'Isabella', + lastName: 'Ward', + phoneNumber: '+1 202 555 0108', + email: 'isabella.ward@example.com', + role: 'user', + disabled: false, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, + { + id: '9', + firstName: 'James', + lastName: 'Brooks', + phoneNumber: '+1 202 555 0109', + email: 'james.brooks@example.com', + role: 'user', + disabled: false, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, + { + id: '10', + firstName: 'Mia', + lastName: 'Hayes', + phoneNumber: '+1 202 555 0110', + email: 'mia.hayes@example.com', + role: 'user', + disabled: false, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, + { + id: '11', + firstName: 'Benjamin', + lastName: 'Cole', + phoneNumber: '+1 202 555 0111', + email: 'benjamin.cole@example.com', + role: 'user', + disabled: true, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, + { + id: '12', + firstName: 'Charlotte', + lastName: 'Price', + phoneNumber: '+1 202 555 0112', + email: 'charlotte.price@example.com', + role: 'user', + disabled: false, + avatar: [], + password: '', + emailVerified: true, + provider: 'local', + }, +]; + +const RESERVED_QUERY_KEYS = new Set(['page', 'limit', 'field', 'sort', 'users']); +const SEARCHABLE_FIELDS = ['firstName', 'lastName', 'phoneNumber', 'email', 'role']; + +let usersStore = INITIAL_USERS.map((user) => normalizeUser(user)); +let idSequence = INITIAL_USERS.length; + +function pickQueryValue(value) { + if (Array.isArray(value)) { + return value[value.length - 1]; + } + return value; +} + +function toTrimmedString(value) { + if (value === null || value === undefined) { + return ''; + } + return String(value).trim(); +} + +function toPositiveInteger(value, fallback) { + const parsed = Number.parseInt(toTrimmedString(value), 10); + return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback; +} + +function toNonNegativeInteger(value, fallback) { + const parsed = Number.parseInt(toTrimmedString(value), 10); + return Number.isFinite(parsed) && parsed >= 0 ? parsed : fallback; +} + +function parseRequestQuery(request) { + const normalized = toTrimmedString(request) + .replace(/^(\?|&)+/, '') + .replace(/&+$/, ''); + + if (!normalized) { + return {}; + } + + const result = {}; + const params = new URLSearchParams(normalized); + + params.forEach((value, key) => { + const currentValue = result[key]; + + if (currentValue === undefined) { + result[key] = value; + return; + } + + if (Array.isArray(currentValue)) { + result[key] = [...currentValue, value]; + return; + } + + result[key] = [currentValue, value]; + }); + + return result; +} + +function toComparableValue(value) { + if (value === null || value === undefined) { + return ''; + } + + if (typeof value === 'boolean') { + return value ? 1 : 0; + } + + if (typeof value === 'number') { + return value; + } + + const stringValue = toTrimmedString(value); + const numericValue = Number(stringValue); + + if (stringValue && Number.isFinite(numericValue)) { + return numericValue; + } + + return stringValue.toLowerCase(); +} + +function compareValues(left, right) { + const leftComparable = toComparableValue(left); + const rightComparable = toComparableValue(right); + + if (leftComparable < rightComparable) { + return -1; + } + if (leftComparable > rightComparable) { + return 1; + } + return 0; +} + +function normalizeRole(role) { + return role === 'admin' ? 'admin' : 'user'; +} + +function normalizeAvatar(avatar) { + if (Array.isArray(avatar)) { + return avatar; + } + + if (avatar && typeof avatar === 'object') { + return [avatar]; + } + + return []; +} + +function normalizeUser(user = {}, fallback = {}) { + const source = { + ...fallback, + ...user, + }; + + return { + ...source, + id: toTrimmedString(source.id), + firstName: toTrimmedString(source.firstName), + lastName: toTrimmedString(source.lastName), + phoneNumber: toTrimmedString(source.phoneNumber), + email: toTrimmedString(source.email), + role: normalizeRole(source.role), + disabled: Boolean(source.disabled), + avatar: normalizeAvatar(source.avatar), + password: toTrimmedString(source.password), + emailVerified: + typeof source.emailVerified === 'boolean' ? source.emailVerified : true, + emailVerificationToken: source.emailVerificationToken ?? null, + emailVerificationTokenExpiresAt: + source.emailVerificationTokenExpiresAt ?? null, + passwordResetToken: source.passwordResetToken ?? null, + passwordResetTokenExpiresAt: source.passwordResetTokenExpiresAt ?? null, + provider: toTrimmedString(source.provider) || 'local', + }; +} + +function cloneUsers(users) { + return users.map((user) => ({ + ...user, + avatar: Array.isArray(user.avatar) ? [...user.avatar] : [], + })); +} + +function getOrderBy(filterOrderBy, requestQuery) { + const orderBy = filterOrderBy || {}; + const field = toTrimmedString(orderBy.field || pickQueryValue(requestQuery.field)); + const sort = toTrimmedString(orderBy.sort || pickQueryValue(requestQuery.sort)).toLowerCase(); + + if (!field || (sort !== 'asc' && sort !== 'desc')) { + return null; + } + + return { field, sort }; +} + +function applyFilters(users, filter, requestQuery) { + let result = [...users]; + + const globalSearch = toTrimmedString( + filter.users || pickQueryValue(requestQuery.users), + ).toLowerCase(); + + if (globalSearch) { + result = result.filter((user) => + SEARCHABLE_FIELDS.some((field) => + toTrimmedString(user[field]).toLowerCase().includes(globalSearch), + ), + ); + } + + Object.entries(requestQuery).forEach(([key, rawValue]) => { + if (RESERVED_QUERY_KEYS.has(key) || key.endsWith('Range')) { + return; + } + + const filterValue = toTrimmedString(pickQueryValue(rawValue)).toLowerCase(); + + if (!filterValue) { + return; + } + + result = result.filter((user) => + toTrimmedString(user[key]).toLowerCase().includes(filterValue), + ); + }); + + return result; +} + +function applySorting(users, orderBy) { + if (!orderBy) { + return users; + } + + return [...users].sort((left, right) => { + const direction = orderBy.sort === 'asc' ? 1 : -1; + return compareValues(left[orderBy.field], right[orderBy.field]) * direction; + }); +} + +function applyPagination(users, filter, requestQuery) { + const limit = toPositiveInteger(filter.limit ?? pickQueryValue(requestQuery.limit), 10); + const page = toNonNegativeInteger(filter.page ?? pickQueryValue(requestQuery.page), 0); + const offset = page * limit; + + return users.slice(offset, offset + limit); +} + +function nextId() { + idSequence += 1; + return String(idSequence); +} + +export function listMockUsers(filter = {}, request = '') { + const requestQuery = parseRequestQuery(request || filter.request); + const filteredUsers = applyFilters(usersStore, filter, requestQuery); + const sortedUsers = applySorting(filteredUsers, getOrderBy(filter.orderBy, requestQuery)); + const rows = applyPagination(sortedUsers, filter, requestQuery); + + return { + rows: cloneUsers(rows), + count: filteredUsers.length, + }; +} + +export function findMockUser(id) { + const targetId = toTrimmedString(id); + const found = usersStore.find((user) => { + if (!targetId) { + return true; + } + return toTrimmedString(user.id) === targetId; + }); + + if (!found) { + return null; + } + + return { + ...found, + avatar: Array.isArray(found.avatar) ? [...found.avatar] : [], + }; +} + +export function createMockUser(data = {}) { + const newUser = normalizeUser( + { + id: nextId(), + ...data, + }, + { + role: 'user', + disabled: false, + avatar: [], + emailVerified: true, + provider: 'local', + }, + ); + + usersStore = [newUser, ...usersStore]; + + return { + ...newUser, + avatar: Array.isArray(newUser.avatar) ? [...newUser.avatar] : [], + }; +} + +export function updateMockUser(id, data = {}) { + const targetId = toTrimmedString(id); + let updatedUser = null; + + usersStore = usersStore.map((user) => { + if (toTrimmedString(user.id) !== targetId) { + return user; + } + + updatedUser = normalizeUser( + { + ...user, + ...data, + id: user.id, + }, + user, + ); + + return updatedUser; + }); + + if (!updatedUser) { + return null; + } + + return { + ...updatedUser, + avatar: Array.isArray(updatedUser.avatar) ? [...updatedUser.avatar] : [], + }; +} + +export function deleteMockUser(id) { + const targetId = toTrimmedString(id); + const previousLength = usersStore.length; + usersStore = usersStore.filter((user) => toTrimmedString(user.id) !== targetId); + + return usersStore.length < previousLength; +} diff --git a/react-material-admin-master/src/router/navigation.js b/react-material-admin-master/src/router/navigation.js new file mode 100644 index 0000000..1553edb --- /dev/null +++ b/react-material-admin-master/src/router/navigation.js @@ -0,0 +1,18 @@ +let navigator = null; + +function setNavigator(nextNavigator) { + navigator = nextNavigator; +} + +function navigateTo(path, options = {}) { + if (navigator) { + navigator(path, options); + return; + } + + if (typeof window !== 'undefined') { + window.location.assign(path); + } +} + +export { setNavigator, navigateTo }; diff --git a/react-material-admin-master/src/styles/mui.js b/react-material-admin-master/src/styles/mui.js new file mode 100644 index 0000000..bc459d6 --- /dev/null +++ b/react-material-admin-master/src/styles/mui.js @@ -0,0 +1,50 @@ +import { makeStyles as tssMakeStyles } from 'tss-react/mui'; +import { useTheme as useMuiTheme } from '@mui/material/styles'; + +const isPlainObject = (value) => + value !== null && typeof value === 'object' && !Array.isArray(value); + +const replaceClassRefsInSelector = (selector, classes) => + selector.replace(/\$([a-zA-Z0-9_-]+)/g, (_, className) => + classes[className] ? `.${classes[className]}` : `$${className}`, + ); + +const resolveDynamicValues = (value, params, theme, classes) => { + if (typeof value === 'function') { + return value(params, theme, classes); + } + + if (Array.isArray(value)) { + return value.map((item) => resolveDynamicValues(item, params, theme, classes)); + } + + if (!isPlainObject(value)) { + return value; + } + + return Object.entries(value).reduce((acc, [key, val]) => { + const resolvedKey = typeof key === 'string' ? replaceClassRefsInSelector(key, classes) : key; + acc[resolvedKey] = resolveDynamicValues(val, params, theme, classes); + return acc; + }, {}); +}; + +const resolveStyleObject = (stylesOrCreator, theme, params, classes) => { + const rawStyles = + typeof stylesOrCreator === 'function' + ? stylesOrCreator(theme, params, classes) + : stylesOrCreator; + + return resolveDynamicValues(rawStyles, params, theme, classes); +}; + +export const makeStyles = (stylesOrCreator, options) => { + const useTssStyles = tssMakeStyles(options)( + (theme, params, classes) => + resolveStyleObject(stylesOrCreator, theme, params, classes), + ); + + return (params = {}) => useTssStyles(params).classes; +}; + +export const useTheme = useMuiTheme; diff --git a/react-material-admin-master/src/test/setup.js b/react-material-admin-master/src/test/setup.js new file mode 100644 index 0000000..5930c95 --- /dev/null +++ b/react-material-admin-master/src/test/setup.js @@ -0,0 +1,48 @@ +import '@testing-library/jest-dom/vitest'; +import { afterEach, vi } from 'vitest'; +import { cleanup } from '@testing-library/react'; + +afterEach(() => { + cleanup(); + vi.restoreAllMocks(); +}); + +vi.mock('uuid', () => ({ + v4: () => 'test-uuid', + default: { + v4: () => 'test-uuid', + }, +})); + +if (!window.matchMedia) { + window.matchMedia = vi.fn().mockImplementation((query) => ({ + matches: false, + media: query, + onchange: null, + addListener: vi.fn(), + removeListener: vi.fn(), + addEventListener: vi.fn(), + removeEventListener: vi.fn(), + dispatchEvent: vi.fn(), + })); +} + +if (!window.ResizeObserver) { + window.ResizeObserver = class { + observe() {} + unobserve() {} + disconnect() {} + }; +} + +if (!window.IntersectionObserver) { + window.IntersectionObserver = class { + observe() {} + unobserve() {} + disconnect() {} + }; +} + +if (!window.HTMLElement.prototype.scrollTo) { + window.HTMLElement.prototype.scrollTo = () => {}; +} diff --git a/react-material-admin-master/src/test/smoke/dashboard.smoke.test.jsx b/react-material-admin-master/src/test/smoke/dashboard.smoke.test.jsx new file mode 100644 index 0000000..21496b8 --- /dev/null +++ b/react-material-admin-master/src/test/smoke/dashboard.smoke.test.jsx @@ -0,0 +1,31 @@ +import { screen } from '@testing-library/react'; +import { vi } from 'vitest'; +import Dashboard from '../../pages/dashboard/Dashboard'; +import { renderWithProviders } from '../utils/renderWithProviders'; + +vi.mock('@mui/icons-material', () => + new Proxy( + { __esModule: true }, + { + get: (_target, prop) => { + if (prop === '__esModule') { + return true; + } + if (prop === 'then') { + return undefined; + } + return () => null; + }, + has: (_target, prop) => prop !== 'then', + }, + ), +); + +describe('Dashboard Smoke', () => { + it('renders key dashboard widgets', () => { + renderWithProviders(, { route: '/app/dashboard' }); + + expect(screen.getByText(/support tracker/i)).toBeInTheDocument(); + expect(screen.getByText(/revenue breakdown/i)).toBeInTheDocument(); + }); +}); diff --git a/react-material-admin-master/src/test/smoke/login.smoke.test.jsx b/react-material-admin-master/src/test/smoke/login.smoke.test.jsx new file mode 100644 index 0000000..7034c3d --- /dev/null +++ b/react-material-admin-master/src/test/smoke/login.smoke.test.jsx @@ -0,0 +1,16 @@ +import { screen } from '@testing-library/react'; + +import Login from '../../pages/login/Login'; +import { renderWithProviders } from '../utils/renderWithProviders'; + +describe('Login Smoke', () => { + it('renders login screen with main controls', () => { + renderWithProviders(, { route: '/login' }); + + expect(screen.getByRole('tab', { name: /login/i })).toBeInTheDocument(); + expect(screen.getByPlaceholderText(/email adress/i)).toBeInTheDocument(); + expect( + screen.getByRole('button', { name: /forgot password/i }), + ).toBeInTheDocument(); + }); +}); diff --git a/react-material-admin-master/src/test/smoke/users.smoke.test.jsx b/react-material-admin-master/src/test/smoke/users.smoke.test.jsx new file mode 100644 index 0000000..cdbe96f --- /dev/null +++ b/react-material-admin-master/src/test/smoke/users.smoke.test.jsx @@ -0,0 +1,31 @@ +import { screen } from '@testing-library/react'; +import { Route, Routes } from 'react-router-dom'; + +import UsersTable from '../../pages/CRUD/Users/table/UsersTable.js'; +import UsersFormPage from '../../pages/CRUD/Users/form/UsersFormPage.js'; +import { renderWithProviders } from '../utils/renderWithProviders'; + +describe('Users Smoke', () => { + it('renders users table and mock data', async () => { + renderWithProviders(, { route: '/app/users' }); + + expect(screen.getByRole('button', { name: /^new$/i })).toBeInTheDocument(); + expect(await screen.findByText('Admin')).toBeInTheDocument(); + }); + + it('renders users edit form route', async () => { + const editRoute = ( + + } /> + + ); + + renderWithProviders( + editRoute, + { route: '/app/users/1/edit' }, + ); + + expect(await screen.findByText(/edit users/i)).toBeInTheDocument(); + expect(await screen.findByDisplayValue('Admin')).toBeInTheDocument(); + }); +}); diff --git a/react-material-admin-master/src/test/utils/renderWithProviders.jsx b/react-material-admin-master/src/test/utils/renderWithProviders.jsx new file mode 100644 index 0000000..213fc99 --- /dev/null +++ b/react-material-admin-master/src/test/utils/renderWithProviders.jsx @@ -0,0 +1,46 @@ +import { render } from '@testing-library/react'; +import { MemoryRouter } from 'react-router-dom'; +import { ThemeProvider as ThemeProviderV5 } from '@mui/material/styles'; +import { StyledEngineProvider } from '@mui/material/styles'; + +import { LayoutProvider } from '../../context/LayoutContext'; +import { UserProvider } from '../../context/UserContext'; +import { ManagementProvider } from '../../context/ManagementContext'; +import { + ThemeProvider as ThemeChangeProvider, + ThemeStateContext, +} from '../../context/ThemeContext'; + +function Providers({ children, route = '/' }) { + localStorage.setItem('theme', 'default'); + + return ( + + + + + + + {(theme) => ( + + {children} + + )} + + + + + + + ); +} + +function renderWithProviders(ui, options = {}) { + const { route = '/', ...rest } = options; + return render(ui, { + wrapper: ({ children }) => {children}, + ...rest, + }); +} + +export { Providers, renderWithProviders }; diff --git a/react-material-admin-master/src/themes/dark.js b/react-material-admin-master/src/themes/dark.js new file mode 100644 index 0000000..3755364 --- /dev/null +++ b/react-material-admin-master/src/themes/dark.js @@ -0,0 +1,58 @@ +import tinycolor from 'tinycolor2'; + +const primary = '#536DFE'; +const secondary = '#EE266D'; +const warning = '#E9B55F'; +const success = '#63C5B5'; +const info = '#AE1ECC'; + +const lightenRate = 7.5; +const darkenRate = 15; + +const darkTheme = { + palette: { + contrastText: '#fff', + mode: 'dark', + primary: { + main: primary, + light: tinycolor(primary).lighten(lightenRate).toHexString(), + dark: tinycolor(primary).darken(darkenRate).toHexString(), + }, + secondary: { + main: secondary, + light: tinycolor(secondary).lighten(lightenRate).toHexString(), + dark: tinycolor(secondary).darken(darkenRate).toHexString(), + contrastText: '#fff', + }, + warning: { + main: warning, + light: tinycolor(warning).lighten(lightenRate).toHexString(), + dark: tinycolor(warning).darken(darkenRate).toHexString(), + }, + success: { + main: success, + light: tinycolor(success).lighten(lightenRate).toHexString(), + dark: tinycolor(success).darken(darkenRate).toHexString(), + }, + info: { + main: info, + light: tinycolor(info).lighten(lightenRate).toHexString(), + dark: tinycolor(info).darken(darkenRate).toHexString(), + }, + text: { + primary: '#fff', + secondary: '#D6D6D6', + hint: '#76767B', + }, + background: { + default: '#13131A', + light: '#23232D', + }, + }, + customShadows: { + widget: + '0px 1px 8px rgba(0, 0, 0, 0.103475), 0px 3px 3px rgba(0, 0, 0, 0.0988309), 0px 3px 4px rgba(0, 0, 0, 0.10301)', + }, +}; + +export default darkTheme; diff --git a/react-material-admin-master/src/themes/default.js b/react-material-admin-master/src/themes/default.js new file mode 100644 index 0000000..4346bce --- /dev/null +++ b/react-material-admin-master/src/themes/default.js @@ -0,0 +1,56 @@ +import tinycolor from 'tinycolor2'; + +const primary = '#536DFE'; +const secondary = '#FF5C93'; +const warning = '#FFC260'; +const success = '#3CD4A0'; +const info = '#9013FE'; + +const lightenRate = 7.5; +const darkenRate = 15; + +const defaultThemeConfig = { + palette: { + primary: { + main: primary, + light: tinycolor(primary).lighten(lightenRate).toHexString(), + dark: tinycolor(primary).darken(darkenRate).toHexString(), + }, + secondary: { + main: secondary, + light: tinycolor(secondary).lighten(lightenRate).toHexString(), + dark: tinycolor(secondary).darken(darkenRate).toHexString(), + contrastText: '#ccc', + }, + warning: { + main: warning, + light: tinycolor(warning).lighten(lightenRate).toHexString(), + dark: tinycolor(warning).darken(darkenRate).toHexString(), + }, + success: { + main: success, + light: tinycolor(success).lighten(lightenRate).toHexString(), + dark: tinycolor(success).darken(darkenRate).toHexString(), + }, + info: { + main: info, + light: tinycolor(info).lighten(lightenRate).toHexString(), + dark: tinycolor(info).darken(darkenRate).toHexString(), + }, + text: { + primary: '#4A4A4A', + secondary: '#6E6E6E', + hint: '#B9B9B9', + }, + background: { + default: '#F6F7FF', + light: '#F3F5FF', + }, + }, + customShadows: { + widget: + '0px 12px 33px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A', + }, +}; + +export default defaultThemeConfig; diff --git a/react-material-admin-master/src/themes/index.js b/react-material-admin-master/src/themes/index.js new file mode 100644 index 0000000..3b86280 --- /dev/null +++ b/react-material-admin-master/src/themes/index.js @@ -0,0 +1,208 @@ +import defaultTheme from './default'; +import successTheme from './success'; +import secondaryTheme from './secondary'; +import darkTheme from './dark'; + +import { createTheme } from '@mui/material/styles'; + +const overrides = { + typography: { + h1: { + fontSize: '3rem', + }, + h2: { + fontSize: '2rem', + }, + h3: { + fontSize: '1.64rem', + }, + h4: { + fontSize: '1.5rem', + }, + h5: { + fontSize: '1.285rem', + }, + h6: { + fontSize: '1.142rem', + }, + }, + overrides: { + MuiCard: { + root: { + boxShadow: + '0px 3px 11px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A', + }, + }, + MUIDataTable: { + paper: { + boxShadow: + '0px 3px 11px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A', + }, + }, + MuiBackdrop: { + root: { + backgroundColor: '#4A4A4A1A', + }, + }, + MuiMenu: { + paper: { + boxShadow: + '0px 3px 11px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A', + }, + }, + MuiSelect: { + icon: { + color: '#B9B9B9', + }, + }, + MuiListItem: { + root: { + '&$selected': { + backgroundColor: '#F3F5FF !important', + '&:focus': { + backgroundColor: '#F3F5FF', + }, + }, + }, + button: { + '&:hover, &:focus': { + backgroundColor: '#F3F5FF', + }, + }, + }, + MuiTouchRipple: { + child: { + backgroundColor: 'white', + }, + }, + MuiTableRow: { + root: { + height: 56, + }, + }, + MuiTableCell: { + root: { + borderBottom: '1px solid rgba(224, 224, 224, .5)', + padding: '14px 40px 14px 24px', + }, + head: { + fontSize: '0.95rem', + }, + body: { + fontSize: '0.95rem', + }, + paddingCheckbox: { + padding: '0 0 0 15px', + }, + }, + }, +}; + +const darkModeOverrides = { + components: { + MuiCssBaseline: { + '@global': { + // '*': { + // 'scrollbar-width': 'thin', + // }, + '*::-webkit-scrollbar': { + width: '0.4em', + }, + '&::-webkit-scrollbar-thumb': { + backgroundColor: '#12121A', + }, + }, + }, + MuiPaper: { + styleOverrides: { + root: { + backgroundColor: '#23232D', + boxShadow: + '0px 1px 8px rgba(0, 0, 0, 0.103475), 0px 3px 3px rgba(0, 0, 0, 0.0988309), 0px 3px 4px rgba(0, 0, 0, 0.10301) !important', + '&::-webkit-scrollbar': { + width: '0.4em', + }, + '&::-webkit-scrollbar-thumb': { + backgroundColor: '#12121A', + }, + }, + }, + }, + MuiAppBar: { + root: { + backgroundColor: '#23232D !important', + }, + }, + MuiButton: { + root: { + boxShadow: 'none !important', + }, + }, + typography: { + root: { + color: 'white !important', + }, + }, + MuiCheckbox: { + root: { + color: '#76767B', + }, + }, + MuiTable: { + root: { + '&::-webkit-scrollbar': { + width: '0.4em', + }, + '&::-webkit-scrollbar-thumb': { + backgroundColor: '#12121A', + }, + }, + }, + MuiTableCell: { + head: { + color: '#76767B', + }, + }, + MuiTableBody: { + root: { + '&::-webkit-scrollbar': { + width: '0.4em', + }, + '&::-webkit-scrollbar-thumb': { + backgroundColor: '#12121A', + }, + }, + }, + MuiTableSortLabel: { + icon: { + color: '#76767B', + }, + active: { + color: '#76767B !important', + }, + iconDirectionDesc: { + color: '#76767B !important', + }, + iconDirectionAsc: { + color: '#76767B !important', + }, + }, + MuiTablePagination: { + toolbar: { + color: '#76767B', + }, + selectIcon: { + color: '#76767B', + }, + }, + }, +}; + +const themes = { + default: createTheme({ ...defaultTheme, ...overrides }), + secondary: createTheme({ ...secondaryTheme, ...overrides }), + success: createTheme({ ...successTheme, ...overrides }), + dark: createTheme({ ...darkTheme, ...overrides, ...darkModeOverrides }), +}; + +export default themes; diff --git a/react-material-admin-master/src/themes/secondary.js b/react-material-admin-master/src/themes/secondary.js new file mode 100644 index 0000000..2393d35 --- /dev/null +++ b/react-material-admin-master/src/themes/secondary.js @@ -0,0 +1,60 @@ +import tinycolor from 'tinycolor2'; + +const primary = '#FF5C93'; +const secondary = '#536DFE'; +const warning = '#FFC260'; +const success = '#3CD4A0'; +const info = '#9013FE'; + +const lightenRate = 7.5; +const darkenRate = 15; + +const secondaryTheme = { + palette: { + primary: { + main: primary, + light: tinycolor(primary).lighten(lightenRate).toHexString(), + dark: tinycolor(primary).darken(darkenRate).toHexString(), + contrastText: '#fff', + }, + secondary: { + main: secondary, + light: tinycolor(secondary).lighten(lightenRate).toHexString(), + dark: tinycolor(secondary).darken(darkenRate).toHexString(), + }, + warning: { + main: warning, + light: tinycolor(warning).lighten(lightenRate).toHexString(), + dark: tinycolor(warning).darken(darkenRate).toHexString(), + }, + success: { + main: success, + light: tinycolor(success).lighten(lightenRate).toHexString(), + dark: tinycolor(success).darken(darkenRate).toHexString(), + }, + info: { + main: info, + light: tinycolor(info).lighten(lightenRate).toHexString(), + dark: tinycolor(info).darken(darkenRate).toHexString(), + }, + text: { + primary: '#4A4A4A', + secondary: '#6E6E6E', + hint: '#B9B9B9', + }, + background: { + default: '#F6F7FF', + light: '#F3F5FF', + }, + }, + customShadows: { + widget: + '0px 3px 11px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A', + widgetDark: + '0px 3px 18px 0px #4558A3B3, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A', + widgetWide: + '0px 12px 33px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A', + }, +}; + +export default secondaryTheme; diff --git a/react-material-admin-master/src/themes/success.js b/react-material-admin-master/src/themes/success.js new file mode 100644 index 0000000..ce8b186 --- /dev/null +++ b/react-material-admin-master/src/themes/success.js @@ -0,0 +1,63 @@ +import tinycolor from 'tinycolor2'; + +const lightenRate = 7.5; +const darkenRate = 15; + +const primary = '#3CD4A0'; +// const primary = tinycolor("3CD4A0") +// .darken(darkenRate) +// .toHexString(); +const secondary = '#FF5C93'; +const warning = '#FFC260'; +const success = '#3CD4A0'; +const info = '#9013FE'; + +const successTheme = { + palette: { + primary: { + main: primary, + light: tinycolor(primary).lighten(lightenRate).toHexString(), + dark: tinycolor(primary).darken(darkenRate).toHexString(), + }, + secondary: { + main: secondary, + light: tinycolor(secondary).lighten(lightenRate).toHexString(), + dark: tinycolor(secondary).darken(darkenRate).toHexString(), + contrastText: '#FFFFFF', + }, + warning: { + main: warning, + light: tinycolor(warning).lighten(lightenRate).toHexString(), + dark: tinycolor(warning).darken(darkenRate).toHexString(), + }, + success: { + main: success, + light: tinycolor(success).lighten(lightenRate).toHexString(), + dark: tinycolor(success).darken(darkenRate).toHexString(), + }, + info: { + main: info, + light: tinycolor(info).lighten(lightenRate).toHexString(), + dark: tinycolor(info).darken(darkenRate).toHexString(), + }, + text: { + primary: '#4A4A4A', + secondary: '#6E6E6E', + hint: '#B9B9B9', + }, + background: { + default: '#F6F7FF', + light: '#F3F5FF', + }, + }, + customShadows: { + widget: + '0px 3px 11px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A', + widgetDark: + '0px 3px 18px 0px #4558A3B3, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A', + widgetWide: + '0px 12px 33px 0px #E8EAFC, 0 3px 3px -2px #B2B2B21A, 0 1px 8px 0 #9A9A9A1A', + }, +}; + +export default successTheme; diff --git a/react-material-admin-master/src/utils/dayjs.js b/react-material-admin-master/src/utils/dayjs.js new file mode 100644 index 0000000..aa040de --- /dev/null +++ b/react-material-admin-master/src/utils/dayjs.js @@ -0,0 +1,6 @@ +import dayjs from 'dayjs'; +import customParseFormat from 'dayjs/plugin/customParseFormat'; + +dayjs.extend(customParseFormat); + +export default dayjs; diff --git a/react-material-admin-master/src/utils/jwt.js b/react-material-admin-master/src/utils/jwt.js new file mode 100644 index 0000000..6adb44e --- /dev/null +++ b/react-material-admin-master/src/utils/jwt.js @@ -0,0 +1,33 @@ +function decodeBase64Url(value) { + const base64 = value.replace(/-/g, '+').replace(/_/g, '/'); + const padded = base64 + '==='.slice((base64.length + 3) % 4); + const ascii = atob(padded); + + try { + return decodeURIComponent( + ascii + .split('') + .map((char) => `%${(`00${char.charCodeAt(0).toString(16)}`).slice(-2)}`) + .join(''), + ); + } catch { + return ascii; + } +} + +export function decodeJwtPayload(token) { + if (!token || typeof token !== 'string') { + return null; + } + + const parts = token.split('.'); + if (parts.length < 2) { + return null; + } + + try { + return JSON.parse(decodeBase64Url(parts[1])); + } catch { + return null; + } +} diff --git a/react-material-admin-master/tailwind.config.cjs b/react-material-admin-master/tailwind.config.cjs new file mode 100644 index 0000000..854adfb --- /dev/null +++ b/react-material-admin-master/tailwind.config.cjs @@ -0,0 +1,7 @@ +module.exports = { + content: ['./index.html', './src/**/*.{js,jsx,ts,tsx}'], + theme: { + extend: {}, + }, + plugins: [], +}; diff --git a/react-material-admin-master/vite.config.mjs b/react-material-admin-master/vite.config.mjs new file mode 100644 index 0000000..92c3896 --- /dev/null +++ b/react-material-admin-master/vite.config.mjs @@ -0,0 +1,79 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import react from '@vitejs/plugin-react-swc'; +import { defineConfig } from 'vite'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const srcRoot = path.resolve(__dirname, 'src'); + +const srcDirectoryAliases = fs + .readdirSync(srcRoot, { withFileTypes: true }) + .filter((entry) => entry.isDirectory()) + .map((entry) => ({ + find: entry.name, + replacement: path.resolve(srcRoot, entry.name), + })); + +export default defineConfig(({ mode }) => ({ + plugins: [ + react({ + parserConfig: (id) => { + if (id.endsWith('.ts')) { + return { syntax: 'typescript', tsx: false }; + } + if (id.endsWith('.tsx')) { + return { syntax: 'typescript', tsx: true }; + } + if (id.endsWith('.js') || id.endsWith('.jsx')) { + return { syntax: 'ecmascript', jsx: true }; + } + + return undefined; + }, + }), + ], + build: { + outDir: 'build', + }, + css: { + preprocessorOptions: {}, + }, + esbuild: { + loader: 'jsx', + include: /src\/.*\.[jt]sx?$/, + exclude: [], + }, + resolve: { + alias: [ + { find: '@', replacement: srcRoot }, + ...srcDirectoryAliases, + ], + }, + define: { + global: 'globalThis', + 'process.env': '{}', + 'process.env.NODE_ENV': JSON.stringify(mode), + }, + optimizeDeps: { + esbuildOptions: { + loader: { + '.js': 'jsx', + }, + define: { + global: 'globalThis', + }, + }, + }, + server: { + port: 3000, + }, + test: { + globals: true, + environment: 'jsdom', + setupFiles: './src/test/setup.js', + css: true, + fileParallelism: false, + }, +}));