From de915358ccce12bf5d68c052d9754b79b12949c3 Mon Sep 17 00:00:00 2001 From: zhuoda Date: Sun, 17 Mar 2024 22:57:18 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90smart-app=E3=80=91=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0beta=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 26 - README.md | 5 +- .../oa/notice/domain/vo/NoticeVO.java | 2 - .../login/controller/LoginController.java | 6 +- .../mapper/business/oa/notice/NoticeDao.xml | 2 +- .../sa/base/common/domain/PageParam.java | 6 +- .../controller/ChangeLogController.java | 11 +- .../changelog/service/ChangeLogService.java | 7 +- .../java/controller/Controller.java.vm | 4 +- .../src/main/resources/dev/sa-base.yaml | 17 +- .../package-lock.json | 5933 ---- smart-app/.env.development | 3 + smart-app/.env.localhost | 3 + smart-app/.env.pre | 3 + smart-app/.env.production | 3 + smart-app/.env.test | 3 + smart-app/.eslintignore | 18 + smart-app/.eslintrc.cjs | 66 + smart-app/.gitignore | 21 + smart-app/.prettierrc.cjs | 30 + smart-app/index.html | 20 + smart-app/package-lock.json | 22463 ++++++++++++++++ smart-app/package.json | 89 + smart-app/shims-uni.d.ts | 10 + smart-app/src/App.vue | 18 + smart-app/src/api/business/goods/goods-api.js | 31 + .../src/api/business/oa/enterprise-api.js | 37 + smart-app/src/api/business/oa/notice-api.js | 33 + smart-app/src/api/support/change-log-api.js | 24 + smart-app/src/api/support/dict-api.js | 59 + smart-app/src/api/support/feedback-api.js | 17 + smart-app/src/api/support/file-api.js | 14 + smart-app/src/api/system/login-api.js | 40 + .../src/components/dict-select/index.vue | 55 + smart-app/src/components/smart-card/index.vue | 70 + .../components/smart-detail-tabs/index.vue | 73 + .../src/components/smart-enum-radio/index.vue | 42 + .../components/smart-enum-select/index.vue | 49 + .../src/constants/business/erp/goods-const.js | 26 + .../constants/business/oa/enterprise-const.js | 24 + smart-app/src/constants/common-const.js | 70 + smart-app/src/constants/index.js | 26 + .../src/constants/local-storage-key-const.js | 19 + smart-app/src/constants/regular-const.js | 28 + .../src/constants/support/change-log-const.js | 32 + smart-app/src/constants/support/file-const.js | 31 + .../constants/system/login-device-const.js | 31 + smart-app/src/lib/encrypt.js | 87 + smart-app/src/lib/smart-request.js | 128 + smart-app/src/lib/smart-sentry.js | 22 + smart-app/src/lib/smart-support.js | 30 + smart-app/src/main.js | 22 + smart-app/src/manifest.json | 72 + smart-app/src/pages.json | 212 + .../pages/enterprise/enterprise-detail.vue | 245 + .../src/pages/enterprise/enterprise-form.vue | 184 + .../src/pages/enterprise/enterprise-list.vue | 217 + smart-app/src/pages/form/form.vue | 94 + .../src/pages/goods/components/goods-list.vue | 68 + .../components/goods-query-form-popup.vue | 100 + smart-app/src/pages/goods/goods-index.vue | 222 + .../src/pages/home/components/banner.vue | 44 + smart-app/src/pages/home/components/goods.vue | 135 + smart-app/src/pages/home/components/menu.vue | 131 + .../src/pages/home/components/notice.vue | 90 + .../src/pages/home/components/statistics.vue | 87 + smart-app/src/pages/home/index.vue | 80 + .../src/pages/list/components/list-ui1.vue | 154 + .../src/pages/list/components/list-ui2.vue | 143 + .../src/pages/list/components/list-ui3.vue | 335 + .../src/pages/list/components/list-ui4.vue | 246 + smart-app/src/pages/list/list.vue | 47 + .../pages/list2/components/course-list.vue | 108 + .../pages/list2/components/discount-list.vue | 149 + .../pages/list2/components/express-list.vue | 159 + .../src/pages/list2/components/iot-list.vue | 94 + .../pages/list2/components/service-list.vue | 100 + smart-app/src/pages/list2/list.vue | 55 + .../login/components/login-check-box.vue | 57 + .../pages/login/components/other-way-box.vue | 139 + smart-app/src/pages/login/login.vue | 299 + smart-app/src/pages/message/message.vue | 88 + .../src/pages/mine/components/mine-menu.vue | 103 + .../pages/mine/components/mine-user-blue.vue | 111 + .../pages/mine/components/mine-user-white.vue | 177 + smart-app/src/pages/mine/mine.vue | 66 + .../pages/notice/components/notice-list.vue | 72 + .../components/notice-query-form-popup.vue | 115 + smart-app/src/pages/notice/notice-detail.vue | 76 + smart-app/src/pages/notice/notice-index.vue | 224 + .../components/detail-model-path.vue | 118 + .../components/order-detail-base-info.vue | 32 + .../components/order-detail-settle.vue | 102 + .../src/pages/order-detail/order-detail.vue | 52 + .../src/pages/select-people/select-people.vue | 143 + .../support/change-log/change-log-detail.vue | 79 + .../support/change-log/change-log-list.vue | 197 + .../pages/support/feedback/feedback-form.vue | 168 + smart-app/src/plugins/smart-enums-plugin.js | 97 + smart-app/src/shime-uni.d.ts | 6 + smart-app/src/static/common/back-icon.png | Bin 0 -> 925 bytes smart-app/src/static/common/update-app.png | Bin 0 -> 17946 bytes .../src/static/images/form/add-image.png | Bin 0 -> 2674 bytes smart-app/src/static/images/form/add.png | Bin 0 -> 948 bytes smart-app/src/static/images/form/back.png | Bin 0 -> 649 bytes .../src/static/images/form/close-image.png | Bin 0 -> 653 bytes smart-app/src/static/images/form/submit.png | Bin 0 -> 8892 bytes smart-app/src/static/images/form/title-bg.png | Bin 0 -> 7986 bytes .../src/static/images/home/admin-icon.png | Bin 0 -> 3655 bytes .../src/static/images/home/copy-icon.png | Bin 0 -> 387 bytes .../src/static/images/home/detail-icon.png | Bin 0 -> 989 bytes .../src/static/images/home/download-icon.png | Bin 0 -> 11724 bytes .../src/static/images/home/link-icon.png | Bin 0 -> 3569 bytes smart-app/src/static/images/home/qq-icon.png | Bin 0 -> 3695 bytes .../src/static/images/home/refresh-icon.png | Bin 0 -> 3648 bytes .../src/static/images/home/round-icon.png | Bin 0 -> 400 bytes .../src/static/images/home/search-clear.png | Bin 0 -> 2748 bytes .../src/static/images/home/search-icon.png | Bin 0 -> 410 bytes smart-app/src/static/images/home/search.png | Bin 0 -> 1800 bytes .../src/static/images/home/share-icon.png | Bin 0 -> 580 bytes .../images/home/vip-module-background.png | Bin 0 -> 23729 bytes .../static/images/home/vip-module-icon.png | Bin 0 -> 1592 bytes .../src/static/images/home/wechat-icon.png | Bin 0 -> 3714 bytes .../static/images/home/wechat-share-icon.png | Bin 0 -> 5402 bytes .../src/static/images/home/weibo-icon.png | Bin 0 -> 4272 bytes smart-app/src/static/images/index/banner.png | Bin 0 -> 217234 bytes .../src/static/images/index/ic_home_menu1.png | Bin 0 -> 1845 bytes .../static/images/index/ic_home_menu10.png | Bin 0 -> 2049 bytes .../src/static/images/index/ic_home_menu2.png | Bin 0 -> 1952 bytes .../src/static/images/index/ic_home_menu3.png | Bin 0 -> 1772 bytes .../src/static/images/index/ic_home_menu4.png | Bin 0 -> 2254 bytes .../src/static/images/index/ic_home_menu5.png | Bin 0 -> 1879 bytes .../src/static/images/index/ic_home_menu6.png | Bin 0 -> 1787 bytes .../src/static/images/index/ic_home_menu7.png | Bin 0 -> 1475 bytes .../src/static/images/index/ic_home_menu8.png | Bin 0 -> 2002 bytes .../src/static/images/index/ic_home_menu9.png | Bin 0 -> 1790 bytes smart-app/src/static/images/index/ic_scan.png | Bin 0 -> 484 bytes .../src/static/images/index/ic_search.png | Bin 0 -> 650 bytes smart-app/src/static/images/list/add.png | Bin 0 -> 337 bytes smart-app/src/static/images/list/blue.png | Bin 0 -> 424 bytes smart-app/src/static/images/list/camera.png | Bin 0 -> 3458 bytes .../src/static/images/list/form-list.png | Bin 0 -> 2468 bytes smart-app/src/static/images/list/phone.png | Bin 0 -> 874 bytes smart-app/src/static/images/list/red.png | Bin 0 -> 908 bytes .../src/static/images/list/repair-report.png | Bin 0 -> 1026 bytes smart-app/src/static/images/list/success.png | Bin 0 -> 3850 bytes smart-app/src/static/images/list/use.png | Bin 0 -> 5675 bytes .../src/static/images/list3/complete-icon.png | Bin 0 -> 712 bytes smart-app/src/static/images/list3/phone.png | Bin 0 -> 355 bytes .../static/images/list3/photograph-icon.png | Bin 0 -> 723 bytes .../src/static/images/login/bind-error.png | Bin 0 -> 24335 bytes .../src/static/images/login/bind-success.png | Bin 0 -> 26725 bytes .../src/static/images/login/check-in.png | Bin 0 -> 234 bytes .../src/static/images/login/check-out.png | Bin 0 -> 154 bytes .../static/images/login/ios-login-icon.png | Bin 0 -> 3191 bytes .../src/static/images/login/login-logo.png | Bin 0 -> 38962 bytes .../static/images/login/login-password.png | Bin 0 -> 829 bytes .../static/images/login/login-top-back.png | Bin 0 -> 256403 bytes .../static/images/login/login-username.png | Bin 0 -> 1008 bytes .../static/images/login/phone-login-icon.png | Bin 0 -> 2619 bytes smart-app/src/static/images/login/wx-icon.png | Bin 0 -> 449 bytes .../src/static/images/login/wx-login-icon.png | Bin 0 -> 3671 bytes .../src/static/images/message/approve.png | Bin 0 -> 2891 bytes .../src/static/images/message/message.png | Bin 0 -> 2566 bytes smart-app/src/static/images/mine/arrow.png | Bin 0 -> 771 bytes .../static/images/mine/common-select-icon.png | Bin 0 -> 234 bytes .../images/mine/common-unselect-icon.png | Bin 0 -> 154 bytes .../src/static/images/mine/customer-icon.png | Bin 0 -> 895 bytes .../src/static/images/mine/logout-icon.png | Bin 0 -> 1008 bytes .../src/static/images/mine/mine-about-us.png | Bin 0 -> 1986 bytes .../src/static/images/mine/mine-account.png | Bin 0 -> 1825 bytes .../src/static/images/mine/mine-feedback.png | Bin 0 -> 1028 bytes .../static/images/mine/mine-menu-address.png | Bin 0 -> 9068 bytes .../static/images/mine/mine-menu-balance.png | Bin 0 -> 6616 bytes .../static/images/mine/mine-menu-collect.png | Bin 0 -> 7155 bytes .../static/images/mine/mine-menu-coupon.png | Bin 0 -> 6826 bytes .../src/static/images/mine/mine-message.png | Bin 0 -> 695 bytes .../src/static/images/mine/mine-protocol.png | Bin 0 -> 932 bytes .../src/static/images/mine/mine-service.png | Bin 0 -> 1360 bytes .../static/images/mine/mine-version-info.png | Bin 0 -> 1444 bytes .../src/static/images/mine/no-vip-flag.png | Bin 0 -> 10986 bytes smart-app/src/static/images/mine/open-vip.png | Bin 0 -> 6284 bytes .../src/static/images/mine/phone-icon.png | Bin 0 -> 1241 bytes .../src/static/images/mine/top-background.png | Bin 0 -> 140817 bytes .../images/mine/user-agreement-icon.png | Bin 0 -> 1545 bytes .../src/static/images/mine/vip-background.png | Bin 0 -> 6524 bytes smart-app/src/static/images/mine/vip-bg.png | Bin 0 -> 6109 bytes smart-app/src/static/images/mine/vip-icon.png | Bin 0 -> 3989 bytes smart-app/src/static/images/notice/01.png | Bin 0 -> 912 bytes smart-app/src/static/images/notice/02.png | Bin 0 -> 1004 bytes .../src/static/images/pure-list/blue.png | Bin 0 -> 1115 bytes .../src/static/images/pure-list/employ.png | Bin 0 -> 16521 bytes .../src/static/images/pure-list/maintain.png | Bin 0 -> 2939 bytes .../src/static/images/pure-list/obsolete.png | Bin 0 -> 16598 bytes .../src/static/images/pure-list/orange.png | Bin 0 -> 3110 bytes .../src/static/images/pure-list/overdue.png | Bin 0 -> 16683 bytes .../static/images/select-people/select.png | Bin 0 -> 1337 bytes .../src/static/images/tabbar/home-icon-h.png | Bin 0 -> 1101 bytes .../src/static/images/tabbar/home-icon.png | Bin 0 -> 1178 bytes .../src/static/images/tabbar/list-icon-h.png | Bin 0 -> 813 bytes .../src/static/images/tabbar/list-icon.png | Bin 0 -> 864 bytes .../static/images/tabbar/message-icon-h.png | Bin 0 -> 1117 bytes .../src/static/images/tabbar/message-icon.png | Bin 0 -> 1183 bytes .../src/static/images/tabbar/mine-icon-h.png | Bin 0 -> 1063 bytes .../src/static/images/tabbar/mine-icon.png | Bin 0 -> 1106 bytes .../uni-mescroll/mescroll-empty.png | Bin 0 -> 7118 bytes .../uni-mescroll/mescroll-totop.png | Bin 0 -> 288 bytes smart-app/src/static/logo.png | Bin 0 -> 4023 bytes smart-app/src/store/index.js | 12 + .../src/store/modules/system/app-config.js | 55 + smart-app/src/store/modules/system/user.js | 84 + smart-app/src/theme/index.scss | 254 + smart-app/src/uni.scss | 133 + .../uni_modules/uni-data-picker/changelog.md | 77 + .../components/uni-data-picker/keypress.js | 45 + .../uni-data-picker/uni-data-picker.uvue | 380 + .../uni-data-picker/uni-data-picker.vue | 551 + .../uni-data-pickerview/loading.uts | 1 + .../uni-data-pickerview/uni-data-picker.js | 622 + .../uni-data-pickerview/uni-data-picker.uts | 693 + .../uni-data-pickerview.css | 76 + .../uni-data-pickerview.uvue | 69 + .../uni-data-pickerview.vue | 323 + .../uni_modules/uni-data-picker/package.json | 91 + .../src/uni_modules/uni-data-picker/readme.md | 22 + .../src/uni_modules/uni-icons/changelog.md | 40 + .../components/uni-icons/uni-icons.uvue | 91 + .../components/uni-icons/uni-icons.vue | 110 + .../components/uni-icons/uniicons.css | 664 + .../components/uni-icons/uniicons.ttf | Bin 0 -> 35824 bytes .../components/uni-icons/uniicons_file.ts | 664 + .../components/uni-icons/uniicons_file_vue.js | 649 + .../src/uni_modules/uni-icons/package.json | 88 + smart-app/src/uni_modules/uni-icons/readme.md | 8 + .../uni_modules/uni-load-more/changelog.md | 19 + .../components/uni-load-more/i18n/en.json | 5 + .../components/uni-load-more/i18n/index.js | 8 + .../uni-load-more/i18n/zh-Hans.json | 5 + .../uni-load-more/i18n/zh-Hant.json | 5 + .../uni-load-more/uni-load-more.vue | 399 + .../uni_modules/uni-load-more/package.json | 86 + .../src/uni_modules/uni-load-more/readme.md | 14 + .../src/uni_modules/uni-mescroll/changelog.md | 8 + .../mescroll-body/mescroll-body.css | 19 + .../mescroll-body/mescroll-body.vue | 400 + .../beibei/components/mescroll-down.css | 47 + .../beibei/components/mescroll-down.vue | 39 + .../mescroll-diy/beibei/mescroll-body.vue | 360 + .../beibei/mescroll-uni-option.js | 49 + .../mescroll-diy/beibei/mescroll-uni.vue | 434 + .../xinlang/components/mescroll-down.css | 44 + .../xinlang/components/mescroll-down.vue | 53 + .../xinlang/components/mescroll-up.css | 32 + .../xinlang/components/mescroll-up.vue | 40 + .../mescroll-diy/xinlang/mescroll-body.vue | 380 + .../xinlang/mescroll-uni-option.js | 64 + .../mescroll-diy/xinlang/mescroll-uni.vue | 459 + .../mescroll-empty/mescroll-empty.vue | 116 + .../mescroll-uni/components/mescroll-down.css | 55 + .../mescroll-uni/components/mescroll-down.vue | 47 + .../mescroll-uni/components/mescroll-top.vue | 99 + .../mescroll-uni/components/mescroll-up.css | 47 + .../mescroll-uni/components/mescroll-up.vue | 39 + .../components/mescroll-uni/mescroll-i18n.js | 15 + .../mescroll-uni/mescroll-mixins.js | 46 + .../mescroll-uni/mescroll-uni-option.js | 64 + .../components/mescroll-uni/mescroll-uni.css | 36 + .../components/mescroll-uni/mescroll-uni.js | 799 + .../components/mescroll-uni/mescroll-uni.vue | 480 + .../mescroll-uni/mixins/mescroll-comp.js | 47 + .../mescroll-uni/mixins/mescroll-more-item.js | 57 + .../mescroll-uni/mixins/mescroll-more.js | 77 + .../components/mescroll-uni/wxs/mixins.js | 109 + .../components/mescroll-uni/wxs/renderjs.js | 92 + .../components/mescroll-uni/wxs/wxs.wxs | 269 + .../uni-mescroll/hooks/useMescroll.js | 66 + .../uni-mescroll/hooks/useMescrollComp.js | 56 + .../uni-mescroll/hooks/useMescrollMore.js | 69 + .../src/uni_modules/uni-mescroll/package.json | 76 + .../src/uni_modules/uni-mescroll/readme.md | 45 + .../src/uni_modules/uni-scss/changelog.md | 8 + smart-app/src/uni_modules/uni-scss/index.scss | 1 + .../src/uni_modules/uni-scss/package.json | 82 + smart-app/src/uni_modules/uni-scss/readme.md | 4 + .../uni_modules/uni-scss/styles/index.scss | 7 + .../uni-scss/styles/setting/_border.scss | 3 + .../uni-scss/styles/setting/_color.scss | 66 + .../uni-scss/styles/setting/_radius.scss | 55 + .../uni-scss/styles/setting/_space.scss | 56 + .../uni-scss/styles/setting/_styles.scss | 167 + .../uni-scss/styles/setting/_text.scss | 24 + .../uni-scss/styles/setting/_variables.scss | 146 + .../uni-scss/styles/tools/functions.scss | 19 + smart-app/src/uni_modules/uni-scss/theme.scss | 31 + .../src/uni_modules/uni-scss/variables.scss | 62 + .../y-tabs/components/css/index.scss | 464 + .../uni_modules/y-tabs/components/js/const.js | 194 + .../y-tabs/components/js/touchMixin.js | 75 + .../uni_modules/y-tabs/components/js/uitls.js | 177 + .../y-tabs/components/js/utilMixin.js | 8 + .../y-tabs/components/y-tab/y-tab.vue | 238 + .../y-tabs/components/y-tabs/y-tabs.vue | 1363 + smart-app/src/utils/str-util.js | 46 + smart-app/vite.config.js | 37 + 304 files changed, 44899 insertions(+), 5992 deletions(-) delete mode 100644 .gitignore delete mode 100644 smart-admin-web/javascript-ant-design-vue3/package-lock.json create mode 100644 smart-app/.env.development create mode 100644 smart-app/.env.localhost create mode 100644 smart-app/.env.pre create mode 100644 smart-app/.env.production create mode 100644 smart-app/.env.test create mode 100644 smart-app/.eslintignore create mode 100644 smart-app/.eslintrc.cjs create mode 100644 smart-app/.gitignore create mode 100644 smart-app/.prettierrc.cjs create mode 100644 smart-app/index.html create mode 100644 smart-app/package-lock.json create mode 100644 smart-app/package.json create mode 100644 smart-app/shims-uni.d.ts create mode 100644 smart-app/src/App.vue create mode 100644 smart-app/src/api/business/goods/goods-api.js create mode 100644 smart-app/src/api/business/oa/enterprise-api.js create mode 100644 smart-app/src/api/business/oa/notice-api.js create mode 100644 smart-app/src/api/support/change-log-api.js create mode 100644 smart-app/src/api/support/dict-api.js create mode 100644 smart-app/src/api/support/feedback-api.js create mode 100644 smart-app/src/api/support/file-api.js create mode 100644 smart-app/src/api/system/login-api.js create mode 100644 smart-app/src/components/dict-select/index.vue create mode 100644 smart-app/src/components/smart-card/index.vue create mode 100644 smart-app/src/components/smart-detail-tabs/index.vue create mode 100644 smart-app/src/components/smart-enum-radio/index.vue create mode 100644 smart-app/src/components/smart-enum-select/index.vue create mode 100644 smart-app/src/constants/business/erp/goods-const.js create mode 100644 smart-app/src/constants/business/oa/enterprise-const.js create mode 100644 smart-app/src/constants/common-const.js create mode 100644 smart-app/src/constants/index.js create mode 100644 smart-app/src/constants/local-storage-key-const.js create mode 100644 smart-app/src/constants/regular-const.js create mode 100644 smart-app/src/constants/support/change-log-const.js create mode 100644 smart-app/src/constants/support/file-const.js create mode 100644 smart-app/src/constants/system/login-device-const.js create mode 100644 smart-app/src/lib/encrypt.js create mode 100644 smart-app/src/lib/smart-request.js create mode 100644 smart-app/src/lib/smart-sentry.js create mode 100644 smart-app/src/lib/smart-support.js create mode 100644 smart-app/src/main.js create mode 100644 smart-app/src/manifest.json create mode 100644 smart-app/src/pages.json create mode 100644 smart-app/src/pages/enterprise/enterprise-detail.vue create mode 100644 smart-app/src/pages/enterprise/enterprise-form.vue create mode 100644 smart-app/src/pages/enterprise/enterprise-list.vue create mode 100644 smart-app/src/pages/form/form.vue create mode 100644 smart-app/src/pages/goods/components/goods-list.vue create mode 100644 smart-app/src/pages/goods/components/goods-query-form-popup.vue create mode 100644 smart-app/src/pages/goods/goods-index.vue create mode 100644 smart-app/src/pages/home/components/banner.vue create mode 100644 smart-app/src/pages/home/components/goods.vue create mode 100644 smart-app/src/pages/home/components/menu.vue create mode 100644 smart-app/src/pages/home/components/notice.vue create mode 100644 smart-app/src/pages/home/components/statistics.vue create mode 100644 smart-app/src/pages/home/index.vue create mode 100644 smart-app/src/pages/list/components/list-ui1.vue create mode 100644 smart-app/src/pages/list/components/list-ui2.vue create mode 100644 smart-app/src/pages/list/components/list-ui3.vue create mode 100644 smart-app/src/pages/list/components/list-ui4.vue create mode 100644 smart-app/src/pages/list/list.vue create mode 100644 smart-app/src/pages/list2/components/course-list.vue create mode 100644 smart-app/src/pages/list2/components/discount-list.vue create mode 100644 smart-app/src/pages/list2/components/express-list.vue create mode 100644 smart-app/src/pages/list2/components/iot-list.vue create mode 100644 smart-app/src/pages/list2/components/service-list.vue create mode 100644 smart-app/src/pages/list2/list.vue create mode 100644 smart-app/src/pages/login/components/login-check-box.vue create mode 100644 smart-app/src/pages/login/components/other-way-box.vue create mode 100644 smart-app/src/pages/login/login.vue create mode 100644 smart-app/src/pages/message/message.vue create mode 100644 smart-app/src/pages/mine/components/mine-menu.vue create mode 100644 smart-app/src/pages/mine/components/mine-user-blue.vue create mode 100644 smart-app/src/pages/mine/components/mine-user-white.vue create mode 100644 smart-app/src/pages/mine/mine.vue create mode 100644 smart-app/src/pages/notice/components/notice-list.vue create mode 100644 smart-app/src/pages/notice/components/notice-query-form-popup.vue create mode 100644 smart-app/src/pages/notice/notice-detail.vue create mode 100644 smart-app/src/pages/notice/notice-index.vue create mode 100644 smart-app/src/pages/order-detail/components/detail-model-path.vue create mode 100644 smart-app/src/pages/order-detail/components/order-detail-base-info.vue create mode 100644 smart-app/src/pages/order-detail/components/order-detail-settle.vue create mode 100644 smart-app/src/pages/order-detail/order-detail.vue create mode 100644 smart-app/src/pages/select-people/select-people.vue create mode 100644 smart-app/src/pages/support/change-log/change-log-detail.vue create mode 100644 smart-app/src/pages/support/change-log/change-log-list.vue create mode 100644 smart-app/src/pages/support/feedback/feedback-form.vue create mode 100644 smart-app/src/plugins/smart-enums-plugin.js create mode 100644 smart-app/src/shime-uni.d.ts create mode 100644 smart-app/src/static/common/back-icon.png create mode 100644 smart-app/src/static/common/update-app.png create mode 100644 smart-app/src/static/images/form/add-image.png create mode 100644 smart-app/src/static/images/form/add.png create mode 100644 smart-app/src/static/images/form/back.png create mode 100644 smart-app/src/static/images/form/close-image.png create mode 100644 smart-app/src/static/images/form/submit.png create mode 100644 smart-app/src/static/images/form/title-bg.png create mode 100644 smart-app/src/static/images/home/admin-icon.png create mode 100644 smart-app/src/static/images/home/copy-icon.png create mode 100644 smart-app/src/static/images/home/detail-icon.png create mode 100644 smart-app/src/static/images/home/download-icon.png create mode 100644 smart-app/src/static/images/home/link-icon.png create mode 100644 smart-app/src/static/images/home/qq-icon.png create mode 100644 smart-app/src/static/images/home/refresh-icon.png create mode 100644 smart-app/src/static/images/home/round-icon.png create mode 100644 smart-app/src/static/images/home/search-clear.png create mode 100644 smart-app/src/static/images/home/search-icon.png create mode 100644 smart-app/src/static/images/home/search.png create mode 100644 smart-app/src/static/images/home/share-icon.png create mode 100644 smart-app/src/static/images/home/vip-module-background.png create mode 100644 smart-app/src/static/images/home/vip-module-icon.png create mode 100644 smart-app/src/static/images/home/wechat-icon.png create mode 100644 smart-app/src/static/images/home/wechat-share-icon.png create mode 100644 smart-app/src/static/images/home/weibo-icon.png create mode 100644 smart-app/src/static/images/index/banner.png create mode 100644 smart-app/src/static/images/index/ic_home_menu1.png create mode 100644 smart-app/src/static/images/index/ic_home_menu10.png create mode 100644 smart-app/src/static/images/index/ic_home_menu2.png create mode 100644 smart-app/src/static/images/index/ic_home_menu3.png create mode 100644 smart-app/src/static/images/index/ic_home_menu4.png create mode 100644 smart-app/src/static/images/index/ic_home_menu5.png create mode 100644 smart-app/src/static/images/index/ic_home_menu6.png create mode 100644 smart-app/src/static/images/index/ic_home_menu7.png create mode 100644 smart-app/src/static/images/index/ic_home_menu8.png create mode 100644 smart-app/src/static/images/index/ic_home_menu9.png create mode 100644 smart-app/src/static/images/index/ic_scan.png create mode 100644 smart-app/src/static/images/index/ic_search.png create mode 100644 smart-app/src/static/images/list/add.png create mode 100644 smart-app/src/static/images/list/blue.png create mode 100644 smart-app/src/static/images/list/camera.png create mode 100644 smart-app/src/static/images/list/form-list.png create mode 100644 smart-app/src/static/images/list/phone.png create mode 100644 smart-app/src/static/images/list/red.png create mode 100644 smart-app/src/static/images/list/repair-report.png create mode 100644 smart-app/src/static/images/list/success.png create mode 100644 smart-app/src/static/images/list/use.png create mode 100644 smart-app/src/static/images/list3/complete-icon.png create mode 100644 smart-app/src/static/images/list3/phone.png create mode 100644 smart-app/src/static/images/list3/photograph-icon.png create mode 100644 smart-app/src/static/images/login/bind-error.png create mode 100644 smart-app/src/static/images/login/bind-success.png create mode 100644 smart-app/src/static/images/login/check-in.png create mode 100644 smart-app/src/static/images/login/check-out.png create mode 100644 smart-app/src/static/images/login/ios-login-icon.png create mode 100644 smart-app/src/static/images/login/login-logo.png create mode 100644 smart-app/src/static/images/login/login-password.png create mode 100644 smart-app/src/static/images/login/login-top-back.png create mode 100644 smart-app/src/static/images/login/login-username.png create mode 100644 smart-app/src/static/images/login/phone-login-icon.png create mode 100644 smart-app/src/static/images/login/wx-icon.png create mode 100644 smart-app/src/static/images/login/wx-login-icon.png create mode 100644 smart-app/src/static/images/message/approve.png create mode 100644 smart-app/src/static/images/message/message.png create mode 100644 smart-app/src/static/images/mine/arrow.png create mode 100644 smart-app/src/static/images/mine/common-select-icon.png create mode 100644 smart-app/src/static/images/mine/common-unselect-icon.png create mode 100644 smart-app/src/static/images/mine/customer-icon.png create mode 100644 smart-app/src/static/images/mine/logout-icon.png create mode 100644 smart-app/src/static/images/mine/mine-about-us.png create mode 100644 smart-app/src/static/images/mine/mine-account.png create mode 100644 smart-app/src/static/images/mine/mine-feedback.png create mode 100644 smart-app/src/static/images/mine/mine-menu-address.png create mode 100644 smart-app/src/static/images/mine/mine-menu-balance.png create mode 100644 smart-app/src/static/images/mine/mine-menu-collect.png create mode 100644 smart-app/src/static/images/mine/mine-menu-coupon.png create mode 100644 smart-app/src/static/images/mine/mine-message.png create mode 100644 smart-app/src/static/images/mine/mine-protocol.png create mode 100644 smart-app/src/static/images/mine/mine-service.png create mode 100644 smart-app/src/static/images/mine/mine-version-info.png create mode 100644 smart-app/src/static/images/mine/no-vip-flag.png create mode 100644 smart-app/src/static/images/mine/open-vip.png create mode 100644 smart-app/src/static/images/mine/phone-icon.png create mode 100644 smart-app/src/static/images/mine/top-background.png create mode 100644 smart-app/src/static/images/mine/user-agreement-icon.png create mode 100644 smart-app/src/static/images/mine/vip-background.png create mode 100644 smart-app/src/static/images/mine/vip-bg.png create mode 100644 smart-app/src/static/images/mine/vip-icon.png create mode 100644 smart-app/src/static/images/notice/01.png create mode 100644 smart-app/src/static/images/notice/02.png create mode 100644 smart-app/src/static/images/pure-list/blue.png create mode 100644 smart-app/src/static/images/pure-list/employ.png create mode 100644 smart-app/src/static/images/pure-list/maintain.png create mode 100644 smart-app/src/static/images/pure-list/obsolete.png create mode 100644 smart-app/src/static/images/pure-list/orange.png create mode 100644 smart-app/src/static/images/pure-list/overdue.png create mode 100644 smart-app/src/static/images/select-people/select.png create mode 100644 smart-app/src/static/images/tabbar/home-icon-h.png create mode 100644 smart-app/src/static/images/tabbar/home-icon.png create mode 100644 smart-app/src/static/images/tabbar/list-icon-h.png create mode 100644 smart-app/src/static/images/tabbar/list-icon.png create mode 100644 smart-app/src/static/images/tabbar/message-icon-h.png create mode 100644 smart-app/src/static/images/tabbar/message-icon.png create mode 100644 smart-app/src/static/images/tabbar/mine-icon-h.png create mode 100644 smart-app/src/static/images/tabbar/mine-icon.png create mode 100644 smart-app/src/static/images/uni-modules/uni-mescroll/mescroll-empty.png create mode 100644 smart-app/src/static/images/uni-modules/uni-mescroll/mescroll-totop.png create mode 100644 smart-app/src/static/logo.png create mode 100644 smart-app/src/store/index.js create mode 100644 smart-app/src/store/modules/system/app-config.js create mode 100644 smart-app/src/store/modules/system/user.js create mode 100644 smart-app/src/theme/index.scss create mode 100644 smart-app/src/uni.scss create mode 100644 smart-app/src/uni_modules/uni-data-picker/changelog.md create mode 100644 smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js create mode 100644 smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.uvue create mode 100644 smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue create mode 100644 smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/loading.uts create mode 100644 smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js create mode 100644 smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.uts create mode 100644 smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.css create mode 100644 smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.uvue create mode 100644 smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue create mode 100644 smart-app/src/uni_modules/uni-data-picker/package.json create mode 100644 smart-app/src/uni_modules/uni-data-picker/readme.md create mode 100644 smart-app/src/uni_modules/uni-icons/changelog.md create mode 100644 smart-app/src/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue create mode 100644 smart-app/src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue create mode 100644 smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons.css create mode 100644 smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf create mode 100644 smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts create mode 100644 smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js create mode 100644 smart-app/src/uni_modules/uni-icons/package.json create mode 100644 smart-app/src/uni_modules/uni-icons/readme.md create mode 100644 smart-app/src/uni_modules/uni-load-more/changelog.md create mode 100644 smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json create mode 100644 smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js create mode 100644 smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json create mode 100644 smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json create mode 100644 smart-app/src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue create mode 100644 smart-app/src/uni_modules/uni-load-more/package.json create mode 100644 smart-app/src/uni_modules/uni-load-more/readme.md create mode 100644 smart-app/src/uni_modules/uni-mescroll/changelog.md create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-body/mescroll-body.css create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-body/mescroll-body.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/components/mescroll-down.css create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/components/mescroll-down.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-body.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-uni-option.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-uni.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-down.css create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-down.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-up.css create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-up.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-body.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-uni-option.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-uni.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-empty/mescroll-empty.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-down.css create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-down.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-top.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-up.css create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-up.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-i18n.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-mixins.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni-option.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.css create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.vue create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-comp.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-more-item.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-more.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/mixins.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/renderjs.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/wxs.wxs create mode 100644 smart-app/src/uni_modules/uni-mescroll/hooks/useMescroll.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/hooks/useMescrollComp.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/hooks/useMescrollMore.js create mode 100644 smart-app/src/uni_modules/uni-mescroll/package.json create mode 100644 smart-app/src/uni_modules/uni-mescroll/readme.md create mode 100644 smart-app/src/uni_modules/uni-scss/changelog.md create mode 100644 smart-app/src/uni_modules/uni-scss/index.scss create mode 100644 smart-app/src/uni_modules/uni-scss/package.json create mode 100644 smart-app/src/uni_modules/uni-scss/readme.md create mode 100644 smart-app/src/uni_modules/uni-scss/styles/index.scss create mode 100644 smart-app/src/uni_modules/uni-scss/styles/setting/_border.scss create mode 100644 smart-app/src/uni_modules/uni-scss/styles/setting/_color.scss create mode 100644 smart-app/src/uni_modules/uni-scss/styles/setting/_radius.scss create mode 100644 smart-app/src/uni_modules/uni-scss/styles/setting/_space.scss create mode 100644 smart-app/src/uni_modules/uni-scss/styles/setting/_styles.scss create mode 100644 smart-app/src/uni_modules/uni-scss/styles/setting/_text.scss create mode 100644 smart-app/src/uni_modules/uni-scss/styles/setting/_variables.scss create mode 100644 smart-app/src/uni_modules/uni-scss/styles/tools/functions.scss create mode 100644 smart-app/src/uni_modules/uni-scss/theme.scss create mode 100644 smart-app/src/uni_modules/uni-scss/variables.scss create mode 100644 smart-app/src/uni_modules/y-tabs/components/css/index.scss create mode 100644 smart-app/src/uni_modules/y-tabs/components/js/const.js create mode 100644 smart-app/src/uni_modules/y-tabs/components/js/touchMixin.js create mode 100644 smart-app/src/uni_modules/y-tabs/components/js/uitls.js create mode 100644 smart-app/src/uni_modules/y-tabs/components/js/utilMixin.js create mode 100644 smart-app/src/uni_modules/y-tabs/components/y-tab/y-tab.vue create mode 100644 smart-app/src/uni_modules/y-tabs/components/y-tabs/y-tabs.vue create mode 100644 smart-app/src/utils/str-util.js create mode 100644 smart-app/vite.config.js diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b516240b..00000000 --- a/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -HELP.md -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/** -!**/src/test/** - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### front ### -**/dist -**/node_modules -**/.vscode - diff --git a/README.md b/README.md index 02061536..db409222 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,11 @@ ### **技术体系** - 前端:Vue3 + Vite5 + Vue-Router + Pinia + Ant Design Vue 4.X -- 移动端:uniapp + uview2.x +- 移动端:uniapp (vue3版本) + uni-ui + (同时支持APP、小程序、H5) - 后端:SpringBoot + Sa Token + Mybatis-plus + 多种数据库 -- 在线预览:[https://preview.smartadmin.vip](https://preview.smartadmin.vip) +- 电脑在线预览:[https://preview.smartadmin.vip](https://preview.smartadmin.vip) - 官方文档:[https://smartadmin.vip](https://smartadmin.vip) +- 移动端在线预览:[https://app.smartadmin.vip](https://app.smartadmin.vip/#/pages/login/login) ### **理念与思想** - 我们分享的不是徒劳无功的各种功能,而是必须有的功能,如:网络安全、数据变动记录、系统说明文档、版本更新记录、意见反馈、日志、心跳、单号生成器等等。 diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java index 459454fd..dbfcfacc 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java +++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/oa/notice/domain/vo/NoticeVO.java @@ -44,11 +44,9 @@ public class NoticeVO { private LocalDateTime publishTime; @Schema(description = "作者") - @NotBlank(message = "作者不能为空") private String author; @Schema(description = "来源") - @NotBlank(message = "标题不能为空") private String source; @Schema(description = "文号") diff --git a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java index 06d940bd..9bf884d5 100644 --- a/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java +++ b/smart-admin-api/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/login/controller/LoginController.java @@ -1,5 +1,6 @@ package net.lab1024.sa.admin.module.system.login.controller; +import cn.dev33.satoken.stp.StpUtil; import cn.hutool.extra.servlet.ServletUtil; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; @@ -47,7 +48,10 @@ public class LoginController { @GetMapping("/login/getLoginInfo") @Operation(summary = "获取登录结果信息 @author 卓大") public ResponseDTO getLoginInfo() { - return ResponseDTO.ok(loginService.getLoginResult(AdminRequestUtil.getRequestUser())); + LoginResultVO loginResult = loginService.getLoginResult(AdminRequestUtil.getRequestUser()); + String tokenValue = StpUtil.getTokenValue(); + loginResult.setToken(tokenValue); + return ResponseDTO.ok(loginResult); } @Operation(summary = "退出登陆 @author 卓大") diff --git a/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeDao.xml b/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeDao.xml index 11a97d6c..7c623e33 100644 --- a/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeDao.xml +++ b/smart-admin-api/sa-admin/src/main/resources/mapper/business/oa/notice/NoticeDao.xml @@ -124,7 +124,7 @@ AND ( INSTR(t_notice.title,#{query.keywords}) OR INSTR(t_notice.author,#{query.keywords}) - OR INSTR(t_notice.documentNumber,#{query.keywords}) + OR INSTR(t_notice.document_number,#{query.keywords}) OR INSTR(t_notice.source,#{query.keywords}) ) diff --git a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/domain/PageParam.java b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/domain/PageParam.java index f9550d87..6e33a4a3 100644 --- a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/domain/PageParam.java +++ b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/common/domain/PageParam.java @@ -25,12 +25,12 @@ public class PageParam { @Schema(description = "页码(不能为空)", example = "1") @NotNull(message = "分页参数不能为空") - private Integer pageNum; + private Long pageNum; @Schema(description = "每页数量(不能为空)", example = "10") @NotNull(message = "每页数量不能为空") - @Max(value = 200, message = "每页最大为200") - private Integer pageSize; + @Max(value = 500, message = "每页最大为500") + private Long pageSize; @Schema(description = "是否查询总条数") protected Boolean searchCount; diff --git a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/changelog/controller/ChangeLogController.java b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/changelog/controller/ChangeLogController.java index 0efaf239..48a60bb7 100644 --- a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/changelog/controller/ChangeLogController.java +++ b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/changelog/controller/ChangeLogController.java @@ -9,9 +9,7 @@ import net.lab1024.sa.base.constant.SwaggerTagConst; import net.lab1024.sa.base.module.support.changelog.domain.form.ChangeLogQueryForm; import net.lab1024.sa.base.module.support.changelog.domain.vo.ChangeLogVO; import net.lab1024.sa.base.module.support.changelog.service.ChangeLogService; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; @@ -36,4 +34,11 @@ public class ChangeLogController extends SupportBaseController { public ResponseDTO> queryPage(@RequestBody @Valid ChangeLogQueryForm queryForm) { return ResponseDTO.ok(changeLogService.queryPage(queryForm)); } + + + @Operation(summary = "变更内容详情 @author 卓大") + @GetMapping("/changeLog/getDetail/{changeLogId}") + public ResponseDTO getDetail(@PathVariable Long changeLogId) { + return ResponseDTO.ok(changeLogService.getById(changeLogId)); + } } \ No newline at end of file diff --git a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/changelog/service/ChangeLogService.java b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/changelog/service/ChangeLogService.java index 26310e56..8823211e 100644 --- a/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/changelog/service/ChangeLogService.java +++ b/smart-admin-api/sa-base/src/main/java/net/lab1024/sa/base/module/support/changelog/service/ChangeLogService.java @@ -33,7 +33,6 @@ public class ChangeLogService { /** * 分页查询 - * */ public PageResult queryPage(ChangeLogQueryForm queryForm) { Page page = SmartPageUtil.convert2PageQuery(queryForm); @@ -57,7 +56,6 @@ public class ChangeLogService { /** * 更新 - * */ public synchronized ResponseDTO update(ChangeLogUpdateForm updateForm) { ChangeLogEntity existVersion = changeLogDao.selectByVersion(updateForm.getVersion()); @@ -71,7 +69,6 @@ public class ChangeLogService { /** * 批量删除 - * */ public synchronized ResponseDTO batchDelete(List idList) { if (CollectionUtils.isEmpty(idList)) { @@ -93,4 +90,8 @@ public class ChangeLogService { changeLogDao.deleteById(changeLogId); return ResponseDTO.ok(); } + + public ChangeLogVO getById(Long changeLogId) { + return SmartBeanUtil.copy(changeLogDao.selectById(changeLogId), ChangeLogVO.class); + } } diff --git a/smart-admin-api/sa-base/src/main/resources/code-generator-template/java/controller/Controller.java.vm b/smart-admin-api/sa-base/src/main/resources/code-generator-template/java/controller/Controller.java.vm index 666adc68..b6296487 100644 --- a/smart-admin-api/sa-base/src/main/resources/code-generator-template/java/controller/Controller.java.vm +++ b/smart-admin-api/sa-base/src/main/resources/code-generator-template/java/controller/Controller.java.vm @@ -60,9 +60,9 @@ public class ${name.upperCamel}Controller { #if($deleteInfo.deleteEnum == "Single" || $deleteInfo.deleteEnum == "SingleAndBatch") @Operation(summary = "单个删除 @author ${basic.backendAuthor}") - @GetMapping("/${name.lowerCamel}/delete/{${name.lowerCamel}Id}") + @GetMapping("/${name.lowerCamel}/delete/{${primaryKeyFieldName}}") public ResponseDTO batchDelete(@PathVariable ${primaryKeyJavaType} ${primaryKeyFieldName}) { - return ${name.lowerCamel}Service.delete(${name.lowerCamel}Id); + return ${name.lowerCamel}Service.delete(${primaryKeyFieldName}); } #end #end diff --git a/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml b/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml index 53767a68..29d3c1d7 100644 --- a/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml +++ b/smart-admin-api/sa-base/src/main/resources/dev/sa-base.yaml @@ -65,22 +65,6 @@ server: pattern: "%t %{X-Forwarded-For}i %a %r %s (%D ms) %I (%B byte)" -# 文件上传 配置 -#file: -# storage: -# mode: local -# local: -# upload-path: /home/smart_admin_v3/upload/ #文件上传目录 -# url-prefix: -# cloud: -# region: oss-cn-qingdao -# endpoint: oss-cn-qingdao.aliyuncs.com -# bucket-name: common -# access-key: -# secret-key: -# url-prefix: https://${file.storage.cloud.bucket-name}.${file.storage.cloud.endpoint}/ -# private-url-expire-seconds: 3600 - # 文件上传 配置 file: storage: @@ -97,6 +81,7 @@ file: url-prefix: https://${file.storage.cloud.bucket-name}.${file.storage.cloud.endpoint}/ private-url-expire-seconds: 3600 + # open api配置 springdoc: swagger-ui: diff --git a/smart-admin-web/javascript-ant-design-vue3/package-lock.json b/smart-admin-web/javascript-ant-design-vue3/package-lock.json deleted file mode 100644 index 51a728f3..00000000 --- a/smart-admin-web/javascript-ant-design-vue3/package-lock.json +++ /dev/null @@ -1,5933 +0,0 @@ -{ - "name": "smartadmin", - "version": "3.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "smartadmin", - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "@wangeditor/editor": "5.1.14", - "@wangeditor/editor-for-vue": "5.1.12", - "ant-design-vue": "4.0.7", - "axios": "1.4.0", - "clipboard": "2.0.11", - "crypto-js": "4.1.1", - "decimal.js": "10.3.1", - "diff": "5.1.0", - "diff2html": "3.4.18", - "echarts": "5.4.3", - "highlight.js": "11.8.0", - "js-cookie": "3.0.5", - "lodash": "4.17.21", - "lunar-javascript": "1.6.3", - "mitt": "3.0.0", - "nprogress": "0.2.0", - "pinia": "2.1.6", - "sm-crypto": "^0.3.13", - "sortablejs": "1.15.0", - "ua-parser-js": "1.0.35", - "v-viewer": "~1.6.4", - "vue": "3.3.4", - "vue-i18n": "9.2.2", - "vue-router": "4.2.4", - "vue3-json-viewer": "2.2.2" - }, - "devDependencies": { - "@vitejs/plugin-vue": "4.5.0", - "@vue/compiler-sfc": "3.3.4", - "eslint": "^8.16.0", - "eslint-config-prettier": "~9.0.0", - "eslint-plugin-prettier": "~5.0.0", - "eslint-plugin-vue": "~9.17.0", - "less": "~4.2.0", - "less-loader": "~11.1.3", - "prettier": "~3.0.2", - "rimraf": "~5.0.1", - "stylelint": "~14.8.5", - "stylelint-config-prettier": "~9.0.3", - "stylelint-config-standard": "~25.0.0", - "stylelint-order": "~5.0.0", - "terser": "~5.19.2", - "vite": "5.0.0", - "vue-eslint-parser": "~9.3.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmmirror.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ant-design/colors": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz", - "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", - "dependencies": { - "@ctrl/tinycolor": "^3.4.0" - } - }, - "node_modules/@ant-design/icons-svg": { - "version": "4.3.1", - "resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz", - "integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==" - }, - "node_modules/@ant-design/icons-vue": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/@ant-design/icons-vue/-/icons-vue-7.0.1.tgz", - "integrity": "sha512-eCqY2unfZK6Fe02AwFlDHLfoyEFreP6rBwAZMIJ1LugmfMiVgwWDYlp1YsRugaPtICYOabV1iWxXdP12u9U43Q==", - "dependencies": { - "@ant-design/colors": "^6.0.0", - "@ant-design/icons-svg": "^4.2.1" - }, - "peerDependencies": { - "vue": ">=3.0.3" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.23.8", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.8.tgz", - "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@ctrl/tinycolor": { - "version": "3.6.1", - "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", - "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@emotion/hash": { - "version": "0.9.1", - "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" - }, - "node_modules/@emotion/unitless": { - "version": "0.8.1", - "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "node_modules/@intlify/core-base": { - "version": "9.2.2", - "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.2.2.tgz", - "integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==", - "dependencies": { - "@intlify/devtools-if": "9.2.2", - "@intlify/message-compiler": "9.2.2", - "@intlify/shared": "9.2.2", - "@intlify/vue-devtools": "9.2.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/devtools-if": { - "version": "9.2.2", - "resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.2.2.tgz", - "integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==", - "dependencies": { - "@intlify/shared": "9.2.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/message-compiler": { - "version": "9.2.2", - "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.2.2.tgz", - "integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==", - "dependencies": { - "@intlify/shared": "9.2.2", - "source-map": "0.6.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/shared": { - "version": "9.2.2", - "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.2.2.tgz", - "integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==", - "engines": { - "node": ">= 14" - } - }, - "node_modules/@intlify/vue-devtools": { - "version": "9.2.2", - "resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz", - "integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==", - "dependencies": { - "@intlify/core-base": "9.2.2", - "@intlify/shared": "9.2.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@pkgr/core": { - "version": "0.1.0", - "resolved": "https://registry.npmmirror.com/@pkgr/core/-/core-0.1.0.tgz", - "integrity": "sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.4.tgz", - "integrity": "sha512-ub/SN3yWqIv5CWiAZPHVS1DloyZsJbtXmX4HxUTIpS0BHm9pW5iYBo2mIZi+hE3AeiTzHz33blwSnhdUo+9NpA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.4.tgz", - "integrity": "sha512-ehcBrOR5XTl0W0t2WxfTyHCR/3Cq2jfb+I4W+Ch8Y9b5G+vbAecVv0Fx/J1QKktOrgUYsIKxWAKgIpvw56IFNA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.4.tgz", - "integrity": "sha512-1fzh1lWExwSTWy8vJPnNbNM02WZDS8AW3McEOb7wW+nPChLKf3WG2aG7fhaUmfX5FKw9zhsF5+MBwArGyNM7NA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.4.tgz", - "integrity": "sha512-Gc6cukkF38RcYQ6uPdiXi70JB0f29CwcQ7+r4QpfNpQFVHXRd0DfWFidoGxjSx1DwOETM97JPz1RXL5ISSB0pA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.4.tgz", - "integrity": "sha512-g21RTeFzoTl8GxosHbnQZ0/JkuFIB13C3T7Y0HtKzOXmoHhewLbVTFBQZu+z5m9STH6FZ7L/oPgU4Nm5ErN2fw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.4.tgz", - "integrity": "sha512-TVYVWD/SYwWzGGnbfTkrNpdE4HON46orgMNHCivlXmlsSGQOx/OHHYiQcMIOx38/GWgwr/po2LBn7wypkWw/Mg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.4.tgz", - "integrity": "sha512-XcKvuendwizYYhFxpvQ3xVpzje2HHImzg33wL9zvxtj77HvPStbSGI9czrdbfrf8DGMcNNReH9pVZv8qejAQ5A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.4.tgz", - "integrity": "sha512-LFHS/8Q+I9YA0yVETyjonMJ3UA+DczeBd/MqNEzsGSTdNvSJa1OJZcSH8GiXLvcizgp9AlHs2walqRcqzjOi3A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.4.tgz", - "integrity": "sha512-dIYgo+j1+yfy81i0YVU5KnQrIJZE8ERomx17ReU4GREjGtDW4X+nvkBak2xAUpyqLs4eleDSj3RrV72fQos7zw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.4.tgz", - "integrity": "sha512-RoaYxjdHQ5TPjaPrLsfKqR3pakMr3JGqZ+jZM0zP2IkDtsGa4CqYaWSfQmZVgFUCgLrTnzX+cnHS3nfl+kB6ZQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.4.tgz", - "integrity": "sha512-T8Q3XHV+Jjf5e49B4EAaLKV74BbX7/qYBRQ8Wop/+TyyU0k+vSjiLVSHNWdVd1goMjZcbhDmYZUYW5RFqkBNHQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.4.tgz", - "integrity": "sha512-z+JQ7JirDUHAsMecVydnBPWLwJjbppU+7LZjffGf+Jvrxq+dVjIE7By163Sc9DKc3ADSU50qPVw0KonBS+a+HQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.4.tgz", - "integrity": "sha512-LfdGXCV9rdEify1oxlN9eamvDSjv9md9ZVMAbNHA87xqIfFCxImxan9qZ8+Un54iK2nnqPlbnSi4R54ONtbWBw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@simonwep/pickr": { - "version": "1.8.2", - "resolved": "https://registry.npmmirror.com/@simonwep/pickr/-/pickr-1.8.2.tgz", - "integrity": "sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==", - "dependencies": { - "core-js": "^3.15.1", - "nanopop": "^2.1.0" - } - }, - "node_modules/@transloadit/prettier-bytes": { - "version": "0.0.7", - "resolved": "https://registry.npmmirror.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", - "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==" - }, - "node_modules/@types/eslint": { - "version": "8.56.1", - "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.1.tgz", - "integrity": "sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ==", - "dev": true, - "peer": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "peer": true - }, - "node_modules/@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.10.8", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.10.8.tgz", - "integrity": "sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA==", - "dev": true, - "peer": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "dev": true - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/@uppy/companion-client": { - "version": "2.2.2", - "resolved": "https://registry.npmmirror.com/@uppy/companion-client/-/companion-client-2.2.2.tgz", - "integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==", - "dependencies": { - "@uppy/utils": "^4.1.2", - "namespace-emitter": "^2.0.1" - } - }, - "node_modules/@uppy/core": { - "version": "2.3.4", - "resolved": "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz", - "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", - "dependencies": { - "@transloadit/prettier-bytes": "0.0.7", - "@uppy/store-default": "^2.1.1", - "@uppy/utils": "^4.1.3", - "lodash.throttle": "^4.1.1", - "mime-match": "^1.0.2", - "namespace-emitter": "^2.0.1", - "nanoid": "^3.1.25", - "preact": "^10.5.13" - } - }, - "node_modules/@uppy/store-default": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/@uppy/store-default/-/store-default-2.1.1.tgz", - "integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==" - }, - "node_modules/@uppy/utils": { - "version": "4.1.3", - "resolved": "https://registry.npmmirror.com/@uppy/utils/-/utils-4.1.3.tgz", - "integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==", - "dependencies": { - "lodash.throttle": "^4.1.1" - } - }, - "node_modules/@uppy/xhr-upload": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", - "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", - "dependencies": { - "@uppy/companion-client": "^2.2.2", - "@uppy/utils": "^4.1.2", - "nanoid": "^3.1.25" - }, - "peerDependencies": { - "@uppy/core": "^2.3.3" - } - }, - "node_modules/@vitejs/plugin-vue": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.5.0.tgz", - "integrity": "sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==", - "dev": true, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.0.0 || ^5.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz", - "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", - "dependencies": { - "@babel/parser": "^7.21.3", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", - "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", - "dependencies": { - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", - "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", - "dependencies": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-ssr": "3.3.4", - "@vue/reactivity-transform": "3.3.4", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.0", - "postcss": "^8.1.10", - "source-map-js": "^1.0.2" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", - "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", - "dependencies": { - "@vue/compiler-dom": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "node_modules/@vue/devtools-api": { - "version": "6.5.1", - "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz", - "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" - }, - "node_modules/@vue/reactivity": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.4.tgz", - "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", - "dependencies": { - "@vue/shared": "3.3.4" - } - }, - "node_modules/@vue/reactivity-transform": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", - "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", - "dependencies": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.0" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz", - "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", - "dependencies": { - "@vue/reactivity": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", - "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", - "dependencies": { - "@vue/runtime-core": "3.3.4", - "@vue/shared": "3.3.4", - "csstype": "^3.1.1" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz", - "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", - "dependencies": { - "@vue/compiler-ssr": "3.3.4", - "@vue/shared": "3.3.4" - }, - "peerDependencies": { - "vue": "3.3.4" - } - }, - "node_modules/@vue/shared": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.4.tgz", - "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" - }, - "node_modules/@wangeditor/basic-modules": { - "version": "1.1.7", - "resolved": "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz", - "integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==", - "dependencies": { - "is-url": "^1.2.4" - }, - "peerDependencies": { - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "lodash.throttle": "^4.1.1", - "nanoid": "^3.2.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/code-highlight": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz", - "integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==", - "dependencies": { - "prismjs": "^1.23.0" - }, - "peerDependencies": { - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/core": { - "version": "1.1.19", - "resolved": "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz", - "integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==", - "dependencies": { - "@types/event-emitter": "^0.3.3", - "event-emitter": "^0.3.5", - "html-void-elements": "^2.0.0", - "i18next": "^20.4.0", - "scroll-into-view-if-needed": "^2.2.28", - "slate-history": "^0.66.0" - }, - "peerDependencies": { - "@uppy/core": "^2.1.1", - "@uppy/xhr-upload": "^2.0.3", - "dom7": "^3.0.0", - "is-hotkey": "^0.2.0", - "lodash.camelcase": "^4.3.0", - "lodash.clonedeep": "^4.5.0", - "lodash.debounce": "^4.0.8", - "lodash.foreach": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.throttle": "^4.1.1", - "lodash.toarray": "^4.4.0", - "nanoid": "^3.2.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/editor": { - "version": "5.1.14", - "resolved": "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.14.tgz", - "integrity": "sha512-erILPAkpKldyGi4cEwrOW65v12GhZy2qj2A8kPlypU46lE72Y3XowZxWogN1TI/mqMDR84AHr0QWOvygOV1xwQ==", - "dependencies": { - "@uppy/core": "^2.1.1", - "@uppy/xhr-upload": "^2.0.3", - "@wangeditor/basic-modules": "^1.1.3", - "@wangeditor/code-highlight": "^1.0.2", - "@wangeditor/core": "^1.1.11", - "@wangeditor/list-module": "^1.0.2", - "@wangeditor/table-module": "^1.1.1", - "@wangeditor/upload-image-module": "^1.0.1", - "@wangeditor/video-module": "^1.1.1", - "dom7": "^3.0.0", - "is-hotkey": "^0.2.0", - "lodash.camelcase": "^4.3.0", - "lodash.clonedeep": "^4.5.0", - "lodash.debounce": "^4.0.8", - "lodash.foreach": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.throttle": "^4.1.1", - "lodash.toarray": "^4.4.0", - "nanoid": "^3.2.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/editor-for-vue": { - "version": "5.1.12", - "resolved": "https://registry.npmmirror.com/@wangeditor/editor-for-vue/-/editor-for-vue-5.1.12.tgz", - "integrity": "sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==", - "peerDependencies": { - "@wangeditor/editor": ">=5.1.0", - "vue": "^3.0.5" - } - }, - "node_modules/@wangeditor/list-module": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/@wangeditor/list-module/-/list-module-1.0.5.tgz", - "integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==", - "peerDependencies": { - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/table-module": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/@wangeditor/table-module/-/table-module-1.1.4.tgz", - "integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==", - "peerDependencies": { - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "lodash.isequal": "^4.5.0", - "lodash.throttle": "^4.1.1", - "nanoid": "^3.2.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/upload-image-module": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz", - "integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==", - "peerDependencies": { - "@uppy/core": "^2.0.3", - "@uppy/xhr-upload": "^2.0.3", - "@wangeditor/basic-modules": "1.x", - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "lodash.foreach": "^4.5.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/video-module": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/@wangeditor/video-module/-/video-module-1.1.4.tgz", - "integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==", - "peerDependencies": { - "@uppy/core": "^2.1.4", - "@uppy/xhr-upload": "^2.0.7", - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "nanoid": "^3.2.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "peer": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "peer": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "peer": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "peer": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "peer": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "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" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ant-design-vue": { - "version": "4.0.7", - "resolved": "https://registry.npmmirror.com/ant-design-vue/-/ant-design-vue-4.0.7.tgz", - "integrity": "sha512-oHTtc1GZkfENZTkt2aDvjaD4yoRsowYvCOmxA6+5AGqm5uz/datdJOXsq9nokIhC+vrAMhk6JQVFZ2hh7eU6Pw==", - "dependencies": { - "@ant-design/colors": "^6.0.0", - "@ant-design/icons-vue": "^7.0.0", - "@babel/runtime": "^7.10.5", - "@ctrl/tinycolor": "^3.5.0", - "@emotion/hash": "^0.9.0", - "@emotion/unitless": "^0.8.0", - "@simonwep/pickr": "~1.8.0", - "array-tree-filter": "^2.1.0", - "async-validator": "^4.0.0", - "csstype": "^3.1.1", - "dayjs": "^1.10.5", - "dom-align": "^1.12.1", - "dom-scroll-into-view": "^2.0.0", - "lodash": "^4.17.21", - "lodash-es": "^4.17.15", - "resize-observer-polyfill": "^1.5.1", - "scroll-into-view-if-needed": "^2.2.25", - "shallow-equal": "^1.0.0", - "stylis": "^4.1.3", - "throttle-debounce": "^5.0.0", - "vue-types": "^3.0.0", - "warning": "^4.0.0" - }, - "engines": { - "node": ">=12.22.0" - }, - "peerDependencies": { - "vue": ">=3.2.0" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-tree-filter": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz", - "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async-validator": { - "version": "4.2.5", - "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", - "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/axios": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/axios/-/axios-1.4.0.tgz", - "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", - "dev": true, - "peer": true, - "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001576", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz", - "integrity": "sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==", - "dev": true, - "peer": true - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/clipboard": { - "version": "2.0.11", - "resolved": "https://registry.npmmirror.com/clipboard/-/clipboard-2.0.11.tgz", - "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", - "dependencies": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - }, - "node_modules/clone-regexp": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/clone-regexp/-/clone-regexp-2.2.0.tgz", - "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", - "dev": true, - "dependencies": { - "is-regexp": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/compute-scroll-into-view": { - "version": "1.0.20", - "resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", - "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dev": true, - "dependencies": { - "is-what": "^3.14.1" - } - }, - "node_modules/core-js": { - "version": "3.35.0", - "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.35.0.tgz", - "integrity": "sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg==", - "hasInstallScript": true - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "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/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-js": { - "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.1.1.tgz", - "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" - }, - "node_modules/css-functions-list": { - "version": "3.2.1", - "resolved": "https://registry.npmmirror.com/css-functions-list/-/css-functions-list-3.2.1.tgz", - "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", - "dev": true, - "engines": { - "node": ">=12 || >=16" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" - }, - "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff2html": { - "version": "3.4.18", - "resolved": "https://registry.npmmirror.com/diff2html/-/diff2html-3.4.18.tgz", - "integrity": "sha512-eZP1vKjCNMPFpCoY0+ATZYTgdUUriUTLxRLjjAx6qPje7orIirtTkW3ghVcz3dIBjcum47AGIHBHpLhdrdS7aw==", - "dependencies": { - "diff": "5.1.0", - "hogan.js": "3.0.2" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "highlight.js": "11.6.0" - } - }, - "node_modules/diff2html/node_modules/highlight.js": { - "version": "11.6.0", - "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.6.0.tgz", - "integrity": "sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==", - "optional": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-align": { - "version": "1.12.4", - "resolved": "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz", - "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==" - }, - "node_modules/dom-scroll-into-view": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz", - "integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==" - }, - "node_modules/dom7": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz", - "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", - "dependencies": { - "ssr-window": "^3.0.0-alpha.1" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/echarts": { - "version": "5.4.3", - "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.4.3.tgz", - "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==", - "dependencies": { - "tslib": "2.3.0", - "zrender": "5.4.4" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.626", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.626.tgz", - "integrity": "sha512-f7/be56VjRRQk+Ric6PmIrEtPcIqsn3tElyAu9Sh6egha2VLJ82qwkcOdcnT06W+Pb6RUulV1ckzrGbKzVcTHg==", - "dev": true, - "peer": true - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "optional": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz", - "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", - "dev": true, - "peer": true - }, - "node_modules/es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.0.0", - "resolved": "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", - "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz", - "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.5" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-vue": { - "version": "9.17.0", - "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.17.0.tgz", - "integrity": "sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "natural-compare": "^1.4.0", - "nth-check": "^2.1.1", - "postcss-selector-parser": "^6.0.13", - "semver": "^7.5.4", - "vue-eslint-parser": "^9.3.1", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execall": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/execall/-/execall-2.0.0.tgz", - "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", - "dev": true, - "dependencies": { - "clone-regexp": "^2.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmmirror.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.16.0", - "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.16.0.tgz", - "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "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.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true - }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmmirror.com/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "peer": true - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmmirror.com/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", - "dev": true - }, - "node_modules/good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmmirror.com/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==", - "dependencies": { - "delegate": "^3.1.2" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/highlight.js": { - "version": "11.8.0", - "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.8.0.tgz", - "integrity": "sha512-MedQhoqVdr0U6SSnWPzfiadUcDHfN/Wzq25AkXiQv9oiOO/sG0S7XkvpFIqWBl9Yq1UYyYOOVORs5UW2XlPyzg==", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/hogan.js": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/hogan.js/-/hogan.js-3.0.2.tgz", - "integrity": "sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==", - "dependencies": { - "mkdirp": "0.3.0", - "nopt": "1.0.10" - }, - "bin": { - "hulk": "bin/hulk" - } - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/html-void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz", - "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==" - }, - "node_modules/i18next": { - "version": "20.6.1", - "resolved": "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz", - "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", - "dependencies": { - "@babel/runtime": "^7.12.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hotkey": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz", - "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==" - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regexp": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/is-regexp/-/is-regexp-2.1.0.tgz", - "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmmirror.com/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/js-cookie": { - "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz", - "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", - "engines": { - "node": ">=14" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/known-css-properties": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/known-css-properties/-/known-css-properties-0.25.0.tgz", - "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", - "dev": true - }, - "node_modules/less": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/less/-/less-4.2.0.tgz", - "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", - "dev": true, - "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less-loader": { - "version": "11.1.4", - "resolved": "https://registry.npmmirror.com/less-loader/-/less-loader-11.1.4.tgz", - "integrity": "sha512-6/GrYaB6QcW6Vj+/9ZPgKKs6G10YZai/l/eJ4SLwbzqNTBsAqt5hSLVF47TgsiBxV1P6eAU0GYRH3YRuQU9V3A==", - "dev": true, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "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.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "node_modules/lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" - }, - "node_modules/lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==" - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmmirror.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/lunar-javascript": { - "version": "1.6.3", - "resolved": "https://registry.npmmirror.com/lunar-javascript/-/lunar-javascript-1.6.3.tgz", - "integrity": "sha512-mk0odAkDJYpk3ZHemoqak8Ac02XtCv0z7pQMER+G8YHfX5X7mT5ymNXpg3GYP+jtPqUz/GYThS26i/ExxBlCKg==" - }, - "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dev": true - }, - "node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmmirror.com/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "peer": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "optional": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-match": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/mime-match/-/mime-match-1.0.2.tgz", - "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", - "dependencies": { - "wildcard": "^1.1.0" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/mitt": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.0.tgz", - "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" - }, - "node_modules/mkdirp": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.3.0.tgz", - "integrity": "sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew==", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/namespace-emitter": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz", - "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nanopop": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/nanopop/-/nanopop-2.3.0.tgz", - "integrity": "sha512-fzN+T2K7/Ah25XU02MJkPZ5q4Tj5FpjmIYq4rvoHX4yb16HzFdCO6JxFFn5Y/oBhQ8no8fUZavnyIv9/+xkBBw==" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/needle": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz", - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "peer": true - }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true, - "peer": true - }, - "node_modules/nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmmirror.com/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "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" - } - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dev": true, - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pinia": { - "version": "2.1.6", - "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.6.tgz", - "integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==", - "dependencies": { - "@vue/devtools-api": "^6.5.0", - "vue-demi": ">=0.14.5" - }, - "peerDependencies": { - "@vue/composition-api": "^1.4.0", - "typescript": ">=4.4.4", - "vue": "^2.6.14 || ^3.3.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/pinia/node_modules/vue-demi": { - "version": "0.14.6", - "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.6.tgz", - "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/postcss": { - "version": "8.4.33", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.33.tgz", - "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmmirror.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", - "dev": true - }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmmirror.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", - "dev": true - }, - "node_modules/postcss-safe-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", - "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", - "dev": true, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.3.3" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-sorting": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/postcss-sorting/-/postcss-sorting-7.0.1.tgz", - "integrity": "sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==", - "dev": true, - "peerDependencies": { - "postcss": "^8.3.9" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/preact": { - "version": "10.19.3", - "resolved": "https://registry.npmmirror.com/preact/-/preact-10.19.3.tgz", - "integrity": "sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "peer": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "5.0.5", - "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-5.0.5.tgz", - "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", - "dev": true, - "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/rollup": { - "version": "4.9.4", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.9.4.tgz", - "integrity": "sha512-2ztU7pY/lrQyXSCnnoU4ICjT/tCG9cdH3/G25ERqE3Lst6vl2BCM5hL2Nw+sslAvAf+ccKsAq1SkKQALyqhR7g==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.9.4", - "@rollup/rollup-android-arm64": "4.9.4", - "@rollup/rollup-darwin-arm64": "4.9.4", - "@rollup/rollup-darwin-x64": "4.9.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.9.4", - "@rollup/rollup-linux-arm64-gnu": "4.9.4", - "@rollup/rollup-linux-arm64-musl": "4.9.4", - "@rollup/rollup-linux-riscv64-gnu": "4.9.4", - "@rollup/rollup-linux-x64-gnu": "4.9.4", - "@rollup/rollup-linux-x64-musl": "4.9.4", - "@rollup/rollup-win32-arm64-msvc": "4.9.4", - "@rollup/rollup-win32-ia32-msvc": "4.9.4", - "@rollup/rollup-win32-x64-msvc": "4.9.4", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "peer": true - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "optional": true - }, - "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", - "dev": true, - "optional": true - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/scroll-into-view-if-needed": { - "version": "2.2.31", - "resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", - "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", - "dependencies": { - "compute-scroll-into-view": "^1.0.20" - } - }, - "node_modules/select": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/select/-/select-1.1.2.tgz", - "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "peer": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/shallow-equal": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz", - "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slate": { - "version": "0.72.8", - "resolved": "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz", - "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", - "dependencies": { - "immer": "^9.0.6", - "is-plain-object": "^5.0.0", - "tiny-warning": "^1.0.3" - } - }, - "node_modules/slate-history": { - "version": "0.66.0", - "resolved": "https://registry.npmmirror.com/slate-history/-/slate-history-0.66.0.tgz", - "integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==", - "dependencies": { - "is-plain-object": "^5.0.0" - }, - "peerDependencies": { - "slate": ">=0.65.3" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sm-crypto": { - "version": "0.3.13", - "resolved": "https://registry.npmmirror.com/sm-crypto/-/sm-crypto-0.3.13.tgz", - "integrity": "sha512-ztNF+pZq6viCPMA1A6KKu3bgpkmYti5avykRHbcFIdSipFdkVmfUw2CnpM2kBJyppIalqvczLNM3wR8OQ0pT5w==", - "dependencies": { - "jsbn": "^1.1.0" - } - }, - "node_modules/snabbdom": { - "version": "3.5.1", - "resolved": "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.5.1.tgz", - "integrity": "sha512-wHMNIOjkm/YNE5EM3RCbr/+DVgPg6AqQAX1eOxO46zYNvCXjKP5Y865tqQj3EXnaMBjkxmQA5jFuDpDK/dbfiA==", - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/sortablejs": { - "version": "1.15.0", - "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.0.tgz", - "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==" - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.16", - "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", - "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", - "dev": true - }, - "node_modules/specificity": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/specificity/-/specificity-0.4.1.tgz", - "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", - "dev": true, - "bin": { - "specificity": "bin/specificity" - } - }, - "node_modules/ssr-window": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz", - "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==" - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmmirror.com/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", - "dev": true - }, - "node_modules/stylelint": { - "version": "14.8.5", - "resolved": "https://registry.npmmirror.com/stylelint/-/stylelint-14.8.5.tgz", - "integrity": "sha512-e3t4H/hlWlspkcNUrkhf44RU3OpPTA7uBOoREGBzSwdEF+2g/+gbZq7WEpMP7BpopcSe/uLaTvDuL+URL7cdnQ==", - "dev": true, - "dependencies": { - "balanced-match": "^2.0.0", - "colord": "^2.9.2", - "cosmiconfig": "^7.0.1", - "css-functions-list": "^3.0.1", - "debug": "^4.3.4", - "execall": "^2.0.0", - "fast-glob": "^3.2.11", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", - "global-modules": "^2.0.0", - "globby": "^11.1.0", - "globjoin": "^0.1.4", - "html-tags": "^3.2.0", - "ignore": "^5.2.0", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "is-plain-object": "^5.0.0", - "known-css-properties": "^0.25.0", - "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.14", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^6.0.0", - "postcss-selector-parser": "^6.0.10", - "postcss-value-parser": "^4.2.0", - "resolve-from": "^5.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "style-search": "^0.1.0", - "supports-hyperlinks": "^2.2.0", - "svg-tags": "^1.0.0", - "table": "^6.8.0", - "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^4.0.1" - }, - "bin": { - "stylelint": "bin/stylelint.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/stylelint-config-prettier": { - "version": "9.0.5", - "resolved": "https://registry.npmmirror.com/stylelint-config-prettier/-/stylelint-config-prettier-9.0.5.tgz", - "integrity": "sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA==", - "dev": true, - "bin": { - "stylelint-config-prettier": "bin/check.js", - "stylelint-config-prettier-check": "bin/check.js" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "stylelint": ">= 11.x < 15" - } - }, - "node_modules/stylelint-config-recommended": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz", - "integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==", - "dev": true, - "peerDependencies": { - "stylelint": "^14.4.0" - } - }, - "node_modules/stylelint-config-standard": { - "version": "25.0.0", - "resolved": "https://registry.npmmirror.com/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz", - "integrity": "sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==", - "dev": true, - "dependencies": { - "stylelint-config-recommended": "^7.0.0" - }, - "peerDependencies": { - "stylelint": "^14.4.0" - } - }, - "node_modules/stylelint-order": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/stylelint-order/-/stylelint-order-5.0.0.tgz", - "integrity": "sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==", - "dev": true, - "dependencies": { - "postcss": "^8.3.11", - "postcss-sorting": "^7.0.1" - }, - "peerDependencies": { - "stylelint": "^14.0.0" - } - }, - "node_modules/stylelint/node_modules/balanced-match": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-2.0.0.tgz", - "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", - "dev": true - }, - "node_modules/stylelint/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/stylelint/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylis": { - "version": "4.3.1", - "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.3.1.tgz", - "integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==" - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", - "dev": true - }, - "node_modules/synckit": { - "version": "0.8.8", - "resolved": "https://registry.npmmirror.com/synckit/-/synckit-0.8.8.tgz", - "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - } - }, - "node_modules/synckit/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, - "node_modules/table": { - "version": "6.8.1", - "resolved": "https://registry.npmmirror.com/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "node_modules/table/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/table/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.19.4", - "resolved": "https://registry.npmmirror.com/terser/-/terser-5.19.4.tgz", - "integrity": "sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/terser": { - "version": "5.26.0", - "resolved": "https://registry.npmmirror.com/terser/-/terser-5.26.0.tgz", - "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", - "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/throttle-debounce": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz", - "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", - "engines": { - "node": ">=12.22" - } - }, - "node_modules/tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz", - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmmirror.com/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", - "engines": { - "node": "*" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true, - "peer": true - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "peer": true, - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/v-viewer": { - "version": "1.6.4", - "resolved": "https://registry.npmmirror.com/v-viewer/-/v-viewer-1.6.4.tgz", - "integrity": "sha512-LVkiUHpmsbsZXebeNXnu8krRCi5i2n07FeLFxoIVGhw8lVvTBO0ffpbDC6mLEuacCjrIh09HjIqpciwUtWE8lQ==", - "dependencies": { - "throttle-debounce": "^2.0.1", - "viewerjs": "^1.5.0" - }, - "engines": { - "node": ">=4", - "npm": ">=3" - } - }, - "node_modules/v-viewer/node_modules/throttle-debounce": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz", - "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.4.0", - "resolved": "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", - "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/viewerjs": { - "version": "1.11.6", - "resolved": "https://registry.npmmirror.com/viewerjs/-/viewerjs-1.11.6.tgz", - "integrity": "sha512-TlhdSp2oEOLFXvEp4psKaeTjR5zBjTRcM/sHUN8PkV1UWuY8HKC8n7GaVdW5Xqnwdr/F1OmzLik1QwDjI4w/nw==" - }, - "node_modules/vite": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/vite/-/vite-5.0.0.tgz", - "integrity": "sha512-ESJVM59mdyGpsiNAeHQOR/0fqNoOyWPYesFto8FFZugfmhdHx8Fzd8sF3Q/xkVhZsyOxHfdM7ieiVAorI9RjFw==", - "dev": true, - "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.31", - "rollup": "^4.2.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vue": { - "version": "3.3.4", - "resolved": "https://registry.npmmirror.com/vue/-/vue-3.3.4.tgz", - "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", - "dependencies": { - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-sfc": "3.3.4", - "@vue/runtime-dom": "3.3.4", - "@vue/server-renderer": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "node_modules/vue-eslint-parser": { - "version": "9.3.2", - "resolved": "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", - "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/vue-i18n": { - "version": "9.2.2", - "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz", - "integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==", - "dependencies": { - "@intlify/core-base": "9.2.2", - "@intlify/shared": "9.2.2", - "@intlify/vue-devtools": "9.2.2", - "@vue/devtools-api": "^6.2.1" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "vue": "^3.0.0" - } - }, - "node_modules/vue-router": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.2.4.tgz", - "integrity": "sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==", - "dependencies": { - "@vue/devtools-api": "^6.5.0" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/vue-types": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/vue-types/-/vue-types-3.0.2.tgz", - "integrity": "sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==", - "dependencies": { - "is-plain-object": "3.0.1" - }, - "engines": { - "node": ">=10.15.0" - }, - "peerDependencies": { - "vue": "^3.0.0" - } - }, - "node_modules/vue-types/node_modules/is-plain-object": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-3.0.1.tgz", - "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue3-json-viewer": { - "version": "2.2.2", - "resolved": "https://registry.npmmirror.com/vue3-json-viewer/-/vue3-json-viewer-2.2.2.tgz", - "integrity": "sha512-56l3XDGggnpwEqZieXsSMhNT4NhtO6d7zuSAxHo4i0UVxymyY2jRb7UMQOU1ztChKALZCAzX7DlgrsnEhxu77A==", - "dependencies": { - "clipboard": "^2.0.10" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/warning": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "peer": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", - "dev": true, - "peer": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wildcard": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz", - "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==" - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/zrender": { - "version": "5.4.4", - "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.4.4.tgz", - "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==", - "dependencies": { - "tslib": "2.3.0" - } - } - } -} diff --git a/smart-app/.env.development b/smart-app/.env.development new file mode 100644 index 00000000..7ae8066c --- /dev/null +++ b/smart-app/.env.development @@ -0,0 +1,3 @@ +NODE_ENV=development +VITE_APP_TITLE='SmartAdmin 开发环境(Dev)' +VITE_APP_API_URL='http://127.0.0.1:1024' \ No newline at end of file diff --git a/smart-app/.env.localhost b/smart-app/.env.localhost new file mode 100644 index 00000000..697befa3 --- /dev/null +++ b/smart-app/.env.localhost @@ -0,0 +1,3 @@ +NODE_ENV=development +VITE_APP_TITLE='SmartH5 本地环境(Local)' +VITE_APP_API_URL='http://127.0.0.1:1024' diff --git a/smart-app/.env.pre b/smart-app/.env.pre new file mode 100644 index 00000000..687cc0fa --- /dev/null +++ b/smart-app/.env.pre @@ -0,0 +1,3 @@ +NODE_ENV=production +VITE_APP_TITLE='SmartH5 预发布环境(Pre)' +VITE_APP_API_URL='https://preview.smartadmin.vip/smart-admin-api' \ No newline at end of file diff --git a/smart-app/.env.production b/smart-app/.env.production new file mode 100644 index 00000000..b5df5188 --- /dev/null +++ b/smart-app/.env.production @@ -0,0 +1,3 @@ +NODE_ENV=production +VITE_APP_TITLE='Smart App V3.X' +VITE_APP_API_URL='https://app.smartadmin.vip/smart-app-api' \ No newline at end of file diff --git a/smart-app/.env.test b/smart-app/.env.test new file mode 100644 index 00000000..b7f34bae --- /dev/null +++ b/smart-app/.env.test @@ -0,0 +1,3 @@ +NODE_ENV=production +VITE_APP_TITLE='SmartH5 测试环境(Test)' +VITE_APP_API_URL='http://127.0.0.1:1024' \ No newline at end of file diff --git a/smart-app/.eslintignore b/smart-app/.eslintignore new file mode 100644 index 00000000..78e1638b --- /dev/null +++ b/smart-app/.eslintignore @@ -0,0 +1,18 @@ + +*.sh +node_modules +lib +*.md +*.woff +*.ttf +.vscode +.idea +dist +public +/docs +.husky +.local +.localhost +/bin +Dockerfile +src/assets diff --git a/smart-app/.eslintrc.cjs b/smart-app/.eslintrc.cjs new file mode 100644 index 00000000..81e7acc0 --- /dev/null +++ b/smart-app/.eslintrc.cjs @@ -0,0 +1,66 @@ +/* + * @Description: + * @Author: zhuoda + * @Date: 2021-11-05 + * @LastEditTime: 2022-07-05 + * @LastEditors: zhuoda + */ +module.exports = { + root: true, //此项是用来告诉eslint找当前配置文件不能往父级查找 + env: { + browser: true, + es2021: true, + node: true, + }, + parser: 'vue-eslint-parser', //使用vue-eslint-parser 来解析vue文件中的 template和script + parserOptions: { + ecmaVersion: 12, // 默认情况下,ESLint使用的是ECMAScript5语法,此处我们设置的选项是 es12 + sourceType: 'module', // 指定js导入的方式 + }, + extends: ['plugin:vue/vue3-essential', 'eslint:recommended', 'plugin:vue/base'], + globals: { + defineProps: 'readonly', + defineEmits: 'readonly', + defineExpose: 'readonly', + withDefaults: 'readonly', + }, + plugins: ['vue'], + rules: { + 'no-unused-vars': [ + 'error', + // we are only using this rule to check for unused arguments since TS + // catches unused variables but not args. + { varsIgnorePattern: '.*', args: 'none' }, + ], + 'space-before-function-paren': 'off', + + 'vue/attributes-order': 'off', + 'vue/one-component-per-file': 'off', + 'vue/html-closing-bracket-newline': 'off', + 'vue/max-attributes-per-line': 'off', + 'vue/multiline-html-element-content-newline': 'off', + 'vue/singleline-html-element-content-newline': 'off', + 'vue/attribute-hyphenation': 'off', + 'vue/require-default-prop': 'off', + 'vue/multi-word-component-names': [ + 'error', + { + ignores: ['index'], //需要忽略的组件名 + }, + ], + 'vue/html-self-closing': [ + 'error', + { + html: { + void: 'always', + normal: 'never', + component: 'always', + }, + svg: 'always', + math: 'always', + }, + ], + // Enable vue/script-setup-uses-vars rule + 'vue/script-setup-uses-vars': 'error', + }, +}; diff --git a/smart-app/.gitignore b/smart-app/.gitignore new file mode 100644 index 00000000..7ce6e504 --- /dev/null +++ b/smart-app/.gitignore @@ -0,0 +1,21 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +*.local + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? \ No newline at end of file diff --git a/smart-app/.prettierrc.cjs b/smart-app/.prettierrc.cjs new file mode 100644 index 00000000..d1c4ba82 --- /dev/null +++ b/smart-app/.prettierrc.cjs @@ -0,0 +1,30 @@ +/* + * 代码格式化配置 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-12 14:44:18 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +module.exports = { + printWidth: 150, // 每行代码长度(默认80) + tabWidth: 2, // 缩进空格数 + useTabs: false, //不用tab缩进 + semi: true, //// 在语句末尾打印分号 + singleQuote: true, // 使用单引号而不是双引号 + vueIndentScriptAndStyle: true, //Vue文件脚本和样式标签缩进 + quoteProps: 'as-needed', // 更改引用对象属性的时间 可选值"" + jsxSingleQuote: true, // 在JSX中使用单引号而不是双引号 + trailingComma: 'es5', //多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"",默认none + bracketSpacing: true, // 在对象文字中的括号之间打印空格 + jsxBracketSameLine: false, //jsx 标签的反尖括号需要换行 + arrowParens: 'always', // 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x + rangeStart: 0, // 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码 + rangeEnd: Infinity, + requirePragma: false, // 指定要使用的解析器,不需要写文件开头的 @prettier + insertPragma: false, // 不需要自动在文件开头插入 @prettier + proseWrap: 'preserve', // 使用默认的折行标准 always\never\preserve + htmlWhitespaceSensitivity: 'css', // 指定HTML文件的全局空格敏感度 css\strict\ignore + endOfLine: 'auto', // 因为prettier的规范和eslint的换行规则不同,所以这个必须配置。要不然每次打开文件都会有一堆的警告;换行符使用 lf 结尾是 可选值" + + + + + + + + + +
+ + + diff --git a/smart-app/package-lock.json b/smart-app/package-lock.json new file mode 100644 index 00000000..bac9c096 --- /dev/null +++ b/smart-app/package-lock.json @@ -0,0 +1,22463 @@ +{ + "name": "smart-app", + "version": "3.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "smart-app", + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@dcloudio/uni-app": "3.0.0-3090920231225001", + "@dcloudio/uni-app-plus": "3.0.0-3090920231225001", + "@dcloudio/uni-components": "3.0.0-3090920231225001", + "@dcloudio/uni-h5": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-alipay": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-baidu": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-jd": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-kuaishou": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-lark": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-qq": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-toutiao": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-weixin": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-xhs": "3.0.0-3090920231225001", + "@dcloudio/uni-quickapp-webview": "3.0.0-3090920231225001", + "@dcloudio/uni-ui": "1.5.0", + "crypto-js": "4.1.1", + "dayjs": "^1.11.10", + "lodash": "4.17.21", + "pinia": "2.0.36", + "sm-crypto": "0.3.13", + "vue": "3.2.47", + "vue-i18n": "9.1.9" + }, + "devDependencies": { + "@dcloudio/types": "3.3.2", + "@dcloudio/uni-automator": "3.0.0-3090920231225001", + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-stacktracey": "3.0.0-3090920231225001", + "@dcloudio/vite-plugin-uni": "3.0.0-3090920231225001", + "@vue/runtime-core": "3.2.45", + "eslint": "8.16.0", + "eslint-config-prettier": "9.0.0", + "eslint-plugin-prettier": "5.0.0", + "eslint-plugin-vue": "9.17.0", + "prettier": "3.0.2", + "sass": "1.69.7", + "sass-loader": "10.1.1", + "vite": "4.0.3" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmmirror.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.7", + "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.7.tgz", + "integrity": "sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==" + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", + "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", + "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.24.0.tgz", + "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.24.0", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "peer": true + }, + "node_modules/@dcloudio/types": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@dcloudio/types/-/types-3.3.2.tgz", + "integrity": "sha512-O+7M55RXqYJMCTh3MC86IGJvDPTR+v214yUeaoz1YUIHa2gJdgObs4RRwfAwZoLMtdoZ9J5BElZZqRy5oi+UTg==" + }, + "node_modules/@dcloudio/uni-app": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app/-/uni-app-3.0.0-3090920231225001.tgz", + "integrity": "sha512-NsGrGjNmHc2zH1c5eqnHwSxuMNse+RknCQWIIWnnz+Q8lqHc1I9zf2mzxYXyNBHy4VhGRY2zblhkUyWLtGRaaA==", + "dependencies": { + "@dcloudio/uni-cloud": "3.0.0-3090920231225001", + "@dcloudio/uni-components": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-push": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-stat": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47" + }, + "peerDependencies": { + "@dcloudio/types": "^3.3.2" + } + }, + "node_modules/@dcloudio/uni-app-plus": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-plus/-/uni-app-plus-3.0.0-3090920231225001.tgz", + "integrity": "sha512-TCzWHbwuheEBSzpTqpHh/imhj4Rkwdg48m9C7ZLqun5runI056TEUdrpfuLBVuwsttk5NSpqm11ywS7GSSM7Mg==", + "dependencies": { + "@dcloudio/uni-app-uts": "3.0.0-3090920231225001", + "@dcloudio/uni-app-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-app-vue": "3.0.0-3090920231225001", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "licia": "^1.29.0", + "postcss-selector-parser": "^6.0.6" + } + }, + "node_modules/@dcloudio/uni-app-uts": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-uts/-/uni-app-uts-3.0.0-3090920231225001.tgz", + "integrity": "sha512-61At6ZKh9SpHMuewxtZEOuDS1hkwFs5AecqavFAZWovVQR30it2e5zSN4kwq/ZM1An/HFs0TLXV3YBnx9Q07oA==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-nvue-styler": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@jridgewell/gen-mapping": "^0.3.3", + "@jridgewell/trace-mapping": "^0.3.19", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "es-module-lexer": "^1.2.1", + "estree-walker": "^2.0.2", + "fs-extra": "^10.0.0", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2", + "unplugin-auto-import": "^0.16.7" + } + }, + "node_modules/@dcloudio/uni-app-vite": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-vite/-/uni-app-vite-3.0.0-3090920231225001.tgz", + "integrity": "sha512-MkmI3qzsGYrT787lRMyhb/DdIF9mE/BbhrExwM/RBshnVzl6rjQIKx5lIG94t58WIaP7Jcl/pJw+IPAe1FTQyQ==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-nvue-styler": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@rollup/pluginutils": "^4.2.0", + "@vitejs/plugin-vue": "^4.2.1", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "picocolors": "^1.0.0" + } + }, + "node_modules/@dcloudio/uni-app-vue": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-vue/-/uni-app-vue-3.0.0-3090920231225001.tgz", + "integrity": "sha512-D7I4jGSnpBihSXXeckRSD152Da2N2vKDtGF1sbNe2m1R04W36AkVUtzFGpSOml4MNIedCGtzGWXKaX7rIU+mFA==" + }, + "node_modules/@dcloudio/uni-automator": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-automator/-/uni-automator-3.0.0-3090920231225001.tgz", + "integrity": "sha512-6PKcEJK6VAARpEtsFUypFEu6DeAminijHJb63x6oK1lIt0VlJFGjXuCTBbFQTf6uLFSsUGMV4wcCmh2NswXxmg==", + "dev": true, + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "address": "^1.1.2", + "cross-env": "^7.0.3", + "debug": "^4.3.3", + "default-gateway": "^6.0.3", + "fs-extra": "^10.0.0", + "jsonc-parser": "^3.2.0", + "licia": "^1.29.0", + "merge": "^2.1.1", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + }, + "peerDependencies": { + "jest": "27.0.4", + "jest-environment-node": "27.5.1" + } + }, + "node_modules/@dcloudio/uni-cli-shared": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-cli-shared/-/uni-cli-shared-3.0.0-3090920231225001.tgz", + "integrity": "sha512-6Pt2nCRI57OwIoqBNctPTQ05oJPTZGlocylmrbpUy8Q5Z2eyQNlnA/jTm9L5tM6nnfJKzBE/yOBMOgJDsVWNYw==", + "dependencies": { + "@ampproject/remapping": "^2.1.2", + "@babel/core": "^7.21.3", + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@intlify/core-base": "9.1.9", + "@intlify/shared": "9.1.9", + "@intlify/vue-devtools": "9.1.9", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "autoprefixer": "^10.4.14", + "base64url": "^3.0.1", + "chokidar": "^3.5.3", + "compare-versions": "^3.6.0", + "debug": "^4.3.3", + "es-module-lexer": "^1.2.1", + "esbuild": "^0.17.5", + "estree-walker": "^2.0.2", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.0", + "hash-sum": "^2.0.0", + "jsonc-parser": "^3.0.0", + "magic-string": "^0.30.0", + "merge": "^2.1.1", + "mime": "^3.0.0", + "module-alias": "^2.2.2", + "os-locale-s-fix": "^1.0.8-fix-1", + "picocolors": "^1.0.0", + "postcss-import": "^14.0.2", + "postcss-load-config": "^3.1.1", + "postcss-modules": "^4.3.0", + "postcss-selector-parser": "^6.0.6", + "resolve": "^1.22.1", + "tapable": "^2.2.0", + "xregexp": "3.1.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + } + }, + "node_modules/@dcloudio/uni-cloud": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-cloud/-/uni-cloud-3.0.0-3090920231225001.tgz", + "integrity": "sha512-+k8cnrQZlBYbY01Li9rR5PBcxxvn/i8sHpj+i3rbzJioks4nneR64ZP14Zisu07v5VwLcjuZNdI8Ato7KZjyUA==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47", + "fast-glob": "^3.2.11" + } + }, + "node_modules/@dcloudio/uni-components": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-components/-/uni-components-3.0.0-3090920231225001.tgz", + "integrity": "sha512-fyqPOzmEjgfhwrElZH+yTBjqbCzefgZTkbZrgPaQkvXRT8sJpsTpcjF8wNPLo0dB+9XppkNAJDy+c9EkDJGeKQ==", + "dependencies": { + "@dcloudio/uni-cloud": "3.0.0-3090920231225001", + "@dcloudio/uni-h5": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001" + } + }, + "node_modules/@dcloudio/uni-h5": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5/-/uni-h5-3.0.0-3090920231225001.tgz", + "integrity": "sha512-q3YR+wESXb9JdFOJdoX8I7ER2TTOvY23fHFMMq1wZW49WLufMMu/BKM7FUeHtX9uteqMIVJDrzrjknwLgNUJiw==", + "dependencies": { + "@dcloudio/uni-h5-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-h5-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "localstorage-polyfill": "^1.0.1", + "postcss-selector-parser": "^6.0.6", + "safe-area-insets": "^1.4.1", + "vue-router": "^4.1.6", + "xmlhttprequest": "^1.8.0" + } + }, + "node_modules/@dcloudio/uni-h5-vite": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5-vite/-/uni-h5-vite-3.0.0-3090920231225001.tgz", + "integrity": "sha512-gyhFfI77gL2saPef0+3nQ9+mi//Vk/N7PeZCSxq6oRpHIUE3TkpB3xvQrPkciJPG8ivHX5BGcqcOdZt36qgBtA==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "mime": "^3.0.0", + "module-alias": "^2.2.2" + } + }, + "node_modules/@dcloudio/uni-h5-vue": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5-vue/-/uni-h5-vue-3.0.0-3090920231225001.tgz", + "integrity": "sha512-v19rnmf+V+2G07ABjViyaLqDcVJReBVuAb0xuSzNiLIezQ3GRFJAf4XEjbk56BrrRfdDRaNJ+6lrWP5j1KI8nw==", + "dependencies": { + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/server-renderer": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-i18n": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-i18n/-/uni-i18n-3.0.0-3090920231225001.tgz", + "integrity": "sha512-GUiyXxeLvunToD2LC1FybqtrLw/cbKmtO/Q3mwue0rEurhaTrabiVoOntP4n1t4QMaL+dFsex06cRbZgafqlIw==" + }, + "node_modules/@dcloudio/uni-mp-alipay": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-alipay/-/uni-mp-alipay-3.0.0-3090920231225001.tgz", + "integrity": "sha512-zHcwqmFi9NtzW3cW9kAAjdfTbJ1YPrE8LKAbjHyp5XiytSRcTiuSqipBs4HgtVBijur8FPxrZtIYcGIQZQskBw==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-baidu": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-baidu/-/uni-mp-baidu-3.0.0-3090920231225001.tgz", + "integrity": "sha512-zhS+I+KL7ecmni2lwy6KL5gpCqPQ/7gygkqBqdNIOq9eDB7c4rlPF6w+j7WmeBWeZPZpccYaQnsn9W7swpnmRA==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-weixin": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "jimp": "^0.10.1", + "licia": "^1.29.0", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + } + }, + "node_modules/@dcloudio/uni-mp-compiler": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-compiler/-/uni-mp-compiler-3.0.0-3090920231225001.tgz", + "integrity": "sha512-q9pgXG1gtN9VMaEQj4jlmHBkKAwFsKTCsZu4FsH4kpFoQoSgdEFH8VAHTWKA9reaUVLJGInO0Nsd+t9rZJi3EA==", + "dependencies": { + "@babel/generator": "^7.20.5", + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2" + } + }, + "node_modules/@dcloudio/uni-mp-jd": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-jd/-/uni-mp-jd-3.0.0-3090920231225001.tgz", + "integrity": "sha512-n+zDI+dRyVgSnp8vcLnflxs7usMEy/sfx2FWB77XswPHiMOi8Wz7SK/CQln/ScKD0pRWDPiXcLh4WXS1u3H0Hg==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-kuaishou": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-kuaishou/-/uni-mp-kuaishou-3.0.0-3090920231225001.tgz", + "integrity": "sha512-Z3VFtDNDUEGkHOs5hzB+HiOuJWxGsLh6jQYlGLwXFNmWJFYWGaEBsAA+NztWOB4fRB2JeYSoTu78Al3MWFRwzQ==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-weixin": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-lark": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-lark/-/uni-mp-lark-3.0.0-3090920231225001.tgz", + "integrity": "sha512-LuXWe7vf2fncf1Hj0PpxKYCRWYwqhcz3kKkauNa9nVNjEwiD83UthW5oDxVWMCklIFjKw91mhe+zqq2Oc8bl1w==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-toutiao": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-qq": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-qq/-/uni-mp-qq-3.0.0-3090920231225001.tgz", + "integrity": "sha512-f114i9LhYxfgHUFpSKcOHWL5ZqOttwbzNeK7vMRaqUSWX8VKxzXhqJ5OOKB2HeKyMZGJ50wxvyYNYiR01dBg+A==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47", + "fs-extra": "^10.0.0" + } + }, + "node_modules/@dcloudio/uni-mp-toutiao": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-toutiao/-/uni-mp-toutiao-3.0.0-3090920231225001.tgz", + "integrity": "sha512-g6fpZeUS2mBDIalhQEKXnkMAKUP+xGz4poJrjABMRu6L2ayXjOCYHFC0uZEIoagcD5zb3UN4ZrPaQvFtcErqRA==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-vite": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-vite/-/uni-mp-vite-3.0.0-3090920231225001.tgz", + "integrity": "sha512-kcw5gPzIjMonakkT1PJtBwfr3PA6YKNxB+hJw2+gEnUFHCAVASXAOO1i7AmtWSqJsRI2FigIDDw1rjeMwY/BHg==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3" + } + }, + "node_modules/@dcloudio/uni-mp-vue": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-vue/-/uni-mp-vue-3.0.0-3090920231225001.tgz", + "integrity": "sha512-oSlZ9lynhc6f8q7GRQMecZIzUrxnh0pIByDS9zOaYyXfT8oemA7ai2FSpX+McpSQ43VhJfPHzeJbeK2V7F0Csg==", + "dependencies": { + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-mp-weixin": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-weixin/-/uni-mp-weixin-3.0.0-3090920231225001.tgz", + "integrity": "sha512-XV43ox/P19pTjvjXrDeIrjmbH8VUeV/iUm7ufK77gCwSAEff2yZOd/FlmikQncQItJP1M7Sxv8DnilEbPeLoBA==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47", + "jimp": "^0.10.1", + "licia": "^1.29.0", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + } + }, + "node_modules/@dcloudio/uni-mp-xhs": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-xhs/-/uni-mp-xhs-3.0.0-3090920231225001.tgz", + "integrity": "sha512-pY/OCLGNLChmTShAG41sb0AGxqJCqsioNu4fIEKcC2dj8JFOUdcFBYS7ZvhrVrVYCErM0H3GcmLla0cJZfUCjQ==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-nvue-styler": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-nvue-styler/-/uni-nvue-styler-3.0.0-3090920231225001.tgz", + "integrity": "sha512-rUO12CpVcMV1pMof7w9cs6FpCKuLPhA3fU7Tfl19XVJXv0IY//rX2aucZW0kOpw45RVJyAHbPBFuQKz7kEiGlA==", + "dependencies": { + "@vue/shared": "3.2.47", + "parse-css-font": "^4.0.0", + "postcss": "^8.4.23" + } + }, + "node_modules/@dcloudio/uni-push": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-push/-/uni-push-3.0.0-3090920231225001.tgz", + "integrity": "sha512-aqUWb1DeF9y9en3fx03eQTZzKLjUCvakJZtmQQFbj69lV2Zh/v/EWKWkF0iOOezPGBTHXJvVDQMWGkdj1ez19Q==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001" + } + }, + "node_modules/@dcloudio/uni-quickapp-webview": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-quickapp-webview/-/uni-quickapp-webview-3.0.0-3090920231225001.tgz", + "integrity": "sha512-sFKH4WboIKvkVNEmxkhLvzE/Wya5YwFXdL/AoM8rxQO7DXP+eNOtMhapWz2NEKXN8XGM3WIVTjwyMINgg5+Ctw==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-shared": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-shared/-/uni-shared-3.0.0-3090920231225001.tgz", + "integrity": "sha512-OXx/KBMuxAGayThVNshnZ17qZJrxjcdFeGwWJrDeTHmCpg+/Yr5yK+ubCQjN2kc4jttwq2fIkqqNs2xe4QFlSQ==", + "dependencies": { + "@vue/shared": "3.2.47" + } + }, + "node_modules/@dcloudio/uni-stacktracey": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-stacktracey/-/uni-stacktracey-3.0.0-3090920231225001.tgz", + "integrity": "sha512-UN0qPDt6uTo2M9HxD4WgJHJIrCWLpUkseBOoOseZ2QVqfFCTQvLcH3ZVr7fx4gkoc5FDCp1YI2uiiS2AnjqZtA==", + "dev": true + }, + "node_modules/@dcloudio/uni-stat": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-stat/-/uni-stat-3.0.0-3090920231225001.tgz", + "integrity": "sha512-gac3rONnRtLCSTXn2QhnwjsZJTfVA8uHRFyp5Uf03rQbu82MuNVOzi7p7Q3Y/0uiCHSldZ47hhmwbqtb/qdKOQ==", + "dependencies": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "debug": "^4.3.3" + } + }, + "node_modules/@dcloudio/uni-ui": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-ui/-/uni-ui-1.5.0.tgz", + "integrity": "sha512-E7D37VbRZeh1E2yzrIie8psBckIrErdkUbUA751rlG8zdioGovW3zOuUsKgY+Gh7csMvi6XMEoSacvboe8o4Gw==" + }, + "node_modules/@dcloudio/vite-plugin-uni": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/vite-plugin-uni/-/vite-plugin-uni-3.0.0-3090920231225001.tgz", + "integrity": "sha512-kV/J7yl5ojsd1NZZ1eMziRDrz+MPbjDMm6rWG3fyW1u8Kzj06jUzzi7HRlkaWiPJHAmeRWGDf/6RFoSd+8fYCg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@rollup/pluginutils": "^4.2.0", + "@vitejs/plugin-legacy": "^4.0.3", + "@vitejs/plugin-vue": "^4.2.1", + "@vitejs/plugin-vue-jsx": "^3.0.1", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "cac": "6.7.9", + "debug": "^4.3.3", + "estree-walker": "^2.0.2", + "express": "^4.17.1", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.0", + "hash-sum": "^2.0.0", + "jsonc-parser": "^3.0.0", + "magic-string": "^0.30.0", + "picocolors": "^1.0.0", + "terser": "^5.4.0", + "unplugin-auto-import": "^0.16.7" + }, + "bin": { + "uni": "bin/uni.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@intlify/core-base": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.1.9.tgz", + "integrity": "sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==", + "dependencies": { + "@intlify/devtools-if": "9.1.9", + "@intlify/message-compiler": "9.1.9", + "@intlify/message-resolver": "9.1.9", + "@intlify/runtime": "9.1.9", + "@intlify/shared": "9.1.9", + "@intlify/vue-devtools": "9.1.9" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/devtools-if": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.1.9.tgz", + "integrity": "sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==", + "dependencies": { + "@intlify/shared": "9.1.9" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.1.9.tgz", + "integrity": "sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==", + "dependencies": { + "@intlify/message-resolver": "9.1.9", + "@intlify/shared": "9.1.9", + "source-map": "0.6.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/message-resolver": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/message-resolver/-/message-resolver-9.1.9.tgz", + "integrity": "sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/runtime": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/runtime/-/runtime-9.1.9.tgz", + "integrity": "sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==", + "dependencies": { + "@intlify/message-compiler": "9.1.9", + "@intlify/message-resolver": "9.1.9", + "@intlify/shared": "9.1.9" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/shared": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.1.9.tgz", + "integrity": "sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/vue-devtools": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.1.9.tgz", + "integrity": "sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==", + "dependencies": { + "@intlify/message-resolver": "9.1.9", + "@intlify/runtime": "9.1.9", + "@intlify/shared": "9.1.9" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "peer": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "peer": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "peer": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "peer": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "peer": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "peer": true + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jimp/bmp": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/bmp/-/bmp-0.10.3.tgz", + "integrity": "sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "bmp-js": "^0.1.0", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/core": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/core/-/core-0.10.3.tgz", + "integrity": "sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "core-js": "^3.4.1", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "^0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + } + }, + "node_modules/@jimp/custom": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/custom/-/custom-0.10.3.tgz", + "integrity": "sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/core": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "node_modules/@jimp/gif": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/gif/-/gif-0.10.3.tgz", + "integrity": "sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "omggif": "^1.0.9" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/jpeg": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/jpeg/-/jpeg-0.10.3.tgz", + "integrity": "sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "jpeg-js": "^0.3.4" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-blit": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-blit/-/plugin-blit-0.10.3.tgz", + "integrity": "sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-blur": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-blur/-/plugin-blur-0.10.3.tgz", + "integrity": "sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-circle": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-circle/-/plugin-circle-0.10.3.tgz", + "integrity": "sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-color": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-color/-/plugin-color-0.10.3.tgz", + "integrity": "sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "tinycolor2": "^1.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-contain": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-contain/-/plugin-contain-0.10.3.tgz", + "integrity": "sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-cover": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-cover/-/plugin-cover-0.10.3.tgz", + "integrity": "sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5", + "@jimp/plugin-scale": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-crop": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-crop/-/plugin-crop-0.10.3.tgz", + "integrity": "sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-displace": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-displace/-/plugin-displace-0.10.3.tgz", + "integrity": "sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-dither": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-dither/-/plugin-dither-0.10.3.tgz", + "integrity": "sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-fisheye": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.10.3.tgz", + "integrity": "sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-flip": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-flip/-/plugin-flip-0.10.3.tgz", + "integrity": "sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-rotate": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-gaussian": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.10.3.tgz", + "integrity": "sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-invert": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-invert/-/plugin-invert-0.10.3.tgz", + "integrity": "sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-mask": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-mask/-/plugin-mask-0.10.3.tgz", + "integrity": "sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-normalize": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-normalize/-/plugin-normalize-0.10.3.tgz", + "integrity": "sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-print": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-print/-/plugin-print-0.10.3.tgz", + "integrity": "sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "load-bmfont": "^1.4.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-resize": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-resize/-/plugin-resize-0.10.3.tgz", + "integrity": "sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-rotate": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-rotate/-/plugin-rotate-0.10.3.tgz", + "integrity": "sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blit": ">=0.3.5", + "@jimp/plugin-crop": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-scale": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-scale/-/plugin-scale-0.10.3.tgz", + "integrity": "sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-shadow": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-shadow/-/plugin-shadow-0.10.3.tgz", + "integrity": "sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-blur": ">=0.3.5", + "@jimp/plugin-resize": ">=0.3.5" + } + }, + "node_modules/@jimp/plugin-threshold": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-threshold/-/plugin-threshold-0.10.3.tgz", + "integrity": "sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5", + "@jimp/plugin-color": ">=0.8.0", + "@jimp/plugin-resize": ">=0.8.0" + } + }, + "node_modules/@jimp/plugins": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugins/-/plugins-0.10.3.tgz", + "integrity": "sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/plugin-blit": "^0.10.3", + "@jimp/plugin-blur": "^0.10.3", + "@jimp/plugin-circle": "^0.10.3", + "@jimp/plugin-color": "^0.10.3", + "@jimp/plugin-contain": "^0.10.3", + "@jimp/plugin-cover": "^0.10.3", + "@jimp/plugin-crop": "^0.10.3", + "@jimp/plugin-displace": "^0.10.3", + "@jimp/plugin-dither": "^0.10.3", + "@jimp/plugin-fisheye": "^0.10.3", + "@jimp/plugin-flip": "^0.10.3", + "@jimp/plugin-gaussian": "^0.10.3", + "@jimp/plugin-invert": "^0.10.3", + "@jimp/plugin-mask": "^0.10.3", + "@jimp/plugin-normalize": "^0.10.3", + "@jimp/plugin-print": "^0.10.3", + "@jimp/plugin-resize": "^0.10.3", + "@jimp/plugin-rotate": "^0.10.3", + "@jimp/plugin-scale": "^0.10.3", + "@jimp/plugin-shadow": "^0.10.3", + "@jimp/plugin-threshold": "^0.10.3", + "core-js": "^3.4.1", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/png": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/png/-/png-0.10.3.tgz", + "integrity": "sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "pngjs": "^3.3.3" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/tiff": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/tiff/-/tiff-0.10.3.tgz", + "integrity": "sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "core-js": "^3.4.1", + "utif": "^2.0.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/types": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/types/-/types-0.10.3.tgz", + "integrity": "sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/bmp": "^0.10.3", + "@jimp/gif": "^0.10.3", + "@jimp/jpeg": "^0.10.3", + "@jimp/png": "^0.10.3", + "@jimp/tiff": "^0.10.3", + "core-js": "^3.4.1", + "timm": "^1.6.1" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/utils": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/utils/-/utils-0.10.3.tgz", + "integrity": "sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "core-js": "^3.4.1", + "regenerator-runtime": "^0.13.3" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "devOptional": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "peer": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "peer": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.5", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.5.tgz", + "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "peer": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.11.27", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.27.tgz", + "integrity": "sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==", + "devOptional": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true, + "peer": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "peer": true + }, + "node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "peer": true + }, + "node_modules/@vitejs/plugin-legacy": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-4.1.1.tgz", + "integrity": "sha512-um3gbVouD2Q/g19C0qpDfHwveXDCAHzs8OC3e9g6aXpKoD1H14himgs7wkMnhAynBJy7QqUoZNAXDuqN8zLR2g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "browserslist": "^4.21.9", + "core-js": "^3.31.1", + "magic-string": "^0.30.1", + "regenerator-runtime": "^0.13.11", + "systemjs": "^6.14.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "terser": "^5.4.0", + "vite": "^4.0.0" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", + "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitejs/plugin-vue-jsx": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.1.0.tgz", + "integrity": "sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3", + "@vue/babel-plugin-jsx": "^1.1.5" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.1.tgz", + "integrity": "sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ==", + "dev": true + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.1.tgz", + "integrity": "sha512-Yy9qGktktXhB39QE99So/BO2Uwm/ZG+gpL9vMg51ijRRbINvgbuhyJEi4WYmGRMx/MSTfK0xjgZ3/MyY+iLCEg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "@vue/babel-helper-vue-transform-on": "1.2.1", + "@vue/babel-plugin-resolve-type": "1.2.1", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.1.tgz", + "integrity": "sha512-IOtnI7pHunUzHS/y+EG/yPABIAp0VN8QhQ0UCS09jeMVxgAnI9qdOzO85RXdQGxq+aWCdv8/+k3W0aYO6j/8fQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/parser": "^7.23.6", + "@vue/compiler-sfc": "^3.4.15" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-core": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz", + "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.21", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-dom": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", + "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-sfc": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", + "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.21", + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-ssr": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz", + "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/shared": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", + "dev": true + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dependencies": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.1", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.1.tgz", + "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==" + }, + "node_modules/@vue/reactivity": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz", + "integrity": "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==", + "dev": true, + "dependencies": { + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/reactivity-transform/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/@vue/reactivity/node_modules/@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==", + "dev": true + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz", + "integrity": "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/runtime-core/node_modules/@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==", + "dev": true + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "dependencies": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/runtime-dom/node_modules/@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "dependencies": { + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/runtime-dom/node_modules/@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "dependencies": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "dependencies": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + }, + "peerDependencies": { + "vue": "3.2.47" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true, + "peer": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "peer": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "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" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "peer": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "peer": true + }, + "node_modules/autoprefixer": { + "version": "10.4.18", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.10", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "node_modules/base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true, + "peer": true + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "peer": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "devOptional": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cac": { + "version": "6.7.9", + "resolved": "https://registry.npmmirror.com/cac/-/cac-6.7.9.tgz", + "integrity": "sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001597", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz", + "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==" + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true, + "peer": true + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "peer": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "peer": true + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "peer": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "devOptional": true + }, + "node_modules/compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true + }, + "node_modules/core-js-compat": { + "version": "3.36.0", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "dev": true, + "dependencies": { + "browserslist": "^4.22.3" + } + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, + "node_modules/css-font-size-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", + "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==" + }, + "node_modules/css-font-stretch-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", + "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==" + }, + "node_modules/css-font-style-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", + "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==" + }, + "node_modules/css-font-weight-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", + "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==" + }, + "node_modules/css-list-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/css-list-helpers/-/css-list-helpers-2.0.0.tgz", + "integrity": "sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==" + }, + "node_modules/css-system-font-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", + "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true, + "peer": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "peer": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true, + "peer": true + }, + "node_modules/csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "peer": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true, + "peer": true + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true, + "peer": true + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "peer": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "peer": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.705", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.705.tgz", + "integrity": "sha512-LKqhpwJCLhYId2VVwEzFXWrqQI5n5zBppz1W9ehhTlfYU8CUUW6kClbN8LHF/v7flMgRdETS772nqywJ+ckVAw==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "peer": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.16.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "peer": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" + }, + "node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "peer": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "8.16.0", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.3.0", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.2", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", + "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.17.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.17.0.tgz", + "integrity": "sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.13", + "semver": "^7.5.4", + "vue-eslint-parser": "^9.3.1", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "peer": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmmirror.com/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.18.3", + "resolved": "https://registry.npmmirror.com/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "peer": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "peer": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "peer": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "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.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "dependencies": { + "loader-utils": "^3.2.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "peer": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "peer": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "peer": true + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "peer": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "peer": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==" + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "devOptional": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "peer": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/invert-kv": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/invert-kv/-/invert-kv-3.0.1.tgz", + "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "peer": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "peer": true + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "peer": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "peer": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "peer": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.0.4", + "resolved": "https://registry.npmmirror.com/jest/-/jest-27.0.4.tgz", + "integrity": "sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/core": "^27.0.4", + "import-local": "^3.0.2", + "jest-cli": "^27.0.4" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "peer": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "peer": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "peer": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "peer": true, + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "peer": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "peer": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "peer": true + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "peer": true, + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jimp": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/jimp/-/jimp-0.10.3.tgz", + "integrity": "sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "@jimp/custom": "^0.10.3", + "@jimp/plugins": "^0.10.3", + "@jimp/types": "^0.10.3", + "core-js": "^3.4.1", + "regenerator-runtime": "^0.13.3" + } + }, + "node_modules/jpeg-js": { + "version": "0.3.7", + "resolved": "https://registry.npmmirror.com/jpeg-js/-/jpeg-js-0.3.7.tgz", + "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "peer": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true, + "peer": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/lcid": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/lcid/-/lcid-3.1.1.tgz", + "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", + "dependencies": { + "invert-kv": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/licia": { + "version": "1.39.2", + "resolved": "https://registry.npmmirror.com/licia/-/licia-1.39.2.tgz", + "integrity": "sha512-4pte7gXufSAa3JcsR0iT+2Lj2RX5Qpj+Nc0n84xs0ynNmw7eJmeZzk2oPTEtsQqwHwtT+NiX0arGkL5HPjTs7g==" + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "peer": true + }, + "node_modules/load-bmfont": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/load-bmfont/-/load-bmfont-1.4.1.tgz", + "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", + "dependencies": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + } + }, + "node_modules/load-bmfont/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/localstorage-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/localstorage-polyfill/-/localstorage-polyfill-1.0.1.tgz", + "integrity": "sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "peer": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "peer": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "peer": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "peer": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==" + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mlly": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "node_modules/module-alias": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.3.tgz", + "integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "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.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "peer": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true, + "peer": true + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true + }, + "node_modules/omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-locale-s-fix": { + "version": "1.0.8-fix-1", + "resolved": "https://registry.npmmirror.com/os-locale-s-fix/-/os-locale-s-fix-1.0.8-fix-1.tgz", + "integrity": "sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==", + "dependencies": { + "lcid": "^3.0.0" + }, + "engines": { + "node": ">=10", + "yarn": "^1.22.4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "peer": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "peer": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==" + }, + "node_modules/parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==" + }, + "node_modules/parse-bmfont-xml": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz", + "integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==", + "dependencies": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.5.0" + } + }, + "node_modules/parse-css-font": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-css-font/-/parse-css-font-4.0.0.tgz", + "integrity": "sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==", + "dependencies": { + "css-font-size-keywords": "^1.0.0", + "css-font-stretch-keywords": "^1.0.1", + "css-font-style-keywords": "^1.0.1", + "css-font-weight-keywords": "^1.0.0", + "css-list-helpers": "^2.0.0", + "css-system-font-keywords": "^1.0.0", + "unquote": "^1.1.1" + } + }, + "node_modules/parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "peer": true, + "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" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "peer": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + }, + "node_modules/phin": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinia": { + "version": "2.0.36", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.0.36.tgz", + "integrity": "sha512-4UKApwjlmJH+VuHKgA+zQMddcCb3ezYnyewQ9NVrsDqZ/j9dMv5+rh+1r48whKNdpFkZAWVxhBp5ewYaYX9JcQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": "*" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==", + "dependencies": { + "pngjs": "^3.0.0" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "peer": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-modules": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/postcss-modules/-/postcss-modules-4.3.1.tgz", + "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", + "dependencies": { + "generic-names": "^4.0.0", + "icss-replace-symbols": "^1.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.0.2.tgz", + "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "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.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmmirror.com/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "peer": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true, + "peer": true + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode-reader": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/qrcode-reader/-/qrcode-reader-1.0.4.tgz", + "integrity": "sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==" + }, + "node_modules/qrcode-terminal": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==", + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "peer": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "peer": true + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "peer": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "peer": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-area-insets": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/safe-area-insets/-/safe-area-insets-1.4.1.tgz", + "integrity": "sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.69.7", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.69.7.tgz", + "integrity": "sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ==", + "devOptional": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "10.1.1", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0", + "sass": "^1.3.0", + "webpack": "^4.36.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/sass-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sass-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sass-loader/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sass-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "peer": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "peer": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sm-crypto": { + "version": "0.3.13", + "resolved": "https://registry.npmmirror.com/sm-crypto/-/sm-crypto-0.3.13.tgz", + "integrity": "sha512-ztNF+pZq6viCPMA1A6KKu3bgpkmYti5avykRHbcFIdSipFdkVmfUw2CnpM2kBJyppIalqvczLNM3wR8OQ0pT5w==", + "dependencies": { + "jsbn": "^1.1.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "devOptional": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "peer": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "peer": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "peer": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dependencies": { + "acorn": "^8.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "peer": true + }, + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmmirror.com/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + } + }, + "node_modules/systemjs": { + "version": "6.14.3", + "resolved": "https://registry.npmmirror.com/systemjs/-/systemjs-6.14.3.tgz", + "integrity": "sha512-hQv45irdhXudAOr8r6SVSpJSGtogdGZUbJBRKCE5nsIS7tsxxvnIHqT4IOPWj+P+HcSzeWzHlGCGpmhPDIKe+w==", + "dev": true + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser": { + "version": "5.29.2", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.29.2.tgz", + "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==", + "devOptional": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "peer": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "dev": true, + "peer": true + }, + "node_modules/timm": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/timm/-/timm-1.7.1.tgz", + "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "peer": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "peer": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "peer": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "peer": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/ufo": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "devOptional": true, + "peer": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unimport": { + "version": "3.7.1", + "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.7.1.tgz", + "integrity": "sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==", + "dependencies": { + "@rollup/pluginutils": "^5.1.0", + "acorn": "^8.11.2", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "fast-glob": "^3.3.2", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.1.1", + "strip-literal": "^1.3.0", + "unplugin": "^1.5.1" + } + }, + "node_modules/unimport/node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/unimport/node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/unimport/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unplugin": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.10.0.tgz", + "integrity": "sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==", + "dependencies": { + "acorn": "^8.11.3", + "chokidar": "^3.6.0", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.6.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/unplugin-auto-import": { + "version": "0.16.7", + "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.16.7.tgz", + "integrity": "sha512-w7XmnRlchq6YUFJVFGSvG1T/6j8GrdYN6Em9Wf0Ye+HXgD/22kont+WnuCAA0UaUoxtuvRR1u/mXKy63g/hfqQ==", + "dependencies": { + "@antfu/utils": "^0.7.6", + "@rollup/pluginutils": "^5.0.5", + "fast-glob": "^3.3.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "minimatch": "^9.0.3", + "unimport": "^3.4.0", + "unplugin": "^1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@nuxt/kit": "^3.2.2", + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-auto-import/node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/unplugin-auto-import/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/unplugin-auto-import/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "peer": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/utif": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "dependencies": { + "pako": "^1.0.5" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "peer": true + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/vite/-/vite-4.0.3.tgz", + "integrity": "sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==", + "dependencies": { + "esbuild": "^0.16.3", + "postcss": "^8.4.20", + "resolve": "^1.22.1", + "rollup": "^3.7.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "node_modules/vue": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.4.2", + "resolved": "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/vue-i18n": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.1.9.tgz", + "integrity": "sha512-JeRdNVxS2OGp1E+pye5XB6+M6BBkHwAv9C80Q7+kzoMdUDGRna06tjC0vCB/jDX9aWrl5swxOMFcyAr7or8XTA==", + "dependencies": { + "@intlify/core-base": "9.1.9", + "@intlify/shared": "9.1.9", + "@intlify/vue-devtools": "9.1.9", + "@vue/devtools-api": "^6.0.0-beta.7" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-router": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.3.0.tgz", + "integrity": "sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.1" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "peer": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "peer": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true, + "peer": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "peer": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.90.3", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", + "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==" + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "peer": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true, + "peer": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "peer": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==" + }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "peer": true + }, + "node_modules/xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xregexp": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/xregexp/-/xregexp-3.1.0.tgz", + "integrity": "sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "peer": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmmirror.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@antfu/utils": { + "version": "0.7.7", + "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.7.tgz", + "integrity": "sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==" + }, + "@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "requires": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + } + }, + "@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==" + }, + "@babel/core": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + } + }, + "@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "requires": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", + "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + }, + "@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==" + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "requires": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "peer": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.23.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", + "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.24.0.tgz", + "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.24.0", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "@babel/runtime": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.0.tgz", + "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "requires": { + "regenerator-runtime": "^0.14.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + } + } + }, + "@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/traverse": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "peer": true + }, + "@dcloudio/types": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/@dcloudio/types/-/types-3.3.2.tgz", + "integrity": "sha512-O+7M55RXqYJMCTh3MC86IGJvDPTR+v214yUeaoz1YUIHa2gJdgObs4RRwfAwZoLMtdoZ9J5BElZZqRy5oi+UTg==" + }, + "@dcloudio/uni-app": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app/-/uni-app-3.0.0-3090920231225001.tgz", + "integrity": "sha512-NsGrGjNmHc2zH1c5eqnHwSxuMNse+RknCQWIIWnnz+Q8lqHc1I9zf2mzxYXyNBHy4VhGRY2zblhkUyWLtGRaaA==", + "requires": { + "@dcloudio/uni-cloud": "3.0.0-3090920231225001", + "@dcloudio/uni-components": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-push": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-stat": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-app-plus": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-plus/-/uni-app-plus-3.0.0-3090920231225001.tgz", + "integrity": "sha512-TCzWHbwuheEBSzpTqpHh/imhj4Rkwdg48m9C7ZLqun5runI056TEUdrpfuLBVuwsttk5NSpqm11ywS7GSSM7Mg==", + "requires": { + "@dcloudio/uni-app-uts": "3.0.0-3090920231225001", + "@dcloudio/uni-app-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-app-vue": "3.0.0-3090920231225001", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "licia": "^1.29.0", + "postcss-selector-parser": "^6.0.6" + } + }, + "@dcloudio/uni-app-uts": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-uts/-/uni-app-uts-3.0.0-3090920231225001.tgz", + "integrity": "sha512-61At6ZKh9SpHMuewxtZEOuDS1hkwFs5AecqavFAZWovVQR30it2e5zSN4kwq/ZM1An/HFs0TLXV3YBnx9Q07oA==", + "requires": { + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-nvue-styler": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@jridgewell/gen-mapping": "^0.3.3", + "@jridgewell/trace-mapping": "^0.3.19", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "es-module-lexer": "^1.2.1", + "estree-walker": "^2.0.2", + "fs-extra": "^10.0.0", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2", + "unplugin-auto-import": "^0.16.7" + } + }, + "@dcloudio/uni-app-vite": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-vite/-/uni-app-vite-3.0.0-3090920231225001.tgz", + "integrity": "sha512-MkmI3qzsGYrT787lRMyhb/DdIF9mE/BbhrExwM/RBshnVzl6rjQIKx5lIG94t58WIaP7Jcl/pJw+IPAe1FTQyQ==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-nvue-styler": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@rollup/pluginutils": "^4.2.0", + "@vitejs/plugin-vue": "^4.2.1", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "picocolors": "^1.0.0" + } + }, + "@dcloudio/uni-app-vue": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-vue/-/uni-app-vue-3.0.0-3090920231225001.tgz", + "integrity": "sha512-D7I4jGSnpBihSXXeckRSD152Da2N2vKDtGF1sbNe2m1R04W36AkVUtzFGpSOml4MNIedCGtzGWXKaX7rIU+mFA==" + }, + "@dcloudio/uni-automator": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-automator/-/uni-automator-3.0.0-3090920231225001.tgz", + "integrity": "sha512-6PKcEJK6VAARpEtsFUypFEu6DeAminijHJb63x6oK1lIt0VlJFGjXuCTBbFQTf6uLFSsUGMV4wcCmh2NswXxmg==", + "dev": true, + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "address": "^1.1.2", + "cross-env": "^7.0.3", + "debug": "^4.3.3", + "default-gateway": "^6.0.3", + "fs-extra": "^10.0.0", + "jsonc-parser": "^3.2.0", + "licia": "^1.29.0", + "merge": "^2.1.1", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + } + }, + "@dcloudio/uni-cli-shared": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-cli-shared/-/uni-cli-shared-3.0.0-3090920231225001.tgz", + "integrity": "sha512-6Pt2nCRI57OwIoqBNctPTQ05oJPTZGlocylmrbpUy8Q5Z2eyQNlnA/jTm9L5tM6nnfJKzBE/yOBMOgJDsVWNYw==", + "requires": { + "@ampproject/remapping": "^2.1.2", + "@babel/core": "^7.21.3", + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@intlify/core-base": "9.1.9", + "@intlify/shared": "9.1.9", + "@intlify/vue-devtools": "9.1.9", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "autoprefixer": "^10.4.14", + "base64url": "^3.0.1", + "chokidar": "^3.5.3", + "compare-versions": "^3.6.0", + "debug": "^4.3.3", + "es-module-lexer": "^1.2.1", + "esbuild": "^0.17.5", + "estree-walker": "^2.0.2", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.0", + "hash-sum": "^2.0.0", + "jsonc-parser": "^3.0.0", + "magic-string": "^0.30.0", + "merge": "^2.1.1", + "mime": "^3.0.0", + "module-alias": "^2.2.2", + "os-locale-s-fix": "^1.0.8-fix-1", + "picocolors": "^1.0.0", + "postcss-import": "^14.0.2", + "postcss-load-config": "^3.1.1", + "postcss-modules": "^4.3.0", + "postcss-selector-parser": "^6.0.6", + "resolve": "^1.22.1", + "tapable": "^2.2.0", + "xregexp": "3.1.0" + } + }, + "@dcloudio/uni-cloud": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-cloud/-/uni-cloud-3.0.0-3090920231225001.tgz", + "integrity": "sha512-+k8cnrQZlBYbY01Li9rR5PBcxxvn/i8sHpj+i3rbzJioks4nneR64ZP14Zisu07v5VwLcjuZNdI8Ato7KZjyUA==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47", + "fast-glob": "^3.2.11" + } + }, + "@dcloudio/uni-components": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-components/-/uni-components-3.0.0-3090920231225001.tgz", + "integrity": "sha512-fyqPOzmEjgfhwrElZH+yTBjqbCzefgZTkbZrgPaQkvXRT8sJpsTpcjF8wNPLo0dB+9XppkNAJDy+c9EkDJGeKQ==", + "requires": { + "@dcloudio/uni-cloud": "3.0.0-3090920231225001", + "@dcloudio/uni-h5": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001" + } + }, + "@dcloudio/uni-h5": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5/-/uni-h5-3.0.0-3090920231225001.tgz", + "integrity": "sha512-q3YR+wESXb9JdFOJdoX8I7ER2TTOvY23fHFMMq1wZW49WLufMMu/BKM7FUeHtX9uteqMIVJDrzrjknwLgNUJiw==", + "requires": { + "@dcloudio/uni-h5-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-h5-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "localstorage-polyfill": "^1.0.1", + "postcss-selector-parser": "^6.0.6", + "safe-area-insets": "^1.4.1", + "vue-router": "^4.1.6", + "xmlhttprequest": "^1.8.0" + } + }, + "@dcloudio/uni-h5-vite": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5-vite/-/uni-h5-vite-3.0.0-3090920231225001.tgz", + "integrity": "sha512-gyhFfI77gL2saPef0+3nQ9+mi//Vk/N7PeZCSxq6oRpHIUE3TkpB3xvQrPkciJPG8ivHX5BGcqcOdZt36qgBtA==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@rollup/pluginutils": "^4.2.0", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3", + "fs-extra": "^10.0.0", + "mime": "^3.0.0", + "module-alias": "^2.2.2" + } + }, + "@dcloudio/uni-h5-vue": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5-vue/-/uni-h5-vue-3.0.0-3090920231225001.tgz", + "integrity": "sha512-v19rnmf+V+2G07ABjViyaLqDcVJReBVuAb0xuSzNiLIezQ3GRFJAf4XEjbk56BrrRfdDRaNJ+6lrWP5j1KI8nw==", + "requires": { + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/server-renderer": "3.2.47" + } + }, + "@dcloudio/uni-i18n": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-i18n/-/uni-i18n-3.0.0-3090920231225001.tgz", + "integrity": "sha512-GUiyXxeLvunToD2LC1FybqtrLw/cbKmtO/Q3mwue0rEurhaTrabiVoOntP4n1t4QMaL+dFsex06cRbZgafqlIw==" + }, + "@dcloudio/uni-mp-alipay": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-alipay/-/uni-mp-alipay-3.0.0-3090920231225001.tgz", + "integrity": "sha512-zHcwqmFi9NtzW3cW9kAAjdfTbJ1YPrE8LKAbjHyp5XiytSRcTiuSqipBs4HgtVBijur8FPxrZtIYcGIQZQskBw==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-baidu": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-baidu/-/uni-mp-baidu-3.0.0-3090920231225001.tgz", + "integrity": "sha512-zhS+I+KL7ecmni2lwy6KL5gpCqPQ/7gygkqBqdNIOq9eDB7c4rlPF6w+j7WmeBWeZPZpccYaQnsn9W7swpnmRA==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-weixin": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "jimp": "^0.10.1", + "licia": "^1.29.0", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + } + }, + "@dcloudio/uni-mp-compiler": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-compiler/-/uni-mp-compiler-3.0.0-3090920231225001.tgz", + "integrity": "sha512-q9pgXG1gtN9VMaEQj4jlmHBkKAwFsKTCsZu4FsH4kpFoQoSgdEFH8VAHTWKA9reaUVLJGInO0Nsd+t9rZJi3EA==", + "requires": { + "@babel/generator": "^7.20.5", + "@babel/parser": "^7.16.4", + "@babel/types": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2" + } + }, + "@dcloudio/uni-mp-jd": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-jd/-/uni-mp-jd-3.0.0-3090920231225001.tgz", + "integrity": "sha512-n+zDI+dRyVgSnp8vcLnflxs7usMEy/sfx2FWB77XswPHiMOi8Wz7SK/CQln/ScKD0pRWDPiXcLh4WXS1u3H0Hg==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-kuaishou": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-kuaishou/-/uni-mp-kuaishou-3.0.0-3090920231225001.tgz", + "integrity": "sha512-Z3VFtDNDUEGkHOs5hzB+HiOuJWxGsLh6jQYlGLwXFNmWJFYWGaEBsAA+NztWOB4fRB2JeYSoTu78Al3MWFRwzQ==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-weixin": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-lark": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-lark/-/uni-mp-lark-3.0.0-3090920231225001.tgz", + "integrity": "sha512-LuXWe7vf2fncf1Hj0PpxKYCRWYwqhcz3kKkauNa9nVNjEwiD83UthW5oDxVWMCklIFjKw91mhe+zqq2Oc8bl1w==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-toutiao": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-qq": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-qq/-/uni-mp-qq-3.0.0-3090920231225001.tgz", + "integrity": "sha512-f114i9LhYxfgHUFpSKcOHWL5ZqOttwbzNeK7vMRaqUSWX8VKxzXhqJ5OOKB2HeKyMZGJ50wxvyYNYiR01dBg+A==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47", + "fs-extra": "^10.0.0" + } + }, + "@dcloudio/uni-mp-toutiao": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-toutiao/-/uni-mp-toutiao-3.0.0-3090920231225001.tgz", + "integrity": "sha512-g6fpZeUS2mBDIalhQEKXnkMAKUP+xGz4poJrjABMRu6L2ayXjOCYHFC0uZEIoagcD5zb3UN4ZrPaQvFtcErqRA==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-vite": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-vite/-/uni-mp-vite-3.0.0-3090920231225001.tgz", + "integrity": "sha512-kcw5gPzIjMonakkT1PJtBwfr3PA6YKNxB+hJw2+gEnUFHCAVASXAOO1i7AmtWSqJsRI2FigIDDw1rjeMwY/BHg==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-i18n": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "debug": "^4.3.3" + } + }, + "@dcloudio/uni-mp-vue": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-vue/-/uni-mp-vue-3.0.0-3090920231225001.tgz", + "integrity": "sha512-oSlZ9lynhc6f8q7GRQMecZIzUrxnh0pIByDS9zOaYyXfT8oemA7ai2FSpX+McpSQ43VhJfPHzeJbeK2V7F0Csg==", + "requires": { + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-mp-weixin": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-weixin/-/uni-mp-weixin-3.0.0-3090920231225001.tgz", + "integrity": "sha512-XV43ox/P19pTjvjXrDeIrjmbH8VUeV/iUm7ufK77gCwSAEff2yZOd/FlmikQncQItJP1M7Sxv8DnilEbPeLoBA==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47", + "jimp": "^0.10.1", + "licia": "^1.29.0", + "qrcode-reader": "^1.0.4", + "qrcode-terminal": "^0.12.0", + "ws": "^8.4.2" + } + }, + "@dcloudio/uni-mp-xhs": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-xhs/-/uni-mp-xhs-3.0.0-3090920231225001.tgz", + "integrity": "sha512-pY/OCLGNLChmTShAG41sb0AGxqJCqsioNu4fIEKcC2dj8JFOUdcFBYS7ZvhrVrVYCErM0H3GcmLla0cJZfUCjQ==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-compiler": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-nvue-styler": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-nvue-styler/-/uni-nvue-styler-3.0.0-3090920231225001.tgz", + "integrity": "sha512-rUO12CpVcMV1pMof7w9cs6FpCKuLPhA3fU7Tfl19XVJXv0IY//rX2aucZW0kOpw45RVJyAHbPBFuQKz7kEiGlA==", + "requires": { + "@vue/shared": "3.2.47", + "parse-css-font": "^4.0.0", + "postcss": "^8.4.23" + } + }, + "@dcloudio/uni-push": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-push/-/uni-push-3.0.0-3090920231225001.tgz", + "integrity": "sha512-aqUWb1DeF9y9en3fx03eQTZzKLjUCvakJZtmQQFbj69lV2Zh/v/EWKWkF0iOOezPGBTHXJvVDQMWGkdj1ez19Q==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001" + } + }, + "@dcloudio/uni-quickapp-webview": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-quickapp-webview/-/uni-quickapp-webview-3.0.0-3090920231225001.tgz", + "integrity": "sha512-sFKH4WboIKvkVNEmxkhLvzE/Wya5YwFXdL/AoM8rxQO7DXP+eNOtMhapWz2NEKXN8XGM3WIVTjwyMINgg5+Ctw==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vite": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-vue": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-shared": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-shared/-/uni-shared-3.0.0-3090920231225001.tgz", + "integrity": "sha512-OXx/KBMuxAGayThVNshnZ17qZJrxjcdFeGwWJrDeTHmCpg+/Yr5yK+ubCQjN2kc4jttwq2fIkqqNs2xe4QFlSQ==", + "requires": { + "@vue/shared": "3.2.47" + } + }, + "@dcloudio/uni-stacktracey": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-stacktracey/-/uni-stacktracey-3.0.0-3090920231225001.tgz", + "integrity": "sha512-UN0qPDt6uTo2M9HxD4WgJHJIrCWLpUkseBOoOseZ2QVqfFCTQvLcH3ZVr7fx4gkoc5FDCp1YI2uiiS2AnjqZtA==", + "dev": true + }, + "@dcloudio/uni-stat": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-stat/-/uni-stat-3.0.0-3090920231225001.tgz", + "integrity": "sha512-gac3rONnRtLCSTXn2QhnwjsZJTfVA8uHRFyp5Uf03rQbu82MuNVOzi7p7Q3Y/0uiCHSldZ47hhmwbqtb/qdKOQ==", + "requires": { + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "debug": "^4.3.3" + } + }, + "@dcloudio/uni-ui": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@dcloudio/uni-ui/-/uni-ui-1.5.0.tgz", + "integrity": "sha512-E7D37VbRZeh1E2yzrIie8psBckIrErdkUbUA751rlG8zdioGovW3zOuUsKgY+Gh7csMvi6XMEoSacvboe8o4Gw==" + }, + "@dcloudio/vite-plugin-uni": { + "version": "3.0.0-3090920231225001", + "resolved": "https://registry.npmmirror.com/@dcloudio/vite-plugin-uni/-/vite-plugin-uni-3.0.0-3090920231225001.tgz", + "integrity": "sha512-kV/J7yl5ojsd1NZZ1eMziRDrz+MPbjDMm6rWG3fyW1u8Kzj06jUzzi7HRlkaWiPJHAmeRWGDf/6RFoSd+8fYCg==", + "dev": true, + "requires": { + "@babel/core": "^7.21.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.20.7", + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-shared": "3.0.0-3090920231225001", + "@rollup/pluginutils": "^4.2.0", + "@vitejs/plugin-legacy": "^4.0.3", + "@vitejs/plugin-vue": "^4.2.1", + "@vitejs/plugin-vue-jsx": "^3.0.1", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/shared": "3.2.47", + "cac": "6.7.9", + "debug": "^4.3.3", + "estree-walker": "^2.0.2", + "express": "^4.17.1", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.0", + "hash-sum": "^2.0.0", + "jsonc-parser": "^3.0.0", + "magic-string": "^0.30.0", + "picocolors": "^1.0.0", + "terser": "^5.4.0", + "unplugin-auto-import": "^0.16.7" + } + }, + "@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@intlify/core-base": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.1.9.tgz", + "integrity": "sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==", + "requires": { + "@intlify/devtools-if": "9.1.9", + "@intlify/message-compiler": "9.1.9", + "@intlify/message-resolver": "9.1.9", + "@intlify/runtime": "9.1.9", + "@intlify/shared": "9.1.9", + "@intlify/vue-devtools": "9.1.9" + } + }, + "@intlify/devtools-if": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.1.9.tgz", + "integrity": "sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==", + "requires": { + "@intlify/shared": "9.1.9" + } + }, + "@intlify/message-compiler": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.1.9.tgz", + "integrity": "sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==", + "requires": { + "@intlify/message-resolver": "9.1.9", + "@intlify/shared": "9.1.9", + "source-map": "0.6.1" + } + }, + "@intlify/message-resolver": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/message-resolver/-/message-resolver-9.1.9.tgz", + "integrity": "sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==" + }, + "@intlify/runtime": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/runtime/-/runtime-9.1.9.tgz", + "integrity": "sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==", + "requires": { + "@intlify/message-compiler": "9.1.9", + "@intlify/message-resolver": "9.1.9", + "@intlify/shared": "9.1.9" + } + }, + "@intlify/shared": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.1.9.tgz", + "integrity": "sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==" + }, + "@intlify/vue-devtools": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.1.9.tgz", + "integrity": "sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==", + "requires": { + "@intlify/message-resolver": "9.1.9", + "@intlify/runtime": "9.1.9", + "@intlify/shared": "9.1.9" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "peer": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "peer": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "peer": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "peer": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "peer": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "peer": true + }, + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dev": true, + "peer": true, + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + } + }, + "@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dev": true, + "peer": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dev": true, + "peer": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "peer": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + } + }, + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dev": true, + "peer": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "peer": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jimp/bmp": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/bmp/-/bmp-0.10.3.tgz", + "integrity": "sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "bmp-js": "^0.1.0", + "core-js": "^3.4.1" + } + }, + "@jimp/core": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/core/-/core-0.10.3.tgz", + "integrity": "sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "core-js": "^3.4.1", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "^0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + } + }, + "@jimp/custom": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/custom/-/custom-0.10.3.tgz", + "integrity": "sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/core": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/gif": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/gif/-/gif-0.10.3.tgz", + "integrity": "sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "omggif": "^1.0.9" + } + }, + "@jimp/jpeg": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/jpeg/-/jpeg-0.10.3.tgz", + "integrity": "sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "jpeg-js": "^0.3.4" + } + }, + "@jimp/plugin-blit": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-blit/-/plugin-blit-0.10.3.tgz", + "integrity": "sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-blur": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-blur/-/plugin-blur-0.10.3.tgz", + "integrity": "sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-circle": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-circle/-/plugin-circle-0.10.3.tgz", + "integrity": "sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-color": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-color/-/plugin-color-0.10.3.tgz", + "integrity": "sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "tinycolor2": "^1.4.1" + } + }, + "@jimp/plugin-contain": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-contain/-/plugin-contain-0.10.3.tgz", + "integrity": "sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-cover": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-cover/-/plugin-cover-0.10.3.tgz", + "integrity": "sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-crop": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-crop/-/plugin-crop-0.10.3.tgz", + "integrity": "sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-displace": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-displace/-/plugin-displace-0.10.3.tgz", + "integrity": "sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-dither": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-dither/-/plugin-dither-0.10.3.tgz", + "integrity": "sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-fisheye": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.10.3.tgz", + "integrity": "sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-flip": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-flip/-/plugin-flip-0.10.3.tgz", + "integrity": "sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-gaussian": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.10.3.tgz", + "integrity": "sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-invert": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-invert/-/plugin-invert-0.10.3.tgz", + "integrity": "sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-mask": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-mask/-/plugin-mask-0.10.3.tgz", + "integrity": "sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-normalize": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-normalize/-/plugin-normalize-0.10.3.tgz", + "integrity": "sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-print": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-print/-/plugin-print-0.10.3.tgz", + "integrity": "sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "load-bmfont": "^1.4.0" + } + }, + "@jimp/plugin-resize": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-resize/-/plugin-resize-0.10.3.tgz", + "integrity": "sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-rotate": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-rotate/-/plugin-rotate-0.10.3.tgz", + "integrity": "sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-scale": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-scale/-/plugin-scale-0.10.3.tgz", + "integrity": "sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-shadow": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-shadow/-/plugin-shadow-0.10.3.tgz", + "integrity": "sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugin-threshold": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugin-threshold/-/plugin-threshold-0.10.3.tgz", + "integrity": "sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1" + } + }, + "@jimp/plugins": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/plugins/-/plugins-0.10.3.tgz", + "integrity": "sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/plugin-blit": "^0.10.3", + "@jimp/plugin-blur": "^0.10.3", + "@jimp/plugin-circle": "^0.10.3", + "@jimp/plugin-color": "^0.10.3", + "@jimp/plugin-contain": "^0.10.3", + "@jimp/plugin-cover": "^0.10.3", + "@jimp/plugin-crop": "^0.10.3", + "@jimp/plugin-displace": "^0.10.3", + "@jimp/plugin-dither": "^0.10.3", + "@jimp/plugin-fisheye": "^0.10.3", + "@jimp/plugin-flip": "^0.10.3", + "@jimp/plugin-gaussian": "^0.10.3", + "@jimp/plugin-invert": "^0.10.3", + "@jimp/plugin-mask": "^0.10.3", + "@jimp/plugin-normalize": "^0.10.3", + "@jimp/plugin-print": "^0.10.3", + "@jimp/plugin-resize": "^0.10.3", + "@jimp/plugin-rotate": "^0.10.3", + "@jimp/plugin-scale": "^0.10.3", + "@jimp/plugin-shadow": "^0.10.3", + "@jimp/plugin-threshold": "^0.10.3", + "core-js": "^3.4.1", + "timm": "^1.6.1" + } + }, + "@jimp/png": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/png/-/png-0.10.3.tgz", + "integrity": "sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.10.3", + "core-js": "^3.4.1", + "pngjs": "^3.3.3" + } + }, + "@jimp/tiff": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/tiff/-/tiff-0.10.3.tgz", + "integrity": "sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==", + "requires": { + "@babel/runtime": "^7.7.2", + "core-js": "^3.4.1", + "utif": "^2.0.1" + } + }, + "@jimp/types": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/types/-/types-0.10.3.tgz", + "integrity": "sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/bmp": "^0.10.3", + "@jimp/gif": "^0.10.3", + "@jimp/jpeg": "^0.10.3", + "@jimp/png": "^0.10.3", + "@jimp/tiff": "^0.10.3", + "core-js": "^3.4.1", + "timm": "^1.6.1" + } + }, + "@jimp/utils": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/@jimp/utils/-/utils-0.10.3.tgz", + "integrity": "sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==", + "requires": { + "@babel/runtime": "^7.7.2", + "core-js": "^3.4.1", + "regenerator-runtime": "^0.13.3" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" + }, + "@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "devOptional": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true + }, + "@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "peer": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dev": true, + "peer": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "peer": true + }, + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "peer": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "peer": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "peer": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "peer": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/eslint": { + "version": "8.56.5", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.5.tgz", + "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", + "dev": true, + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "peer": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "peer": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "peer": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/node": { + "version": "20.11.27", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.27.tgz", + "integrity": "sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==", + "devOptional": true, + "peer": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true, + "peer": true + }, + "@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "peer": true + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dev": true, + "peer": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "peer": true + }, + "@vitejs/plugin-legacy": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-4.1.1.tgz", + "integrity": "sha512-um3gbVouD2Q/g19C0qpDfHwveXDCAHzs8OC3e9g6aXpKoD1H14himgs7wkMnhAynBJy7QqUoZNAXDuqN8zLR2g==", + "dev": true, + "requires": { + "@babel/core": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "browserslist": "^4.21.9", + "core-js": "^3.31.1", + "magic-string": "^0.30.1", + "regenerator-runtime": "^0.13.11", + "systemjs": "^6.14.1" + } + }, + "@vitejs/plugin-vue": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", + "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "requires": {} + }, + "@vitejs/plugin-vue-jsx": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.1.0.tgz", + "integrity": "sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==", + "dev": true, + "requires": { + "@babel/core": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3", + "@vue/babel-plugin-jsx": "^1.1.5" + } + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.1.tgz", + "integrity": "sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.1.tgz", + "integrity": "sha512-Yy9qGktktXhB39QE99So/BO2Uwm/ZG+gpL9vMg51ijRRbINvgbuhyJEi4WYmGRMx/MSTfK0xjgZ3/MyY+iLCEg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "@vue/babel-helper-vue-transform-on": "1.2.1", + "@vue/babel-plugin-resolve-type": "1.2.1", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-plugin-resolve-type": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.1.tgz", + "integrity": "sha512-IOtnI7pHunUzHS/y+EG/yPABIAp0VN8QhQ0UCS09jeMVxgAnI9qdOzO85RXdQGxq+aWCdv8/+k3W0aYO6j/8fQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/parser": "^7.23.6", + "@vue/compiler-sfc": "^3.4.15" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz", + "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", + "dev": true, + "requires": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.21", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-dom": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", + "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "@vue/compiler-sfc": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", + "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.21", + "@vue/compiler-dom": "3.4.21", + "@vue/compiler-ssr": "3.4.21", + "@vue/shared": "3.4.21", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-ssr": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz", + "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.4.21", + "@vue/shared": "3.4.21" + } + }, + "@vue/shared": { + "version": "3.4.21", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz", + "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==", + "dev": true + } + } + }, + "@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "requires": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/devtools-api": { + "version": "6.6.1", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.1.tgz", + "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==" + }, + "@vue/reactivity": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.45.tgz", + "integrity": "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==", + "dev": true, + "requires": { + "@vue/shared": "3.2.45" + }, + "dependencies": { + "@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==", + "dev": true + } + } + }, + "@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + }, + "dependencies": { + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + } + } + }, + "@vue/runtime-core": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz", + "integrity": "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==", + "dev": true, + "requires": { + "@vue/reactivity": "3.2.45", + "@vue/shared": "3.2.45" + }, + "dependencies": { + "@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==", + "dev": true + } + } + }, + "@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "requires": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + }, + "dependencies": { + "@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "requires": { + "@vue/shared": "3.2.47" + } + }, + "@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "requires": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + } + } + }, + "@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "requires": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==" + }, + "@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true, + "peer": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "peer": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "peer": true + } + } + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "peer": true + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "peer": true, + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "peer": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "peer": true + }, + "autoprefixer": { + "version": "10.4.18", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "requires": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dev": true, + "peer": true, + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "peer": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dev": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.10", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "semver": "^6.3.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + }, + "dependencies": { + "@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + } + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.5.0" + }, + "dependencies": { + "@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + } + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "peer": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dev": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==" + }, + "body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true, + "peer": true + }, + "browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "requires": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "peer": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==" + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "devOptional": true + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cac": { + "version": "6.7.9", + "resolved": "https://registry.npmmirror.com/cac/-/cac-6.7.9.tgz", + "integrity": "sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==", + "dev": true + }, + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001597", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz", + "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "peer": true + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true + }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "peer": true + }, + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true, + "peer": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "peer": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "peer": true + }, + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "peer": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "peer": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "devOptional": true + }, + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==" + }, + "core-js-compat": { + "version": "3.36.0", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "dev": true, + "requires": { + "browserslist": "^4.22.3" + } + }, + "cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, + "css-font-size-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", + "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==" + }, + "css-font-stretch-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", + "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==" + }, + "css-font-style-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", + "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==" + }, + "css-font-weight-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", + "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==" + }, + "css-list-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/css-list-helpers/-/css-list-helpers-2.0.0.tgz", + "integrity": "sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==" + }, + "css-system-font-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", + "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true, + "peer": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "peer": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true, + "peer": true + } + } + }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "peer": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true, + "peer": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true, + "peer": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "peer": true + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "peer": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "peer": true + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "peer": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "peer": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "peer": true + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.705", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.705.tgz", + "integrity": "sha512-LKqhpwJCLhYId2VVwEzFXWrqQI5n5zBppz1W9ehhTlfYU8CUUW6kClbN8LHF/v7flMgRdETS772nqywJ+ckVAw==" + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true, + "peer": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "peer": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.16.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "peer": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" + }, + "esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "requires": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "peer": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + } + }, + "eslint": { + "version": "8.16.0", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.3.0", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.2", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "dev": true, + "requires": {} + }, + "eslint-plugin-prettier": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.0.tgz", + "integrity": "sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" + } + }, + "eslint-plugin-vue": { + "version": "9.17.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.17.0.tgz", + "integrity": "sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.13", + "semver": "^7.5.4", + "vue-eslint-parser": "^9.3.1", + "xml-name-validator": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "peer": true + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmmirror.com/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "peer": true + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "express": { + "version": "4.18.3", + "resolved": "https://registry.npmmirror.com/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "peer": true, + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "peer": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "peer": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "requires": { + "loader-utils": "^3.2.0" + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "peer": true + }, + "get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "peer": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==" + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "peer": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "peer": true + }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "peer": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "peer": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==" + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true + }, + "immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "devOptional": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "peer": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "invert-kv": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/invert-kv/-/invert-kv-3.0.1.tgz", + "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "peer": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "requires": { + "hasown": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "peer": true + }, + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "peer": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "peer": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true, + "peer": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "peer": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "peer": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "peer": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "peer": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "peer": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "27.0.4", + "resolved": "https://registry.npmmirror.com/jest/-/jest-27.0.4.tgz", + "integrity": "sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==", + "dev": true, + "peer": true, + "requires": { + "@jest/core": "^27.0.4", + "import-local": "^3.0.2", + "jest-cli": "^27.0.4" + } + }, + "jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dev": true, + "peer": true, + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dev": true, + "peer": true, + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "peer": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dev": true, + "peer": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "peer": true + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dev": true, + "peer": true, + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "peer": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dev": true, + "peer": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "peer": true, + "requires": {} + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "dev": true, + "peer": true + }, + "jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + } + }, + "jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dev": true, + "peer": true, + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dev": true, + "peer": true, + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "peer": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "peer": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "peer": true + } + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dev": true, + "peer": true, + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dev": true, + "peer": true, + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jimp": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/jimp/-/jimp-0.10.3.tgz", + "integrity": "sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/custom": "^0.10.3", + "@jimp/plugins": "^0.10.3", + "@jimp/types": "^0.10.3", + "core-js": "^3.4.1", + "regenerator-runtime": "^0.13.3" + } + }, + "jpeg-js": { + "version": "0.3.7", + "resolved": "https://registry.npmmirror.com/jpeg-js/-/jpeg-js-0.3.7.tgz", + "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "peer": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "peer": true, + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true, + "peer": true + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "peer": true + }, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true + }, + "lcid": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/lcid/-/lcid-3.1.1.tgz", + "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", + "requires": { + "invert-kv": "^3.0.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "peer": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "licia": { + "version": "1.39.2", + "resolved": "https://registry.npmmirror.com/licia/-/licia-1.39.2.tgz", + "integrity": "sha512-4pte7gXufSAa3JcsR0iT+2Lj2RX5Qpj+Nc0n84xs0ynNmw7eJmeZzk2oPTEtsQqwHwtT+NiX0arGkL5HPjTs7g==" + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "peer": true + }, + "load-bmfont": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/load-bmfont/-/load-bmfont-1.4.1.tgz", + "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", + "requires": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + } + } + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true + }, + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + }, + "local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "requires": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + } + }, + "localstorage-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/localstorage-polyfill/-/localstorage-polyfill-1.0.1.tgz", + "integrity": "sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "peer": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "peer": true, + "requires": { + "semver": "^7.5.3" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "peer": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "peer": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "peer": true + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "peer": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "merge": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "mlly": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", + "requires": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "module-alias": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.3.tgz", + "integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "peer": true + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true, + "peer": true + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true + }, + "omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "os-locale-s-fix": { + "version": "1.0.8-fix-1", + "resolved": "https://registry.npmmirror.com/os-locale-s-fix/-/os-locale-s-fix-1.0.8-fix-1.tgz", + "integrity": "sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==", + "requires": { + "lcid": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "peer": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "peer": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "peer": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==" + }, + "parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==" + }, + "parse-bmfont-xml": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz", + "integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==", + "requires": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.5.0" + } + }, + "parse-css-font": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-css-font/-/parse-css-font-4.0.0.tgz", + "integrity": "sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==", + "requires": { + "css-font-size-keywords": "^1.0.0", + "css-font-stretch-keywords": "^1.0.1", + "css-font-style-keywords": "^1.0.1", + "css-font-weight-keywords": "^1.0.0", + "css-list-helpers": "^2.0.0", + "css-system-font-keywords": "^1.0.0", + "unquote": "^1.1.1" + } + }, + "parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "peer": true, + "requires": { + "@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" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "peer": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "peer": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + }, + "phin": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pinia": { + "version": "2.0.36", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.0.36.tgz", + "integrity": "sha512-4UKApwjlmJH+VuHKgA+zQMddcCb3ezYnyewQ9NVrsDqZ/j9dMv5+rh+1r48whKNdpFkZAWVxhBp5ewYaYX9JcQ==", + "requires": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "requires": {} + } + } + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "peer": true + }, + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==", + "requires": { + "pngjs": "^3.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "peer": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "requires": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + }, + "postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-modules": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/postcss-modules/-/postcss-modules-4.3.1.tgz", + "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==", + "requires": { + "generic-names": "^4.0.0", + "icss-replace-symbols": "^1.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-3.0.2.tgz", + "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "peer": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "peer": true + } + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmmirror.com/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "peer": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true, + "peer": true + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "qrcode-reader": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/qrcode-reader/-/qrcode-reader-1.0.4.tgz", + "integrity": "sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==" + }, + "qrcode-terminal": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "peer": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "peer": true + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "requires": { + "pify": "^2.3.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "peer": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "peer": true + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "peer": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "peer": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "dev": true, + "peer": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-area-insets": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/safe-area-insets/-/safe-area-insets-1.4.1.tgz", + "integrity": "sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==" + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.69.7", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.69.7.tgz", + "integrity": "sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ==", + "devOptional": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "10.1.1", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "sax": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "peer": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "scule": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==" + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "peer": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "peer": true + }, + "sm-crypto": { + "version": "0.3.13", + "resolved": "https://registry.npmmirror.com/sm-crypto/-/sm-crypto-0.3.13.tgz", + "integrity": "sha512-ztNF+pZq6viCPMA1A6KKu3bgpkmYti5avykRHbcFIdSipFdkVmfUw2CnpM2kBJyppIalqvczLNM3wR8OQ0pT5w==", + "requires": { + "jsbn": "^1.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "devOptional": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "peer": true + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "peer": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "peer": true + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "peer": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "peer": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "peer": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "requires": { + "acorn": "^8.10.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "peer": true + }, + "synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmmirror.com/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "requires": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + } + }, + "systemjs": { + "version": "6.14.3", + "resolved": "https://registry.npmmirror.com/systemjs/-/systemjs-6.14.3.tgz", + "integrity": "sha512-hQv45irdhXudAOr8r6SVSpJSGtogdGZUbJBRKCE5nsIS7tsxxvnIHqT4IOPWj+P+HcSzeWzHlGCGpmhPDIKe+w==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "peer": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.29.2", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.29.2.tgz", + "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==", + "devOptional": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "peer": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "throat": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "dev": true, + "peer": true + }, + "timm": { + "version": "1.7.1", + "resolved": "https://registry.npmmirror.com/timm/-/timm-1.7.1.tgz", + "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" + }, + "tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "peer": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "peer": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "peer": true + } + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "peer": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "peer": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "peer": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "peer": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "ufo": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "devOptional": true, + "peer": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "unimport": { + "version": "3.7.1", + "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.7.1.tgz", + "integrity": "sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==", + "requires": { + "@rollup/pluginutils": "^5.1.0", + "acorn": "^8.11.2", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "fast-glob": "^3.3.2", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.1.1", + "strip-literal": "^1.3.0", + "unplugin": "^1.5.1" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "dependencies": { + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + } + } + }, + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" + }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "requires": { + "@types/estree": "^1.0.0" + } + } + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "unplugin": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.10.0.tgz", + "integrity": "sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==", + "requires": { + "acorn": "^8.11.3", + "chokidar": "^3.6.0", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.6.1" + } + }, + "unplugin-auto-import": { + "version": "0.16.7", + "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.16.7.tgz", + "integrity": "sha512-w7XmnRlchq6YUFJVFGSvG1T/6j8GrdYN6Em9Wf0Ye+HXgD/22kont+WnuCAA0UaUoxtuvRR1u/mXKy63g/hfqQ==", + "requires": { + "@antfu/utils": "^0.7.6", + "@rollup/pluginutils": "^5.0.5", + "fast-glob": "^3.3.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "minimatch": "^9.0.3", + "unimport": "^3.4.0", + "unplugin": "^1.5.0" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "peer": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "utif": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "requires": { + "pako": "^1.0.5" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dev": true, + "peer": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "peer": true + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "peer": true + } + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "vite": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/vite/-/vite-4.0.3.tgz", + "integrity": "sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==", + "requires": { + "esbuild": "^0.16.3", + "fsevents": "~2.3.2", + "postcss": "^8.4.20", + "resolve": "^1.22.1", + "rollup": "^3.7.0" + }, + "dependencies": { + "@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "optional": true + }, + "esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "requires": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + } + } + }, + "vue": { + "version": "3.2.47", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "vue-eslint-parser": { + "version": "9.4.2", + "resolved": "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "vue-i18n": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.1.9.tgz", + "integrity": "sha512-JeRdNVxS2OGp1E+pye5XB6+M6BBkHwAv9C80Q7+kzoMdUDGRna06tjC0vCB/jDX9aWrl5swxOMFcyAr7or8XTA==", + "requires": { + "@intlify/core-base": "9.1.9", + "@intlify/shared": "9.1.9", + "@intlify/vue-devtools": "9.1.9", + "@vue/devtools-api": "^6.0.0-beta.7" + } + }, + "vue-router": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.3.0.tgz", + "integrity": "sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==", + "requires": { + "@vue/devtools-api": "^6.5.1" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "peer": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "peer": true, + "requires": { + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true, + "peer": true + } + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "peer": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "dev": true, + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "peer": true + }, + "webpack": { + "version": "5.90.3", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true + } + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "webpack-virtual-modules": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", + "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "peer": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true, + "peer": true + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "peer": true, + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "8.16.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "requires": {} + }, + "xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "requires": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==" + }, + "xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "peer": true + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==" + }, + "xregexp": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/xregexp/-/xregexp-3.1.0.tgz", + "integrity": "sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "peer": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "peer": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "peer": true + } + } +} diff --git a/smart-app/package.json b/smart-app/package.json new file mode 100644 index 00000000..65d52644 --- /dev/null +++ b/smart-app/package.json @@ -0,0 +1,89 @@ +{ + "name": "smart-app", + "version": "3.0.0", + "author": { + "name": "1024创新实验室(1024lab)", + "email": "lab1024@163.com", + "url": "https://www.1024lab.net" + }, + "license": "MIT", + "homepage": "https://smartadmin.1024lab.net", + "scripts": { + "dev:app": "uni -p app", + "dev:app-android": "uni -p app-android", + "dev:app-ios": "uni -p app-ios", + "dev:custom": "uni -p", + "dev:h5": "uni", + "dev:h5:ssr": "uni --ssr", + "dev:mp-alipay": "uni -p mp-alipay", + "dev:mp-baidu": "uni -p mp-baidu", + "dev:mp-jd": "uni -p mp-jd", + "dev:mp-kuaishou": "uni -p mp-kuaishou", + "dev:mp-lark": "uni -p mp-lark", + "dev:mp-qq": "uni -p mp-qq", + "dev:mp-toutiao": "uni -p mp-toutiao", + "dev:mp-weixin": "uni -p mp-weixin", + "dev:mp-xhs": "uni -p mp-xhs", + "dev:quickapp-webview": "uni -p quickapp-webview", + "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei", + "dev:quickapp-webview-union": "uni -p quickapp-webview-union", + "build:app": "uni build -p app", + "build:app-android": "uni build -p app-android", + "build:app-ios": "uni build -p app-ios", + "build:custom": "uni build -p", + "build:h5": "uni build", + "build:h5:ssr": "uni build --ssr", + "build:mp-alipay": "uni build -p mp-alipay", + "build:mp-baidu": "uni build -p mp-baidu", + "build:mp-jd": "uni build -p mp-jd", + "build:mp-kuaishou": "uni build -p mp-kuaishou", + "build:mp-lark": "uni build -p mp-lark", + "build:mp-qq": "uni build -p mp-qq", + "build:mp-toutiao": "uni build -p mp-toutiao", + "build:mp-weixin": "uni build -p mp-weixin", + "build:mp-xhs": "uni build -p mp-xhs", + "build:quickapp-webview": "uni build -p quickapp-webview", + "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei", + "build:quickapp-webview-union": "uni build -p quickapp-webview-union" + }, + "dependencies": { + "@dcloudio/uni-app": "3.0.0-3090920231225001", + "@dcloudio/uni-app-plus": "3.0.0-3090920231225001", + "@dcloudio/uni-components": "3.0.0-3090920231225001", + "@dcloudio/uni-h5": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-alipay": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-baidu": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-jd": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-kuaishou": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-lark": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-qq": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-toutiao": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-weixin": "3.0.0-3090920231225001", + "@dcloudio/uni-mp-xhs": "3.0.0-3090920231225001", + "@dcloudio/uni-quickapp-webview": "3.0.0-3090920231225001", + "@dcloudio/uni-ui": "1.5.0", + "crypto-js": "4.1.1", + "dayjs": "1.11.10", + "lodash": "4.17.21", + "pinia": "2.0.36", + "sm-crypto": "0.3.13", + "vue": "3.2.47", + "vue-i18n": "9.1.9" + }, + "devDependencies": { + "@dcloudio/types": "3.3.2", + "@dcloudio/uni-automator": "3.0.0-3090920231225001", + "@dcloudio/uni-cli-shared": "3.0.0-3090920231225001", + "@dcloudio/uni-stacktracey": "3.0.0-3090920231225001", + "@dcloudio/vite-plugin-uni": "3.0.0-3090920231225001", + "@vue/runtime-core": "3.2.45", + "eslint": "8.16.0", + "eslint-config-prettier": "9.0.0", + "eslint-plugin-prettier": "5.0.0", + "eslint-plugin-vue": "9.17.0", + "prettier": "3.0.2", + "sass": "1.69.7", + "sass-loader": "10.1.1", + "vite": "4.0.3" + } +} diff --git a/smart-app/shims-uni.d.ts b/smart-app/shims-uni.d.ts new file mode 100644 index 00000000..ed4adcfc --- /dev/null +++ b/smart-app/shims-uni.d.ts @@ -0,0 +1,10 @@ +/// +import 'vue' + +declare module '@vue/runtime-core' { + type Hooks = App.AppInstance & Page.PageInstance; + + interface ComponentCustomOptions extends Hooks { + + } +} diff --git a/smart-app/src/App.vue b/smart-app/src/App.vue new file mode 100644 index 00000000..9f8b2477 --- /dev/null +++ b/smart-app/src/App.vue @@ -0,0 +1,18 @@ + + + diff --git a/smart-app/src/api/business/goods/goods-api.js b/smart-app/src/api/business/goods/goods-api.js new file mode 100644 index 00000000..02d132b1 --- /dev/null +++ b/smart-app/src/api/business/goods/goods-api.js @@ -0,0 +1,31 @@ +/* + * @Description: + * @Author: zhuoda + * @Date: 2021-11-05 + * @LastEditTime: 2022-06-23 + * @LastEditors: zhuoda + */ +import { postRequest, getRequest } from '/@/lib/smart-request'; + +export const goodsApi = { + // 添加商品 @author zhuoda + addGoods: (param) => { + return postRequest('/goods/add', param); + }, + // 删除 @author zhuoda + deleteGoods: (goodsId) => { + return getRequest(`/goods/delete/${goodsId}`); + }, + // 批量 @author zhuoda + batchDelete: (goodsIdList) => { + return postRequest('/goods/batchDelete', goodsIdList); + }, + // 分页查询 @author zhuoda + queryGoodsList: (param) => { + return postRequest('/goods/query', param); + }, + // 更新商品 @author zhuoda + updateGoods: (param) => { + return postRequest('/goods/update', param); + }, +}; diff --git a/smart-app/src/api/business/oa/enterprise-api.js b/smart-app/src/api/business/oa/enterprise-api.js new file mode 100644 index 00000000..87cb85af --- /dev/null +++ b/smart-app/src/api/business/oa/enterprise-api.js @@ -0,0 +1,37 @@ +/* + * 企业信息 + * + * @Author: 开云 + * @Date: 2023-09-03 21:47:28 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +import { postRequest, getRequest } from '/@/lib/smart-request'; + +export const enterpriseApi = { + // 新建企业 @author 开云 + create: (param) => { + return postRequest('/oa/enterprise/create', param); + }, + + // 查询企业详情 @author 开云 + detail: (enterpriseId) => { + return getRequest(`/oa/enterprise/get/${enterpriseId}`); + }, + + // 分页查询企业模块 @author 开云 + pageQuery: (param) => { + return postRequest('/oa/enterprise/page/query', param); + }, + + // 编辑企业 @author 开云 + update: (param) => { + return postRequest('/oa/enterprise/update', param); + }, + + // 删除企业 @author 开云 + delete: (enterpriseId) => { + return getRequest(`/oa/enterprise/delete/${enterpriseId}`); + }, +}; diff --git a/smart-app/src/api/business/oa/notice-api.js b/smart-app/src/api/business/oa/notice-api.js new file mode 100644 index 00000000..8fcd87b9 --- /dev/null +++ b/smart-app/src/api/business/oa/notice-api.js @@ -0,0 +1,33 @@ +/* + * @Description: 公告信息、企业动态 + * @version: + * @Author: zhuoda + * @Date: 2022-08-16 20:34:36 + */ +import { postRequest, getRequest } from '/@/lib/smart-request'; + +export const noticeApi = { + // ---------------- 通知公告类型 ----------------------- + + // 通知公告类型-获取全部 @author zhuoda + getAllNoticeTypeList() { + return getRequest('/oa/noticeType/getAll'); + }, + + // --------------------- 【员工】查看 通知公告 ------------------------- + + // 通知公告-员工-查看详情 @author zhuoda + view(noticeId) { + return getRequest(`/oa/notice/employee/view/${noticeId}`); + }, + + // 通知公告-员工-查询 @author zhuoda + queryEmployeeNotice(param) { + return postRequest('/oa/notice/employee/query', param); + }, + + // 【员工】通知公告-查询 查看记录 @author zhuoda + queryViewRecord(param) { + return postRequest('/oa/notice/employee/queryViewRecord', param); + }, +}; diff --git a/smart-app/src/api/support/change-log-api.js b/smart-app/src/api/support/change-log-api.js new file mode 100644 index 00000000..9fbe1efa --- /dev/null +++ b/smart-app/src/api/support/change-log-api.js @@ -0,0 +1,24 @@ +/** + * 系统更新日志 api 封装 + * + * @Author: 卓大 + * @Date: 2022-09-26 14:53:50 + * @Copyright 1024创新实验室 + */ +import { postRequest, getRequest } from '/@/lib/smart-request'; + +export const changeLogApi = { + /** + * 分页查询 @author 卓大 + */ + queryPage: (param) => { + return postRequest('/support/changeLog/queryPage', param); + }, + + /** + * 详情 @author 卓大 + */ + getDetail: (changeLogId) => { + return getRequest(`/support/changeLog/getDetail/${changeLogId}`); + }, +}; diff --git a/smart-app/src/api/support/dict-api.js b/smart-app/src/api/support/dict-api.js new file mode 100644 index 00000000..70fc7ec2 --- /dev/null +++ b/smart-app/src/api/support/dict-api.js @@ -0,0 +1,59 @@ +/* + * 字典 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-03 21:55:25 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +import { postRequest, getRequest } from '/@/lib/smart-request'; + +export const dictApi = { + // 分页查询数据字典KEY - @author 卓大 + keyQuery: (param) => { + return postRequest('/support/dict/key/query', param); + }, + // 查询全部字典key - @author 卓大 + queryAllKey: () => { + return getRequest('/support/dict/key/queryAll'); + }, + /** + * 分页查询数据字典value - @author 卓大 + */ + valueQuery: (param) => { + return postRequest('/support/dict/value/query', param); + }, + // 数据字典KEY-添加- @author 卓大 + keyAdd: (param) => { + return postRequest('/support/dict/key/add', param); + }, + // 分页查询数据字典value - @author 卓大 + valueAdd: (param) => { + return postRequest('/support/dict/value/add', param); + }, + // 数据字典key-更新- @author 卓大 + keyEdit: (param) => { + return postRequest('/support/dict/key/edit', param); + }, + // 数据字典Value-更新- @author 卓大 + valueEdit: (param) => { + return postRequest('/support/dict/value/edit', param); + }, + // 数据字典key-删除- @author 卓大 + keyDelete: (keyIdList) => { + return postRequest('/support/dict/key/delete', keyIdList); + }, + // 数据字典Value-删除- @author 卓大 + valueDelete: (valueIdList) => { + return postRequest('/support/dict/value/delete', valueIdList); + }, + // 缓存刷新- @author 卓大 + cacheRefresh: () => { + return getRequest('/support/dict/cache/refresh'); + }, + // 数据字典-值列表- @author 卓大 + valueList: (keyCode) => { + return getRequest(`/support/dict/value/list/${keyCode}`); + }, +}; diff --git a/smart-app/src/api/support/feedback-api.js b/smart-app/src/api/support/feedback-api.js new file mode 100644 index 00000000..21cf1c38 --- /dev/null +++ b/smart-app/src/api/support/feedback-api.js @@ -0,0 +1,17 @@ +/* + * 意见反馈 + * + * @Author: 1024创新实验室:开云 + * @Date: 2022-09-03 21:56:31 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +import { postRequest } from '/src/lib/smart-request'; + +export const feedbackApi = { + // 意见反馈-新增 + addFeedback: (params) => { + return postRequest('/support/feedback/add', params); + }, +}; diff --git a/smart-app/src/api/support/file-api.js b/smart-app/src/api/support/file-api.js new file mode 100644 index 00000000..da822683 --- /dev/null +++ b/smart-app/src/api/support/file-api.js @@ -0,0 +1,14 @@ +/** + * 系统更新日志 api 封装 + * + * @Author: 卓大 + * @Date: 2022-09-26 14:53:50 + * @Copyright 1024创新实验室 + */ +import { uploadRequest } from '/@/lib/smart-request'; + +export const fileApi = { + upload: (file, folder) => { + return uploadRequest(file, folder); + }, +}; diff --git a/smart-app/src/api/system/login-api.js b/smart-app/src/api/system/login-api.js new file mode 100644 index 00000000..bbc2ba40 --- /dev/null +++ b/smart-app/src/api/system/login-api.js @@ -0,0 +1,40 @@ +/* + * 登录 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-03 21:59:58 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +import { getRequest, postRequest } from '/@/lib/smart-request'; + +export const loginApi = { + /** + * 登录 @author 卓大 + */ + login: (param) => { + return postRequest('/login', param); + }, + + /** + * 退出登录 @author 卓大 + */ + logout: () => { + return getRequest('/login/logout'); + }, + + /** + * 获取验证码 @author 卓大 + */ + getCaptcha: () => { + return getRequest('/login/getCaptcha'); + }, + + /** + * 获取登录信息 @author 卓大 + */ + getLoginInfo: () => { + return getRequest('/login/getLoginInfo'); + }, +}; diff --git a/smart-app/src/components/dict-select/index.vue b/smart-app/src/components/dict-select/index.vue new file mode 100644 index 00000000..6e5b66f0 --- /dev/null +++ b/smart-app/src/components/dict-select/index.vue @@ -0,0 +1,55 @@ + + + + diff --git a/smart-app/src/components/smart-card/index.vue b/smart-app/src/components/smart-card/index.vue new file mode 100644 index 00000000..2596546f --- /dev/null +++ b/smart-app/src/components/smart-card/index.vue @@ -0,0 +1,70 @@ + + + + + \ No newline at end of file diff --git a/smart-app/src/components/smart-detail-tabs/index.vue b/smart-app/src/components/smart-detail-tabs/index.vue new file mode 100644 index 00000000..9bdfc12e --- /dev/null +++ b/smart-app/src/components/smart-detail-tabs/index.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/smart-app/src/components/smart-enum-radio/index.vue b/smart-app/src/components/smart-enum-radio/index.vue new file mode 100644 index 00000000..934f82e2 --- /dev/null +++ b/smart-app/src/components/smart-enum-radio/index.vue @@ -0,0 +1,42 @@ + + + + diff --git a/smart-app/src/components/smart-enum-select/index.vue b/smart-app/src/components/smart-enum-select/index.vue new file mode 100644 index 00000000..a0b5a988 --- /dev/null +++ b/smart-app/src/components/smart-enum-select/index.vue @@ -0,0 +1,49 @@ + + + + diff --git a/smart-app/src/constants/business/erp/goods-const.js b/smart-app/src/constants/business/erp/goods-const.js new file mode 100644 index 00000000..599a62d4 --- /dev/null +++ b/smart-app/src/constants/business/erp/goods-const.js @@ -0,0 +1,26 @@ +/* + * 商品 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-03 22:08:10 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +export const GOODS_STATUS_ENUM = { + APPOINTMENT: { + value: 1, + desc: '预约中', + }, + SELL: { + value: 2, + desc: '售卖中', + }, + SELL_OUT: { + value: 3, + desc: '售罄', + }, +}; +export default { + GOODS_STATUS_ENUM, +}; diff --git a/smart-app/src/constants/business/oa/enterprise-const.js b/smart-app/src/constants/business/oa/enterprise-const.js new file mode 100644 index 00000000..7b8f04fa --- /dev/null +++ b/smart-app/src/constants/business/oa/enterprise-const.js @@ -0,0 +1,24 @@ +/* + * 企业 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2023-09-03 22:07:27 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ + +export const ENTERPRISE_TYPE_ENUM = { + NORMAL: { + value: 1, + desc: '有限企业', + }, + FOREIGN: { + value: 2, + desc: '外资企业', + }, +}; + +export default { + ENTERPRISE_TYPE_ENUM, +}; diff --git a/smart-app/src/constants/common-const.js b/smart-app/src/constants/common-const.js new file mode 100644 index 00000000..8db06ca2 --- /dev/null +++ b/smart-app/src/constants/common-const.js @@ -0,0 +1,70 @@ +/* + * 通用常量 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-06 19:57:29 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ + +export const PAGE_SIZE = 10; + +export const PAGE_SIZE_OPTIONS = ['5', '10', '15', '20', '30', '40', '50', '75', '100', '150', '200', '300', '500']; + +//登录页面名字 +export const PAGE_PATH_LOGIN = '/login'; + +//404页面名字 +export const PAGE_PATH_404 = '/404'; + +export const showTableTotal = function (total) { + return `共${total}条`; +}; + +export const FLAG_NUMBER_ENUM = { + TRUE: { + value: 1, + desc: '是', + }, + FALSE: { + value: 0, + desc: '否', + }, +}; + +export const GENDER_ENUM = { + UNKNOWN: { + value: 0, + desc: '未知', + }, + MAN: { + value: 1, + desc: '男', + }, + WOMAN: { + value: 2, + desc: '女', + }, +}; + +export const USER_TYPE_ENUM = { + ADMIN_EMPLOYEE: { + value: 1, + desc: '员工', + }, + +}; + +export const DATA_TYPE_ENUM = { + NORMAL: { + value: 1, + desc: '普通', + }, + ENCRYPT: { + value: 10, + desc: '加密', + }, + +}; + diff --git a/smart-app/src/constants/index.js b/smart-app/src/constants/index.js new file mode 100644 index 00000000..2fbf42c0 --- /dev/null +++ b/smart-app/src/constants/index.js @@ -0,0 +1,26 @@ +/* + * 所有常量入口 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-06 19:58:28 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +import { FLAG_NUMBER_ENUM, GENDER_ENUM, USER_TYPE_ENUM } from './common-const'; +import loginDevice from './system/login-device-const'; +import enterpriseConst from './business/oa/enterprise-const'; +import goodsConst from './business/erp/goods-const'; +import changeLogConst from './support/change-log-const'; +import fileConst from './support/file-const'; + +export default { + FLAG_NUMBER_ENUM, + GENDER_ENUM, + USER_TYPE_ENUM, + ...loginDevice, + ...enterpriseConst, + ...goodsConst, + ...changeLogConst, + ...fileConst, +}; diff --git a/smart-app/src/constants/local-storage-key-const.js b/smart-app/src/constants/local-storage-key-const.js new file mode 100644 index 00000000..8e13a29b --- /dev/null +++ b/smart-app/src/constants/local-storage-key-const.js @@ -0,0 +1,19 @@ +/* + * key 常量 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-06 19:58:50 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ + +/** + * key前缀 + */ +const KEY_PREFIX = 'smart_h5_'; +/** + * localStorageKey集合 + */ +// token +export const USER_TOKEN = `${KEY_PREFIX}token`; diff --git a/smart-app/src/constants/regular-const.js b/smart-app/src/constants/regular-const.js new file mode 100644 index 00000000..0633dc87 --- /dev/null +++ b/smart-app/src/constants/regular-const.js @@ -0,0 +1,28 @@ +/* + * 正则常量 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-06 19:59:05 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +export const regular = { + phone: /^(13|14|15|16|17|18|19)\d{9}$/, + qq: /^[1-9]\d{3,}$/, + linkUrl: + /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/, + // eslint-disable-next-line no-useless-escape + isNumber: /(^[\-1-9][1-9]*(.[1-9]+)?)$/, // 判断是否为数字,除了0 外 + isLandlineOrPhone: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/, // 验证 座机 或者手机 + account: /^[a-z0-9]{3,16}$/, // 请输入3-16位(小写字母|数字)的账号 + mobileAccount: /^[a-z0-9]{6,16}$/, // 请输入6-16位(小写字母|数字)的账号(和移动端保持一致) + accountDesc: '请输入3-16位(小写字母|数字)的账号', + pwd: /^[A-Za-z0-9._]{6,16}$/, // 请输入6-16位(大小写字母|数字|小数点|下划线)的密码 + pwdDesc: '请输入6-16位(大小写字母|数字|小数点|下划线)的密码', + delBlankSpace: /\s+/g, // 删除空格 + isPdfReg: new RegExp(/\.(pdf|PDF)/), + isElseFileReg: new RegExp(/\.(doc|docx|xls|xlsx|txt|ppt|pptx|pps|ppxs)/), + isIdentityCard: /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/, // 验证身份证号 + isChinese: /^[\u4e00-\u9fa5]+$/gi, // 验证是否汉字 +}; diff --git a/smart-app/src/constants/support/change-log-const.js b/smart-app/src/constants/support/change-log-const.js new file mode 100644 index 00000000..dc10d436 --- /dev/null +++ b/smart-app/src/constants/support/change-log-const.js @@ -0,0 +1,32 @@ +/** + * 系统更新日志 枚举 + * + * @Author: 卓大 + * @Date: 2022-09-26 14:53:50 + * @Copyright 1024创新实验室 + */ + +/** + * 更新类型:[1:特大版本功能更新;2:功能更新;3:bug修复] + */ +export const CHANGE_LOG_TYPE_ENUM = { + MAJOR_UPDATE: { + value: 1, + desc: '重大更新', + type: 'error', + }, + FUNCTION_UPDATE: { + value: 2, + desc: '功能更新', + type: 'primary', + }, + BUG_FIX: { + value: 3, + desc: 'Bug修复', + type: 'warning', + }, +}; + +export default { + CHANGE_LOG_TYPE_ENUM, +}; diff --git a/smart-app/src/constants/support/file-const.js b/smart-app/src/constants/support/file-const.js new file mode 100644 index 00000000..6435b96a --- /dev/null +++ b/smart-app/src/constants/support/file-const.js @@ -0,0 +1,31 @@ +/* + * 文件类型 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-03 22:09:10 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +// 文件上传类型 +export const FILE_FOLDER_TYPE_ENUM = { + COMMON: { + value: 1, + desc: '通用', + }, + NOTICE: { + value: 2, + desc: '公告', + }, + HELP_DOC: { + value: 3, + desc: '帮助中心', + }, + FEEDBACK: { + value: 4, + desc: '意见反馈', + }, +}; +export default { + FILE_FOLDER_TYPE_ENUM, +}; diff --git a/smart-app/src/constants/system/login-device-const.js b/smart-app/src/constants/system/login-device-const.js new file mode 100644 index 00000000..f2031212 --- /dev/null +++ b/smart-app/src/constants/system/login-device-const.js @@ -0,0 +1,31 @@ +/* + * 登录设备 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-06 19:56:56 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +export const LOGIN_DEVICE_ENUM = { + PC: { + value: 1, + desc: '电脑端', + }, + ANDROID: { + value: 2, + desc: '安卓', + }, + APPLE: { + value: 3, + desc: '苹果', + }, + H5: { + value: 3, + desc: 'H5', + }, +}; + +export default { + LOGIN_DEVICE_ENUM, +}; diff --git a/smart-app/src/lib/encrypt.js b/smart-app/src/lib/encrypt.js new file mode 100644 index 00000000..8f2fbeed --- /dev/null +++ b/smart-app/src/lib/encrypt.js @@ -0,0 +1,87 @@ +import CryptoJS from 'crypto-js'; +import CryptoSM from 'sm-crypto'; + +function object2string(data) { + if (typeof data === 'Object') { + return JSON.stringify(data); + } + + let str = JSON.stringify(data); + if (str.startsWith("'") || str.startsWith('"')) { + str = str.substring(1); + } + if (str.endsWith("'") || str.endsWith('"')) { + str = str.substring(0, str.length - 1); + } + return str; +} + +// ----------------------- AES 加密、解密 ----------------------- +const AES_KEY = '1024abcd1024abcd1024abcd1024abcd'; + +const AES = { + encryptData: function (data) { + // AES 加密 并转为 base64 + let utf8Data = CryptoJS.enc.Utf8.parse(object2string(data)); + const key = CryptoJS.enc.Utf8.parse(AES_KEY); + const encrypted = CryptoJS.AES.encrypt(utf8Data, key, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7, + }); + + return encrypted.toString(); + }, + + decryptData: function (data) { + // 第一步:Base64 解码 + let words = CryptoJS.enc.Base64.parse(data); + + // 第二步:AES 解密 + const key = CryptoJS.enc.Utf8.parse(AES_KEY); + return CryptoJS.AES.decrypt({ ciphertext: words }, key, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7, + }).toString(CryptoJS.enc.Utf8); + }, +}; + +// ----------------------- 国密SM4算法 加密、解密 ----------------------- +const SM4_KEY = '1024abcd1024abcd1024abcd1024abcd'; + +const SM4 = { + encryptData: function (data) { + // 第一步:SM4 加密 + let encryptData = CryptoSM.sm4.encrypt(object2string(data), SM4_KEY); + // 第二步: Base64 编码 + return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(encryptData)); + }, + + decryptData: function (data) { + // 第一步:Base64 解码 + let words = CryptoJS.enc.Base64.parse(data); + let decode64Str = CryptoJS.enc.Utf8.stringify(words); + + // 第二步:SM4 解密 + return CryptoSM.sm4.decrypt(decode64Str, SM4_KEY); + }, +}; + +// ----------------------- 对外暴露: 加密、解密 ----------------------- + +// 默认使用SM4算法 +const EncryptObject = SM4; +// const EncryptObject = AES; + +/** + * 加密 + */ +export const encryptData = function (data) { + return !data ? null : EncryptObject.encryptData(data); +}; + +/** + * 解密 + */ +export const decryptData = function (data) { + return !data ? null : EncryptObject.decryptData(data); +}; diff --git a/smart-app/src/lib/smart-request.js b/smart-app/src/lib/smart-request.js new file mode 100644 index 00000000..b63ccace --- /dev/null +++ b/smart-app/src/lib/smart-request.js @@ -0,0 +1,128 @@ +/* + * ajax请求 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-06 20:46:03 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +import { USER_TOKEN } from '/@/constants/local-storage-key-const'; +import { DATA_TYPE_ENUM } from '/@/constants/common-const'; +import { decryptData, encryptData } from './encrypt'; +import { useUserStore } from '/@/store/modules/system/user'; + +const baseUrl = import.meta.env.VITE_APP_API_URL; + +function getUserToken() { + let token = uni.getStorageSync(USER_TOKEN); + if (token) { + return token; + } + return ''; +} + +/** + * 处理返回的消息 + */ +function handleResponse(response, resolve, reject) { + // 如果是加密数据 + if (response.data.dataType === DATA_TYPE_ENUM.ENCRYPT.value) { + response.data.encryptData = response.data.data; + let decryptStr = decryptData(response.data.data); + if (decryptStr) { + response.data.data = JSON.parse(decryptStr); + } + } + + const res = response.data; + if (res.code && res.code !== 1) { + // `token` 过期或者账号已在别处登录 + if (res.code === 30007 || res.code === 30008 || res.code === 30012) { + uni.showToast({ + title: res.msg, + icon: 'none', + }); + useUserStore().clearUserLoginInfo(); + uni.navigateTo({ url: '/pages/login/login' }); + } + + uni.showToast({ + title: res.msg, + icon: 'none', + }); + reject(response); + } else { + resolve(res); + } +} + +/** + * 通用请求封装 + */ +export const request = function (url, method, data) { + return new Promise((resolve, reject) => { + uni.request({ + url: baseUrl + url, //拼接请求路径 + data: data, + method: method, + header: { + 'x-access-token': getUserToken(), + }, + success: (response) => { + handleResponse(response, resolve, reject); + }, + fail: (error) => { + reject(error); + }, + }); + }); +}; + +/** + * get请求 + */ +export const getRequest = (url) => { + return request(url, 'GET'); +}; + +/** + * post请求 + */ +export const postRequest = (url, data) => { + return request(url, 'POST', data); +}; + +// ================================= 加密 ================================= + +/** + * 加密请求参数的post请求 + */ +export const postEncryptRequest = (url, data) => { + return request(url, 'POST', { encryptData: encryptData(data) }); +}; + +// ================================= 文件 ================================= + +export const uploadRequest = function (filePath, folder) { + return new Promise((resolve, reject) => { + uni.uploadFile({ + url: baseUrl + '/support/file/upload', + filePath, + header: { + 'x-access-token': getUserToken(), + }, + name: 'file', + formData: { + folder, + }, + success: (response) => { + response.data = JSON.parse(response.data.replace('\uFEFF', '')); + handleResponse(response, resolve, reject); + }, + fail: (error) => { + reject(error); + }, + }); + }); +}; diff --git a/smart-app/src/lib/smart-sentry.js b/smart-app/src/lib/smart-sentry.js new file mode 100644 index 00000000..25427c1c --- /dev/null +++ b/smart-app/src/lib/smart-sentry.js @@ -0,0 +1,22 @@ +/* + * 错误上报sentry + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2024-01-02 20:49:28 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ + +export const smartSentry = { + /** + * sentry 主动上报 + */ + captureError: (error) => { + if (error.config && error.data && error && error.headers && error.request && error.status) { + return; + } + // Sentry.captureException(error); + console.error(error); + }, +}; diff --git a/smart-app/src/lib/smart-support.js b/smart-app/src/lib/smart-support.js new file mode 100644 index 00000000..32cb0855 --- /dev/null +++ b/smart-app/src/lib/smart-support.js @@ -0,0 +1,30 @@ +export const SmartLoading = { + show: function (msg) { + uni.showLoading({ title: msg ? msg : '加载中' }); + }, + + hide: function () { + uni.hideLoading(); + }, +}; + +export const SmartToast = { + success: (message) => { + uni.showToast({ + title: message, + icon: 'success', + }); + }, + error: (message) => { + uni.showToast({ + title: message, + icon: 'error', + }); + }, + toast: (message) => { + uni.showToast({ + title: message, + icon: 'none', + }); + }, +}; diff --git a/smart-app/src/main.js b/smart-app/src/main.js new file mode 100644 index 00000000..5fd642b5 --- /dev/null +++ b/smart-app/src/main.js @@ -0,0 +1,22 @@ +import { createSSRApp } from 'vue'; +import App from './App.vue'; +import { store } from './store/index'; + +/*每个页面公共css */ +import './theme/index.scss'; + +// 枚举管理 +import smartEnumPlugin from '/@/plugins/smart-enums-plugin'; +import constantsInfo from '/@/constants/index'; +import lodash from 'lodash'; + +export function createApp() { + const app = createSSRApp(App); + app.use(store); + app.use(smartEnumPlugin, constantsInfo); + app.config.globalProperties.$lodash = lodash; + return { + app, + store, + }; +} diff --git a/smart-app/src/manifest.json b/smart-app/src/manifest.json new file mode 100644 index 00000000..309b9ec3 --- /dev/null +++ b/smart-app/src/manifest.json @@ -0,0 +1,72 @@ +{ + "name" : "", + "appid" : "", + "description" : "", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + /* 5+App特有相关 */ + "app-plus" : { + "usingComponents" : true, + "nvueStyleCompiler" : "uni-app", + "compilerVersion" : 3, + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + /* 模块配置 */ + "modules" : {}, + /* 应用发布信息 */ + "distribute" : { + /* android打包配置 */ + "android" : { + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* ios打包配置 */ + "ios" : {}, + /* SDK配置 */ + "sdkConfigs" : {} + } + }, + /* 快应用特有相关 */ + "quickapp" : {}, + /* 小程序特有相关 */ + "mp-weixin" : { + "appid" : "", + "setting" : { + "urlCheck" : false + }, + "usingComponents" : true + }, + "mp-alipay" : { + "usingComponents" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true + }, + "uniStatistics": { + "enable": false + }, + "vueVersion" : "3" +} diff --git a/smart-app/src/pages.json b/smart-app/src/pages.json new file mode 100644 index 00000000..0f8a2c79 --- /dev/null +++ b/smart-app/src/pages.json @@ -0,0 +1,212 @@ +{ + "easycom": { + "autoscan": true, + "custom": { + "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue", + "^y-(.*)": "@/uni_modules/y-$1/components/y-$1.vue" + } + }, + "pages": [ + { + "path": "pages/home/index", + "style": { + "navigationStyle":"custom", + "navigationBarTitleText": "首页" + } + }, + { + "path": "pages/login/login", + "style": { + "navigationBarTitleText": "登录", + "navigationBarTextStyle": "white", + "navigationStyle": "custom" + } + }, + { + "path" : "pages/mine/mine", + "style" : + { + "navigationBarTitleText" : "我的", + "enablePullDownRefresh" : false, + "navigationStyle": "custom" + } + }, + { + "path" : "pages/enterprise/enterprise-list", + "style" : + { + "navigationBarTitleText" : "客户线索", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/enterprise/enterprise-form", + "style" : + { + "navigationBarTitleText" : "添加客户", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/enterprise/enterprise-detail", + "style" : + { + "navigationBarTitleText" : "客户详情", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/notice/notice-index", + "style" : + { + "navigationBarTitleText" : "通知公告", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/notice/notice-detail", + "style" : + { + "navigationBarTitleText" : "公告内容", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/goods/goods-index", + "style" : + { + "navigationBarTitleText" : "商品", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/support/change-log/change-log-list", + "style" : + { + "navigationBarTitleText" : "版本更新", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/support/change-log/change-log-detail", + "style" : + { + "navigationBarTitleText" : "版本更新内容", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/message/message", + "style" : + { + "navigationBarTitleText" : "消息", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/form/form", + "style" : + { + "navigationBarTitleText" : "提交表单", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/select-people/select-people", + "style" : + { + "navigationBarTitleText" : "选择人员", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/list/list", + "style" : + { + "navigationBarTitleText" : "常见列表样式1", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/list2/list", + "style" : + { + "navigationBarTitleText" : "常见列表样式2", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/order-detail/order-detail", + "style" : + { + "navigationBarTitleText" : "运单详情", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + }, + { + "path" : "pages/support/feedback/feedback-form", + "style" : + { + "navigationBarTitleText" : "意见反馈", + "enablePullDownRefresh" : false, + "navigationBarBackgroundColor": "#fff" + } + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "tabBar": { + "color": "#858585", + "selectedColor": "#1A9AFF", + "borderStyle": "black", + "backgroundColor": "#ffffff", + "list": [{ + "pagePath": "pages/home/index", + "iconPath": "static/images/tabbar/home-icon.png", + "selectedIconPath": "static/images/tabbar/home-icon-h.png", + "text": "首页" + }, + { + "pagePath": "pages/list/list", + "iconPath": "static/images/tabbar/list-icon.png", + "selectedIconPath": "static/images/tabbar/list-icon-h.png", + "text": "常见列表1" + }, + { + "pagePath": "pages/list2/list", + "iconPath": "static/images/tabbar/list-icon.png", + "selectedIconPath": "static/images/tabbar/list-icon-h.png", + "text": "常见列表2" + }, + { + "pagePath": "pages/message/message", + "iconPath": "static/images/tabbar/message-icon.png", + "selectedIconPath": "static/images/tabbar/message-icon-h.png", + "text": "消息" + }, + { + "pagePath": "pages/mine/mine", + "iconPath": "static/images/tabbar/mine-icon.png", + "selectedIconPath": "static/images/tabbar/mine-icon-h.png", + "text": "我的" + }] + } +} diff --git a/smart-app/src/pages/enterprise/enterprise-detail.vue b/smart-app/src/pages/enterprise/enterprise-detail.vue new file mode 100644 index 00000000..7f8304f8 --- /dev/null +++ b/smart-app/src/pages/enterprise/enterprise-detail.vue @@ -0,0 +1,245 @@ + + + + + diff --git a/smart-app/src/pages/enterprise/enterprise-form.vue b/smart-app/src/pages/enterprise/enterprise-form.vue new file mode 100644 index 00000000..32d719af --- /dev/null +++ b/smart-app/src/pages/enterprise/enterprise-form.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/smart-app/src/pages/enterprise/enterprise-list.vue b/smart-app/src/pages/enterprise/enterprise-list.vue new file mode 100644 index 00000000..440ac1ae --- /dev/null +++ b/smart-app/src/pages/enterprise/enterprise-list.vue @@ -0,0 +1,217 @@ + + + + + diff --git a/smart-app/src/pages/form/form.vue b/smart-app/src/pages/form/form.vue new file mode 100644 index 00000000..816d1d54 --- /dev/null +++ b/smart-app/src/pages/form/form.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/smart-app/src/pages/goods/components/goods-list.vue b/smart-app/src/pages/goods/components/goods-list.vue new file mode 100644 index 00000000..40c5ca2c --- /dev/null +++ b/smart-app/src/pages/goods/components/goods-list.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/smart-app/src/pages/goods/components/goods-query-form-popup.vue b/smart-app/src/pages/goods/components/goods-query-form-popup.vue new file mode 100644 index 00000000..1290b2b3 --- /dev/null +++ b/smart-app/src/pages/goods/components/goods-query-form-popup.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/smart-app/src/pages/goods/goods-index.vue b/smart-app/src/pages/goods/goods-index.vue new file mode 100644 index 00000000..7d49e85b --- /dev/null +++ b/smart-app/src/pages/goods/goods-index.vue @@ -0,0 +1,222 @@ + + + + + diff --git a/smart-app/src/pages/home/components/banner.vue b/smart-app/src/pages/home/components/banner.vue new file mode 100644 index 00000000..4ef34b58 --- /dev/null +++ b/smart-app/src/pages/home/components/banner.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/smart-app/src/pages/home/components/goods.vue b/smart-app/src/pages/home/components/goods.vue new file mode 100644 index 00000000..abff014f --- /dev/null +++ b/smart-app/src/pages/home/components/goods.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/smart-app/src/pages/home/components/menu.vue b/smart-app/src/pages/home/components/menu.vue new file mode 100644 index 00000000..cb55fa9a --- /dev/null +++ b/smart-app/src/pages/home/components/menu.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/smart-app/src/pages/home/components/notice.vue b/smart-app/src/pages/home/components/notice.vue new file mode 100644 index 00000000..4397cf85 --- /dev/null +++ b/smart-app/src/pages/home/components/notice.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/smart-app/src/pages/home/components/statistics.vue b/smart-app/src/pages/home/components/statistics.vue new file mode 100644 index 00000000..6ee6fe1c --- /dev/null +++ b/smart-app/src/pages/home/components/statistics.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/smart-app/src/pages/home/index.vue b/smart-app/src/pages/home/index.vue new file mode 100644 index 00000000..11b9b1fb --- /dev/null +++ b/smart-app/src/pages/home/index.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/smart-app/src/pages/list/components/list-ui1.vue b/smart-app/src/pages/list/components/list-ui1.vue new file mode 100644 index 00000000..f4c2c694 --- /dev/null +++ b/smart-app/src/pages/list/components/list-ui1.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/smart-app/src/pages/list/components/list-ui2.vue b/smart-app/src/pages/list/components/list-ui2.vue new file mode 100644 index 00000000..badd6521 --- /dev/null +++ b/smart-app/src/pages/list/components/list-ui2.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/smart-app/src/pages/list/components/list-ui3.vue b/smart-app/src/pages/list/components/list-ui3.vue new file mode 100644 index 00000000..4716c832 --- /dev/null +++ b/smart-app/src/pages/list/components/list-ui3.vue @@ -0,0 +1,335 @@ + + + + + diff --git a/smart-app/src/pages/list/components/list-ui4.vue b/smart-app/src/pages/list/components/list-ui4.vue new file mode 100644 index 00000000..84068d2a --- /dev/null +++ b/smart-app/src/pages/list/components/list-ui4.vue @@ -0,0 +1,246 @@ + + + + + diff --git a/smart-app/src/pages/list/list.vue b/smart-app/src/pages/list/list.vue new file mode 100644 index 00000000..a0a788a1 --- /dev/null +++ b/smart-app/src/pages/list/list.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/smart-app/src/pages/list2/components/course-list.vue b/smart-app/src/pages/list2/components/course-list.vue new file mode 100644 index 00000000..407969b7 --- /dev/null +++ b/smart-app/src/pages/list2/components/course-list.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/smart-app/src/pages/list2/components/discount-list.vue b/smart-app/src/pages/list2/components/discount-list.vue new file mode 100644 index 00000000..a923c630 --- /dev/null +++ b/smart-app/src/pages/list2/components/discount-list.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/smart-app/src/pages/list2/components/express-list.vue b/smart-app/src/pages/list2/components/express-list.vue new file mode 100644 index 00000000..e5963b0a --- /dev/null +++ b/smart-app/src/pages/list2/components/express-list.vue @@ -0,0 +1,159 @@ + + + + + diff --git a/smart-app/src/pages/list2/components/iot-list.vue b/smart-app/src/pages/list2/components/iot-list.vue new file mode 100644 index 00000000..20239df7 --- /dev/null +++ b/smart-app/src/pages/list2/components/iot-list.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/smart-app/src/pages/list2/components/service-list.vue b/smart-app/src/pages/list2/components/service-list.vue new file mode 100644 index 00000000..77158bbf --- /dev/null +++ b/smart-app/src/pages/list2/components/service-list.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/smart-app/src/pages/list2/list.vue b/smart-app/src/pages/list2/list.vue new file mode 100644 index 00000000..592a994a --- /dev/null +++ b/smart-app/src/pages/list2/list.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/smart-app/src/pages/login/components/login-check-box.vue b/smart-app/src/pages/login/components/login-check-box.vue new file mode 100644 index 00000000..dc79a678 --- /dev/null +++ b/smart-app/src/pages/login/components/login-check-box.vue @@ -0,0 +1,57 @@ + + + diff --git a/smart-app/src/pages/login/components/other-way-box.vue b/smart-app/src/pages/login/components/other-way-box.vue new file mode 100644 index 00000000..18957ac9 --- /dev/null +++ b/smart-app/src/pages/login/components/other-way-box.vue @@ -0,0 +1,139 @@ + + + diff --git a/smart-app/src/pages/login/login.vue b/smart-app/src/pages/login/login.vue new file mode 100644 index 00000000..19ff67f1 --- /dev/null +++ b/smart-app/src/pages/login/login.vue @@ -0,0 +1,299 @@ + + + diff --git a/smart-app/src/pages/message/message.vue b/smart-app/src/pages/message/message.vue new file mode 100644 index 00000000..b32a4dd2 --- /dev/null +++ b/smart-app/src/pages/message/message.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/smart-app/src/pages/mine/components/mine-menu.vue b/smart-app/src/pages/mine/components/mine-menu.vue new file mode 100644 index 00000000..2ae9016b --- /dev/null +++ b/smart-app/src/pages/mine/components/mine-menu.vue @@ -0,0 +1,103 @@ + + + diff --git a/smart-app/src/pages/mine/components/mine-user-blue.vue b/smart-app/src/pages/mine/components/mine-user-blue.vue new file mode 100644 index 00000000..166363c6 --- /dev/null +++ b/smart-app/src/pages/mine/components/mine-user-blue.vue @@ -0,0 +1,111 @@ + + + diff --git a/smart-app/src/pages/mine/components/mine-user-white.vue b/smart-app/src/pages/mine/components/mine-user-white.vue new file mode 100644 index 00000000..549a3f2c --- /dev/null +++ b/smart-app/src/pages/mine/components/mine-user-white.vue @@ -0,0 +1,177 @@ + + + diff --git a/smart-app/src/pages/mine/mine.vue b/smart-app/src/pages/mine/mine.vue new file mode 100644 index 00000000..bed36e89 --- /dev/null +++ b/smart-app/src/pages/mine/mine.vue @@ -0,0 +1,66 @@ + + + diff --git a/smart-app/src/pages/notice/components/notice-list.vue b/smart-app/src/pages/notice/components/notice-list.vue new file mode 100644 index 00000000..83c9275f --- /dev/null +++ b/smart-app/src/pages/notice/components/notice-list.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/smart-app/src/pages/notice/components/notice-query-form-popup.vue b/smart-app/src/pages/notice/components/notice-query-form-popup.vue new file mode 100644 index 00000000..f623bc7b --- /dev/null +++ b/smart-app/src/pages/notice/components/notice-query-form-popup.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/smart-app/src/pages/notice/notice-detail.vue b/smart-app/src/pages/notice/notice-detail.vue new file mode 100644 index 00000000..fd50eb82 --- /dev/null +++ b/smart-app/src/pages/notice/notice-detail.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/smart-app/src/pages/notice/notice-index.vue b/smart-app/src/pages/notice/notice-index.vue new file mode 100644 index 00000000..08521b8c --- /dev/null +++ b/smart-app/src/pages/notice/notice-index.vue @@ -0,0 +1,224 @@ + + + + + diff --git a/smart-app/src/pages/order-detail/components/detail-model-path.vue b/smart-app/src/pages/order-detail/components/detail-model-path.vue new file mode 100644 index 00000000..e0245e05 --- /dev/null +++ b/smart-app/src/pages/order-detail/components/detail-model-path.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/smart-app/src/pages/order-detail/components/order-detail-base-info.vue b/smart-app/src/pages/order-detail/components/order-detail-base-info.vue new file mode 100644 index 00000000..c8702943 --- /dev/null +++ b/smart-app/src/pages/order-detail/components/order-detail-base-info.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/smart-app/src/pages/order-detail/components/order-detail-settle.vue b/smart-app/src/pages/order-detail/components/order-detail-settle.vue new file mode 100644 index 00000000..fe54d9a6 --- /dev/null +++ b/smart-app/src/pages/order-detail/components/order-detail-settle.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/smart-app/src/pages/order-detail/order-detail.vue b/smart-app/src/pages/order-detail/order-detail.vue new file mode 100644 index 00000000..666fd15a --- /dev/null +++ b/smart-app/src/pages/order-detail/order-detail.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/smart-app/src/pages/select-people/select-people.vue b/smart-app/src/pages/select-people/select-people.vue new file mode 100644 index 00000000..d908d385 --- /dev/null +++ b/smart-app/src/pages/select-people/select-people.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/smart-app/src/pages/support/change-log/change-log-detail.vue b/smart-app/src/pages/support/change-log/change-log-detail.vue new file mode 100644 index 00000000..d33314be --- /dev/null +++ b/smart-app/src/pages/support/change-log/change-log-detail.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/smart-app/src/pages/support/change-log/change-log-list.vue b/smart-app/src/pages/support/change-log/change-log-list.vue new file mode 100644 index 00000000..41e2d1b9 --- /dev/null +++ b/smart-app/src/pages/support/change-log/change-log-list.vue @@ -0,0 +1,197 @@ + + + + + diff --git a/smart-app/src/pages/support/feedback/feedback-form.vue b/smart-app/src/pages/support/feedback/feedback-form.vue new file mode 100644 index 00000000..15dd6fd3 --- /dev/null +++ b/smart-app/src/pages/support/feedback/feedback-form.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/smart-app/src/plugins/smart-enums-plugin.js b/smart-app/src/plugins/smart-enums-plugin.js new file mode 100644 index 00000000..0a4e4cc8 --- /dev/null +++ b/smart-app/src/plugins/smart-enums-plugin.js @@ -0,0 +1,97 @@ +/* + * 枚举插件 + * 此插件为 1024创新实验室 自创的插件 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-06 20:51:03 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +import _ from 'lodash'; +import { FLAG_NUMBER_ENUM } from '/@/constants/common-const'; + +export default { + install: (app, smartEnumWrapper) => { + const smartEnumPlugin = {}; + /** + * 根据枚举值获取描述 + * @param {*} constantName 枚举名 + * @param {*} value 枚举值 + * @returns + */ + smartEnumPlugin.getDescByValue = function (constantName, value) { + if (!smartEnumWrapper || !Object.prototype.hasOwnProperty.call(smartEnumWrapper, constantName)) { + return ''; + } + // boolean类型需要做特殊处理 + if (constantName === 'FLAG_NUMBER_ENUM' && !_.isUndefined(value) && typeof value === 'boolean') { + value = value ? FLAG_NUMBER_ENUM.TRUE.value : FLAG_NUMBER_ENUM.FALSE.value; + } + + let smartEnum = smartEnumWrapper[constantName]; + for (let item in smartEnum) { + if (smartEnum[item].value === value) { + return smartEnum[item].desc; + } + } + return ''; + }; + /** + * 根据枚举值获取对象 + * @param {*} constantName 枚举名 + * @param {*} value 枚举值 + * @returns + */ + smartEnumPlugin.getObjectByValue = function (constantName, value) { + if (!smartEnumWrapper || !Object.prototype.hasOwnProperty.call(smartEnumWrapper, constantName)) { + return ''; + } + + let smartEnum = smartEnumWrapper[constantName]; + for (let item in smartEnum) { + if (smartEnum[item].value === value) { + return smartEnum[item]; + } + } + return null; + }; + /** + * 根据枚举名获取对应的描述键值对[{value:desc}] + * @param {*} constantName 枚举名 + * @returns + */ + smartEnumPlugin.getValueDescList = function (constantName) { + if (!Object.prototype.hasOwnProperty.call(smartEnumWrapper, constantName)) { + return []; + } + const result = []; + let targetSmartEnum = smartEnumWrapper[constantName]; + for (let item in targetSmartEnum) { + result.push(targetSmartEnum[item]); + } + return result; + }; + + /** + * 根据枚举名获取对应的value描述键值对{value:desc} + * @param {*} constantName 枚举名 + * @returns + */ + smartEnumPlugin.getValueDesc = function (constantName) { + if (!Object.prototype.hasOwnProperty.call(smartEnumWrapper, constantName)) { + return {}; + } + let smartEnum = smartEnumWrapper[constantName]; + let result = {}; + for (let item in smartEnum) { + let key = smartEnum[item].value + ''; + result[key] = smartEnum[item].desc; + } + return result; + }; + + app.config.globalProperties.$smartEnumPlugin = smartEnumPlugin; + app.provide('smartEnumPlugin', smartEnumPlugin); + }, +}; diff --git a/smart-app/src/shime-uni.d.ts b/smart-app/src/shime-uni.d.ts new file mode 100644 index 00000000..b3d3cc9c --- /dev/null +++ b/smart-app/src/shime-uni.d.ts @@ -0,0 +1,6 @@ +export {}; + +declare module "vue" { + type Hooks = App.AppInstance & Page.PageInstance; + interface ComponentCustomOptions extends Hooks {} +} \ No newline at end of file diff --git a/smart-app/src/static/common/back-icon.png b/smart-app/src/static/common/back-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9b82c797f04c68fdb109cd2b8e6f7768cc9c5a66 GIT binary patch literal 925 zcmV;O17iG%P)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91B%lKT1ONa40RR91Bme*a04fgS`~Uz02T4RhR9Fe^mrZNbKp4kolK2K~ z(Zgorp7!9Ox-aaZg&qVwR#*i^1P@-tg9rTvegRSNGl(9}9R%3v80{|HMv7ciU!?O%F-~VUl^~<(L2S%##_$4z7Pp0lr_nwOZ}?a5%iJY1$E8 z*Y7u*&A!T9hDxKPZAzt*<@x@Krt7oRcNhe96!W+}df)5P_A;ii5e(O~70&tWA;Vw> zZZ1UabhR47#f_OM5MZVNvm{{{=PdAjVp#vRv9TTpL-x#o2nGNRz$}n51mgq74}uN? z^(PjZIpm$Ah+9noioi7LWl(d z3ZYO>P^M{qab35iGGSaBWgr@;=eo-~K?Oow%H?vOd%fPLxC!IziGU;&6gdf{<|0aI zg0U-EKqUquD7a@Cla~N>Mna)Fgv#ghHtdQ1@HD2pQURfJ0QWuL2@3A3qy7!t_f<}k zq)ZD$bL<9n81B247D_2G#(besE|*_nFMUq_Qo^lk$~{pQiP1wW)sds#QTE36gW()T zH*NSEIBk?;K4_ac3m}Gn*#IDm1T`Fi(uH_gsZ^AXKtz@a5Dg@upw?;>3aik9xk3L! zY8Q8921FAP6f*Z^K&?fg5ah*UGc%{+V91_DP>;}S$k6ywP|bCsy&0EM$HyABUWp-D5^F!YVR#5iq_sUXloOD z>)-cx&i}mUBzexsll$i8bDw)Z_kK>^>u9ME6Vej`06?s!`dAMDKni!SG5EN5kDgZ@ z*t;i?m!66eP(H-42>>jB+G9n1U(4MLf-hg5WSj*XXfunZsXfqq(1ed@WTh3PCQDE@ z^60eH9SJ-zo~9%vs@Q2R-v)1$G;(L7DlL6mb5RZDrMXCCZWs9DV=^U4C5i|A2``4^ zG7Fc6JDRuBwj46|f-ZxaTP~G1wxzZ%rpK2rZsJR9DoLF|cUK5g9k4yRU7zww0C9H# zFa>`~W0*1QxD?6{_}6dmhMV23jDb0Sv?kAsJ34(Cm;}RBi3;;2{T@R(N};>|^%4{j}j&G!C0IdE>AR#R3VM@0T;PtmTb-M${| zvA^=P>z&EDSJNy0p8!ja$IzT9em;Ga-A0D9^-SsB#?+cA;O#v8)ZpzOq!HMAUlKNy z3o(=e;}M1gN>yedj60F!!bGr;o)~KYEprlYDhfjA;cJFiQ-Bj=tkcPSiO`h5!_Mxn z{X|S1t0_Oi9(GVsX)N`?-^sr5pLVZ;BgJXUYP<<_{R*;az^xj<@8R!?s5Poy_gsWz z1PBkLD$z}%gtjBw2D}>(=dy!qd*6o-@at@c*dCAx;HQroExK#M(5@Rj+)hG7ejG@N zx40y#oCkVC2lw$?@reeHdBT8HkLlXqvX#oh3!RXlfoNtF^oCYMKNoPvi zyGjyk#>Nk0Jbwcqv`sffQY&A5wi{^mw&KIiT%Edn3Y`s{zTrYv>`xU*j!X3 zq{8J&rq{4SFliylAi`@e=pJ9p8&ZiJ4>1BU-5FTpj7Q4D--=6iynlvJYZ6 z8z1_VWk(2}UWdvxY>xZZ`jMI9*SGe~`6|KC59vGVpQq>sg0LUvx~0%^S1ZWc&}dLA z3G(^;TWQaV^ap}+*AtX8jeg2?Q6s2IHviUvr)GemW98{9OWAY7o#>t;h5%ZkeMo|n z)%?8Q-%>93Up18H@eV2n{H_pH>QAp@%gh$0hMZ3N1pu>G2cL(Gx)ud;&YAq-*F7pL zWec5LER{yj3U}HwycIC3vGHqzz`~Zo%Spu9B1t%3H4yV=*f8$s!^hEbL5qQ<$=7DgHOFQF^6~dY=P?6I#J|L2WidlAAY4=^`L^GeUC#&qqfiz z&7hsPLfushoy0`O)GdSWeM0xr`d5ib7f`Wmku)FK?G*2BwAH^RV#)-VLe&1<)nf`$ z^f{|CLu>z2X-)Sq#~uAr)%2@nYKGzM0`+;Hzgus-7-X=y2ac-RYr+t?t^i~{sGGlCox%B`P2bgQTb)=57tnajdl2N?XfE6ubY*%P_+a8A-}m=1EB1g@ zki9@lC45cXK5L^S9<8!2bNqteLik-ez@WWv_JCFK8<)b%?h6QZyin!fufQ2%0dFN1 z9qXk3e#cEz?asBSSqj7|RY1&3F}tdK*9BEAdTxd=jsDPnEn6;0(l8&h>i zx&dhin|9wyF?$eUMBu#{GJkG65XdFAe8m4=)QxIfkz|mD|%2+#GrILbSGb8W#R=`LIj~0N^ea{X#)buWc086Tn?nX z_qPIx|K|Oj8~pZ-?_e23iSnB^?$qwN`uRB0`z^=yQ1@)HSUcW>b~uz00+5H zqlJT43(90-7B<1`@52#`Ps>k$yE`$}>bnm3Q@CKwNLhO5{>H`f(JVP(#~%b2bKEo+ z#W^qXF(X%fi=kVHgBM-v&QPSszw0s%7S+B9mRga{Edld2rn?WJ6(kC>*Q|U)Rtj_= z2cvC65{=f(BiGCf%*z*RtKc(IQtvx1#%+xw{X?PztHKe=Wy}zZI=qS`#=T4aN==me zf2kz5aohQ9xr_nUuBQn(z% z_we*p2$t2@i8dn~(e2j-t^|EG_bX^bft-J(X2lT@VpQgR*7iLJ5^D$~)^+KE>|5h8 zK3n~gxfRSEGkE_sqz{1Dcj2sf0r&20y9&5tq>I^a-eLVWm*gIVE z&3yRIL$B=*gFR|_l#S94v1TL>Yp8d=(;%`s!_Nhf)T8A?u9Ji?d`x`$^h&|KdYfi9 zDM$}=(EeQ+MQMu}Kd}AKTAEZR{O~ze+MYN9E=1k|n%VNMU&xeR04rg>W(AVEsS2S+ z)D!C2$>6bU_3D+y4GGUsVw0`0lD;R{d!Tb&p$~6@93JLEPicQuA=g({vzFftvO|(7 zYRO#U$}|`!!IgEVNmlk;GlN#qbtHX-$NevFEa?B*FVpao z-SZdrZQ>ug&0=2tyT$slaJ*!tPt1V^hJI>X<=9um6eJWR9=EOi-U{dE)TMZt6}=CF zwbCnq)Dk=YuXCIelGg(ffNbv)z|ejIGqpG0BA1V}(bpV&2Y9`e9hoy|xnW+pvg_4T zeu!(^w&9mLf35{7GBGY)d`1x)R^wsq5pX5bw)m@M;Ce%5;6zrXY~*RV5b>)#JsMAc zBSEm4*Q48LkeiEX%}z+VJ!rV+3F%VYH;Mf)VM;bVf(XSC`-ppEG;k!bh%Fnb-lI)j zlAv$e-v=oiuYd5ipYyd-5WcpVhQtLPYWt2URetCwoMQO4t%9oUjd}gaeY%0+`YB0Y z>mLnl2V$n;&2FuOQ!O+M{p;*nXh>^61V0pUaY(yODA6omB9#e6h)?l0z53H=HM0AQ zACUh0GN5b4nD2mxkWf{A=W3{0MKIoL{~uk@Crf-0LSKC*+c?I0GM68uWh;19K-p$+T(N;rr<(^Yog{L^S3<_fE1(5swrD{Xk0Wz2t>SToTlW;;zw@D5^OJ4v79j2Z0;AnljnDFkKF-4!a?^<-A zpWyIeoEvwx6_mX1|}1 zVNN=Iy(f3=_ z0$-OwIeY8Z5{T2Q{LwtSgl5z;x3>-Q-%GAoK3~qak$j10`mn9xA@4)B^PBR(>dV^x zH@SkvoHhQ0;WcHS8z!p_oYo02eiYu;r9$xi$!g_4E;5zW8LlAXx@2PDlSTln#h$%F^l3U^4F3?$8zVHX=D?M_UMW6-n>u+(Se--$)suD9 z@EMv^n!-7eAfUEnd^T2k4m>XP<>E({N1tS*Lvt4_9=R@5)5NseI~f9Ygmr#8X@MdP zzQQ#ZOIB)Hi@ryuofLfU%Le2x*`>B@g9DpqH1~?>U(Ao6_d8fjU+v*^tnH^Fu=#xE z_xWVFSZzSYlNHsOu>t^_Sw;PKyy6ZV!?nh@j@P`0#XAv;)}V;ZSZxftn30x?dZVR_ z^|`}rn5uvC0$8|ualQ98%HEHlNZvCray{f(3r2+rrR@=S#FjPSIwKDM(dc^>vApJg zqk)NirufomhV$|2Xb&9u;gU7?62>m~-*RAExHn>h^-YBcl5dB z*DKoAIScCtu>!G<$HaHvY&3Uta(O^RnAdOWJ*i&sur$fP0jb;KRmUA%3+IqchM_<# z)3y3H1qZNFJoUr7ooLnB(#mi|o*M-W9R)8dy^V^>G?;}Ica#G1w=Wk4XyZzK>01=1 zP0?=-CW(W;%Rj@hq%x9xEkNEcH~!d=_~B~AT{yq&Nf@KC&3!KQyX^6fTh>k0bT!8e zZR;Dp%rV!IS8(6MkbgZQ<3yHG>NfWqyPlA-JBRf`>(cm%oZGDVfkD%9)YZL@7n4=; zdcl3Ay>!J??H11KGdInB;1({AvFF+tp>cnEgKSaZbn5cP?2iPBS^fn(wjs19LwCgo zp@Qw(!O=;tlzO7x+e?}skRLrHeNbKLZr5o__>WL)3MEa#Ue2^gwN7DBNFggWm24(; zc%^fb;bDv`n&?@Ufj&1QZkNK&JuvlI$xw6nqZ#ItZ0rMz`J4+5}>SX(MjC z1c>;al5g!*#>p$Fo=PNKk8H);`(=`19eD$oz}nBcXC0^wi3PrAJz63<1+O}V^o2$4 z1Lp(nXBdyq@zopT1QGBsL(r$^$nYmbf4<{Aq0IcG7L>3poe}1>0g}uUignvM3EcIv z&aiTh?41Xp1;C9?HWVGHltTGe68POx9hXbc94LYt=yv`W^^uuF-HQ7{L=<7twKzhwspSO2omA(Pd$%|2n7&b2O=3@^ZnMb(h z-VzCCr4%mtp3nq5cY`1zn&D&XulMo&`Q=_xXaAGtZ=2CA?s72Q{KX&GPl77sq5OjM z`VMML6DfVKu$VcUFAp*gcu@J8<@#gr6+5<0{wzky)ISGI3JYn_vU6{c@fZ=`8$G{s zXNm>u5Tx5V9IX~(%`vNi?_y8nb64fOqN&bms6YE0_z)`pHYdDPsEuEGWfP8FQLNmw z#>SX&2bu_nh5HNik`u%!>p5P-a3azd54EJ^=w9!_km4Ex4d>gzxUT-y&&x~J<~9jQ zv*_j{G_FpSB22YSZ2eAc!#MH%5r^Tq8s-57lHWn)4(J2w=F=e=Y(1m%Y&WA1?5CqU z5Of?^xnl=2o_W*}xf3}V$m95JT_l1=I70c+GSjan)HD;}mp3|pY!hJtv-=?`y}WMD z4Mn41@Y%Yjq|e|Zm)soh$)=vgWPwvq<8MNb`?lwFI1#z220%*~+GJknh0l{&xuAJk z42)a8?6!70+7=|cWjjkQc|YyD6p=5ntt3m(G<64@v4zNY|HwX(DcQ7<3&;H03}cc` zRs5pFuYGy9`8@I$DaL^UbM8D&iVhncQOkO=xY%l^EI(rRflWR^qrqgqE!w`K|)n;8;j` z(|(Y-B-q!K_)|v6*XU2XFL+lDYVNZ=Ft6Ud;eSolJ;v9=MTZr7G7tMgz5HEOY%=l$ zvHk@o#uYGY#}!h0bS}ZVqbXQ-+gOyehSLXf{xszm))izG44j{=oiKLqG4_L}mp$Z% zg0*s7z7mSh%!(-1@2DS$1OKw0Js#LktJ|sdB(K z+nw$t7%Cnwl&}(1WH2ss92^_h9(nx_`n|B~{5cR*v|?^aLh>0eWx zELh`yME7aod`hC-)U8nD=J8x?J7MbCvl;~xDf#+Ns8qt#>@gEs9NPC>P z!uLfmm?(+RMV60HNu1kF2&U=H9Xd01F0Vq&9vaLI1T6!w--m)jrVUIDZ$u%|G6Z)$ z1$$JeD}LIFELg~aXxW}9)H@f|`%K1t$t$Gel_Hff=aW4M(~={X(W}lI>Cb7M2c)v7 zUyFo_aLt!w+z{-6!&G&A*bOxSUnn^_1sCyoG?nDz*XQKtFW2od~wgQZpe&>JbL~5C&5DQXK~Mb`^OW1kVB$BvPpn%o7r==;eGO)#z1%S zDha@qHkIp1%jtgcqFM)EHlh0fwUX;grG#hinuCk`p!Ly|3N~+)0Z*v6faqN3#wSb` zvm2@ra8jP@jWCjkEM+vwEG<3yL&LgMIAE4P*aD5Qcb9r;OmY~c-In2Y zmgO8GQ3@K0Q6$Ouc%S*709I#qz+gT!wi1bFUL7baI4?t_3r8{Pv(Y|cEm4nYjo^F? z?S9}W6Y@%owZ#44MxE^mz4gwjt-elBF9a7N|GCBO#M+m1{oG}3-X`9+OC1x~C+?cB z(grX1aR1+>Gh$u8O{MxOr3MK+xL}A|yfAWEXr;X0_VOX8q{EDPB>R&`2=!}TOrfER z^fg)QC+Txez}0QD*AyeAj8@Uc(-RrYlYfY7?s+dEInQ`E&jgM|TDdO87!{r=oRckp zS4h+O(&^%?WQ6|$rA$GQ4DZ+y)vn<`wX7yLm^&2+&nGmHA2?%=iyGRJsG2V0{}(O& z;0qbcCcAsCJkZYE;@ZF5oxX~~z5neWHbI5FjXsd(bbnc(Rl98D0HWVKSfK%_h`r5M zc~kbe<>cfH)Zv@Ils9w3XN=j44epG74r9Sbmx`ytQRc{*CsMljMy=7KvYagJD| znJ_brYV-g-_GIipH$()2a6IpSBrm#>V-p1FV53=M7_wU!mivqdaclp2(lb0HWZ{_W!aE*B)|X8M<}fhUEH945R6N4k?bP6&Vv)}FJ;40P^eE@qswnQL=*RP&c= z?isua8U6y=sj1vroU88kVS)rz<_Hw-6(mNb$;A1u2D#80gDPxfguhmyQ$fN39*3S- zGb!Bq4IT3y$dclCWdi~!>31MAh!;|0gcH5~zdBL@9sw1Lz$tsf`euu6vW;_M_cP!Ry!c!O8aPZ_sLl@imN~7~*$5O`#KAiS} z*YMED?R%PjsjwsmII_$*LYlU_sy6+t$Z6o!Zj}!X=;c+-%?;h@)quZoi!)98gNINN z%+LQ3K!+jDz%|^uQ}>_dE2%(b_4YRv-xuDfGIPjNtXVZ}aEdDCpZLxG7g@z;@EL!_ z8$#@je8uL3cOl$FL3rWhSowUO09U)Yi=(>Bi{ieBiK!?qP)Zz>D0r^uANm)(iCm3= zFUE>U$3hW5ALUE^I`DpmsZ4XIdh?|_I*B^&17VB+5N&Riw_x{z($|}HMh*|dKXkD8 z_qbTriH%Ksywxwm%Zl@(i%xBbHv@Q$vcvU95J!BV6k|>N`XT? zV-G}p>(ImI<@ZUVy>JkCJF!;6A&K{yc1Io&f#u+FS6yqY3-g^7zhqabm@C z_u@HpV-MICPod^F2mhW*`F>Q7WUG9*{Ex|n4Z_!}VSA)kat}{gfS_CIx_>X#K<)8V z*}KaoY`sUfnR7KbSK98HTwhs#P)`wj$R><2K497E*x z?WWM~%q1L34@PIz=N6nYoS3qt_nBzR$FxAh;XxXio)u zkM8mEh@MOrZA7W?y9Qz7D&SlxgAm(Bh&-T@JE#xl3uexYj(;_W;?qkaw#VKtMlV4z z<|i}^yCUi(!`yFKr+wP-*oL%Lj-7-V>Tn=LzNeuEGPCA207wVKhk5(~{k@WgGhb zahLoEka5<{BS$xo%j_l9l%}Zf5iaIw9JJm9S`R{U*aSO$NZ`dBKTUZ!nES3-2Y6HWFW?de;&`MrL(gcO^${!vMq2@&sYM6 zdciO>X9JS70-U}?B6rB}WmU3L{yoXXs|0ZCr9qv<6u8oRzRq^o1zxex#Mm)-+Wkx# z%h_wM5=m5sI%6;6bBQ4*5qj^qdyawQR0iw_Y2JL;mYyJe$c8rJ?^dDfh6WW!$HmOA zD;2B$+^PIXg~$K`hU3?KEIeww%;(np8WHo9jXCnfDdsDP2VsASCTzphpuN@~!%jiM zQJ2r(lcKB)k@5~rjo~8Rn$ow;vtEX7AU))CYxCvJF;hOk0qo|n@nf3Le|~z^SXx24 zcbu8<;@xMShy_G*_6J&aWm8f##zn}^Civ082W!kG`pA(g&!L6-_ zJON`D<*NxRpYMs1Hm(%wmhKKxQz0tZ?YYV2B^twlQp|11L3{ItNlM$xlLi}Fm4dPJ zXDZh`wXsR?Z1x{C+xkcfV(dv5g>(@3TK6Y>WK)i+?ktPOsfQz3y>4R5 zartPj(!WHEYkQ!Rm;R}-pRe1}ZfzyWj|jMN@u2-czPIr=nwV zm7w72K8>T}5FFYck509sKlwlh<~orO#c}9)a7~E*PSw^BEl)iZnP{igPraYz?8o4j? z-kts_7IHD-R}G@^v2wu%KczB^m$xSk(+L9=Z|N zu)3r{I>=%l;|}H8`4TErdj~G@FS^B>mEimT0b`n{CvG)3q32q9$cKBQbRGc0Z=IWj z6ZrZZD$!`w1OAo!vV*~1DlAi=xrnyHoKx*x=NtrQ<#1%VYRZ zmmLLC%dB}avz8O4L#NpW1VkDj#b?_Yr3pfowRXPWYol7&5tE6+(UWB%em_WzCQfJU z<$q_{M!)(IK1@3E0)T4=&_Dds7W3~59rq&H%=JWBx$>QyDt?YaCgJle`t2Usx>TsYrWqvaF)Kldib6oAOuJ)_(($y z<4?yI`HSbG!cbWT5XIeYWFeJBJ9I8!)bfS+L3EO{kS{BW3(&Yg7qzeq#-2|~JvCxK zjw-#cO|EAQM9``LzX9R+1z}|)aQRWAbE*RGZsNRwTY2yYkwcJ>qjaG`j}hg)RRPRp zh)kJXo;g2hlTEKf)+y-2UU>Rm{A7}O4DcrtWHN<)E9{T&{we%SA6Wo8pAo=_@}YlT z$`1f%C)AvBBYEJU_;XVFR?H4+LsQIEi1Mbiz|W3VKVF=FK0Kr)I zzc2h>ZZ9NdKcJ0FCv#3^PR#DG{HBgMk_uziVRm)vJv?QCKEj3+(_M#QQeLm<39vME z__?CFf&8g~fivO#@1oRqWTlbsB|xbO@AH)M^MsfrKj!y|l@`=VFmE zCpzgI!V!v=&oaEyt=9&!+Urhlb~DSW0G!rhey!uf8C^nTHLV}6>jxNv4sv47P&;bm zAs}diCs)R)Ag+SkxcGOBPe!1C7nc|*DjX&c(7HZrn5+3uD)YDs3Eavgb~a@ixd(Ss zWkXqzCw>$Ye-H%#cO;q^#br-Okl^ACN8Z3Z7;Pon)*Y5!IeJ!z+S^o%+SgTN$&h9Z z{&kOqX8&8a*&~xQCo1hA*PI3-?tF|N;6zVC95T)!EC=wAf9z^W4JDn?qcx+q(J)^< zG7?@}rM@4pa@V8=5+;}fp8@$Z%#(mtJoOYX>IHCet%OYie}6!|G3?{UiHP&|J8X%l zaN{MYKlaG&Y9I$^n<~sNSMBZhaTa2u9)n$_fKy`%_5g}779cb+`!g_+$l^}ImBI&* zsj*)&deER<7%IKXYh8x(aY{?_3Lm`1ymv60GWXA==f}Kl^z_5EQrGz_AtiyU`ea0R z5HVNvP&M%*%P$a1r*IlN*gfLW*V)pXlwCn_lWbR@8BJ*`o-wyKK?oCWydbjt>{0cM zQ=Xf^2A0!*_zNey+oNO+GiP{QA*&JyFQP%t%3vD}kSA}HD9=tIL5bZHjxW6XSY3>%h#2srSM(a>sO))it;HvJ3aQP6E6TF{I=qcIB zeTTD`vCu=NrB!=(Qc%Kb@EGye4=i?^%EprTKI`m|Sm@V&9p>$!S;PQNf<4OQBS=Uc zg^zt1>MhI=Fd>teX&$-y}gU<*TM?C~Me|JM(Pw^A3mmU^gz|BP8@b2CLho{XL;Tl)Wnz(9!lgu8 zvOqJI(_jJ_-jL1eCm#m*6ucgUJ;6b=3~EMd*L1oUlKmS8eiE?%Jy|gm3z}ORf3rLu z&iiH%|4JgSYgv;O8(A9ZGdRPX-1-~SPeEI7-SxGL&;ss7dtVlJwC7t_G9F?ErRw>J zAL-!8@BXw2?evJB8F>MQ95HA`t+DT6U;^I2&SojpZxa0buw5jpyE_x7K_C2>OCD9D zsI8;)_!n;5Tdwb24~KD|Wz00QzmuZtf(w79katnimu0JMy3f#aQ$%%FHWmW}NY@pq zH1r!FbNQQ3ew(Xvh@puB{z5`OrY6qwZ8VFq1~~s0hj1AV3(~Lfdm)iyg-UWk~S zG4hC=#Fk;%b@CZv*j8X94?gp07<0nZ7q-?(-23m4&ewoTK^-)bV)xVhqL#~M|>-%%`s`YnJ_os@!0Y%&WP zCE9S=Z?r6J-ql!?GUmbWy}uZ}L)#@_;kK&FMl}hbvw+601}6b&9blW^?(Yn>!%A9e z-vddozl)47#2r{YT(5DkAySPJ`c4@j>OZZ?HKuYj$RzGwTB0!hKHxto{3 zcDe`C&?@(qu1=A6DnJ(ysC01ML(b;|$H}^+dpL>(PsRfFvbp0ukMD)p!UUw%g?T~F zlu&dFKLOs{@hlEBWPnrzBJ5DV3Pje~mB1e8$An)*B+J394(II1asTt6x)fJ|5lNWv z&H-eJ|8Qm?4V5u;TS7qAWse+%v5tzJ{|4Xbfz*pG<=JkzXq0mC1R^Hh023Z)3Ju$> zo>8uh*}4!%J^caP@t-4pmI_|>FJ;-|2y+W4^vf&L(K`p`o`J?uZK zPh`TNR!*E7@%`dkcN%oGglWVl+#wlb9kXHz%HP%Os>)QGA^8(`q~jVg2*FaWbS7^N z^H9ms{JJiU%A$m*(g+dLa`SI3QOJWIUPMq-YWu!=mA#bPee zR5+R-8Dmn_Kf+_ghO-DdN=+mTV~6QMHFN!on2)Z97xjR_Rww2G$!IRBbJZJNiWgc3 zUKFl^I6~CMc&X-Ao*{fa|DqPG4^!?)U(!8un~>M?B&q)urb6qu&jqrxi2u6F zln}Gy`z^K5o~Q2!OG#@EksPHLAPSa4`>>2FD^3I*6kEgEK^v>FV9Tv^w(~ zu>{CX3+(GtiP~#B*~ik0%W!tZB(NBuDpbs1|5|*ek)Awv4LKW*_)Fheuz<)QCJATm z!GTIn;yob!hl`0Zy~UpkybJ6Ru!LvCaLZfYq+M~_;P%Vsc?zhyV8270l7HJqC&8vS z$)3U8gI4UHK3f8dOi)#aHmXu{S3DkJCAzT8kwvNENxBbq=S8k_f07}=Jd9tP+oh?*(`*-OA~Ve@X=E`iQLz2+ zx`x4?vM*^C9avZ?*{J0{7G~8hEP@JEdYI}2=D=5jHoKz}UNA6IfQ5EDJ2p-~mO%&1 zvW4|m2F)>MFQf|y7I#_O!_GwE{2yh+TI?M|2M>8l1M}iRL-Ts za?U|@&CR2i4+iaVp!*HHWlN#%^*6Hrl`-dV7W{zE9@ihURmv+MnR+3|md))0yT7*C zRq0M>#4mKkj?3OX7H{lGdH21Vb%79*|1Qvfz1~7HmSyG#lYx~V?_!l5uhH2Re=Nw8Au9T`LTPonXTBN@!DeUshe(Ai(5(B=Vfj5UfN07A0I zcK$~epE)Qu;Xph(>!eb`^o*@yz>@pOx%Vz>EgduYI*O!UXZOSx9fwb3Nu4%)*xMiD z`<`;2y94phqUDuf-5x-*Tj)_8KV!I|YfX1^O(>T|ek-en2_To7}%V z?u7o$2SX*>&JHn37_rU+MIg}Pjmms<75tqOD566NW4qA#{AVcEx-h#iI`hqHw*fkD z#no>rrE^k_zGI6F3B9taK-#E}zr%QvS#>wQ ze;opq>BY*j9~gX6j-z7gxiMG1ahxo)uo68`6ckp}nZBVezUw*E9-2{|Osk&x%qFi! zBQ^at`u_II#4+8?nS`&LZ~xdFC@7)E!Z3BaAQq&ZQRlbyh`D%M=FhxY4?69i8mIKC zo)@RG@F+%xUX%;t*%F1ik}y-D`%h}S_nZYr2;c}byw^Rg`+%ibPTe!Ccn1;$ z)&4FJ#fk5|=KQ)cS}9R-p`q2KG1_P)zCBp(h#x%XU$>{y|Mnj~!5gih${lq@DIEDP z;%R-VIya6O9%{*wWf&s&1kiVNZv)ITJD0>{1h>&SrIpIvD|#3)MN}49fA_&h3`Lka zR2{3U6t-XuRRoT_1efkZED1b6>~@=G!}!s(d+X>)nfHD8uk{WH@H3I?-SJde1E(La zzO4m4Skn;JPt0(Fa&O;Eq*^s?G%=l!7hP%WhtNV>=r0Q@PDS1+m-zOZ-h z;uOy2@(?K5MilUAj%e^2rRp==g*m1&;N|Uy7cSW7h3DfQNvit#av}3tFt-gUBQ5Zm zA5!gIQn#w=+TGgCZ46yM&(*n0J}?J8_%6`cDmGhOej#dMRkIhG%Nzk} zy}cW`wpd$q+zrN=96UMHZeG^GN*53XU`KuYHnBujQeswzhe7@JL?ooBXV2+=>R5l~ zH=$8Q;`o*@n`n3%w-qImHaYM&AuBb+~d?eVo_*5+>ESoom1njDq(r2C7w ze871>&70UO0Rvn%Wb{{x#_*w$tZuq5E6-mEhKjhUiNHFMgsrx)H!C}~la#3{iR?d~ zB&tFmxLd#zDKYx=i9fnNY)8CUY5e{75!6Vs2q>1*>4o&)aQtxONabst#;{RyQ|IDE zKoW*+4VHT7lrTL2{B$CI(9*?R0L#AKm@IP5*KyJzdnLN}|4BAkmRY!ePB(7xVcX23ldYP4@Z$JE_(6}DxU=4v5cPl)G1Z(pc9G$*r*zg* zreWxHI8bC^bCJQfc=C9t$0IZH`4ek_)wjC*uNtc0Me|@HDcn*VtP0nAc}_^?M+V&l zwn-M-z=1z@yt5!whG)nhuWI3z8o`j!qie@=H6NqowjX{SFLHi|v!tf+a?1}~4tWI9 zC_GjV5TgwmD?eZ+q?x+$GGHmA^V}sf_u5vBlcQ%VHNfb|8`DBg@{4~{NGB1g-SrDO zpJm`Eetu<2{ge`e9|4iMpo^uoCX7-i=KSHD1!WCW;9a*SmSMP$4Bcc#KItMmjtQwh zVm@uFQ=vZVhS<)i{%b^szOUt9&ERx*#6lM>2*k@SW!}jM5xFH62%27OjxzPuc>BER z3SCN^Pfyhy&`xQEtOaRcq|ym%+Q_cEB3i|(H=1^sKY$_f%-m5V^978FtolHTp|PQ z3PV|bpy!7w{o#B*|AZ;}kcoth$RDO{_$6K^Fb9aB9T5uCkI`CmLNjHr37~1eLb3cf znb1nu@n`EKQJEEC7jU0w{@>r>e-#ftk73v*xsqBm=6NPnwsfY>c%Z31FolU(%d~SH zS0NsG`ZbLLAni(l`rpypOmOA`5i-Lz&kL?^5;S~?<%CBIpOp2b}v(Dt862B{le zkCnVTnlz%ffzY$E957Bfb|Yez;Q2{2>m0TBdI+(r(E%EYF(EbY!{K4mR3j%=lzJui z3pbIMyGt0K^NR_TdkrC3i9XEUnk7;zj0`Uf=N)hkb(Y0Uf!G zR{5nBt*B-S<`2Y7*4;CpggJ&U!pVPO`J2^-aUroZR9WWI>>Gp{_!QUr_L5N)6WF8Z zJg*uj9h5eQ>N^{Vn7mvOqL7s)EQeH4&TLx_?;l~p-*sGhw%1vU?5=R`0SsMiI!=c| z_d1}>BR{aA{$iv?4>dO_Zmn7ucr4X(9&k>MN!qe?Wj$EQCwxz`ylXJKls#{z^&f_K zsL%MeFZI}>Ib|vVqSrU()J3eSj2fvRZ}h%LBA6vPp1wBp9TK$* zufgP!{v1T5JLxp{SSm6)HKfkjHuoL|0uc`^UpDuKL)6ce$+bhpT;*TRXU+*^=NRna z=PzCFQ)8m2ayD=2MdXO(qmI;`yliZ_tP}K|B4d}3SXY_=%X8u6a6NLL;2)-53!)FI zuDax1%e#&GY~U|3-Qpm5M+kMN6Tg;lh=m@Y1LRXpm?iO0Pc?N~IxnR*k-9NDN?J`_ zkEB)|BA=0s{h==xX`3w3F}sid_|lxO<^G6ClhOXKajC0&V>;gyp9_4hJYEY_Khd@6 z*7v7cJF001VI9v5zbT@!^?e8f9&oCvCnPa*sB*Hr_!+--rC%>Wd&GxY2EHRHRsCLP zZ*Q+jGWqB@Qor*;emp=6VD?y2%Sm64BgFK=qVknlRn>)wGu4s(#@XCN@p;n}VGu?2 zFzyDUmL5eiC#WjR1Yv^QxNy=#13@oxs%N&5-wD@7Y3iwCYZX3h-^0d-x>jxCYHT>B z7=@4}?Tj4A6uCht9cIM&NxZN zkAJo!WDg|K5-_t?GyROr_6%QVf5OS9Tq#8G)V1n$BoALHdR+>kD9#NkXc`h)x<|I%}l>?CPT?4gCF#cFO%hv_B{I*oS(k`=Sh zgLU*VQWAv5KR4GYmYdT;X)6jTqn~5*);Ad-#9rfhGN^%J=Jk6>=DKe$YgO^WaTnXcXrDls85QXE;Dv>)_mmjghui!ZpJmM(+u6L zC4usvRVS89HPVwN{Q&h%>JTB~_-qv?p>!dc#OQApmc(+NZwn6Zg{{9}J>C(F4YiW7 zSf=Gw=q4s9Qt)%;d{PpgoeoY^7lxU_w0rSnyE&$uboy}ZWQ3pVL~!DtsFG6#(MQk+ zaFVSTb>O@1GZ-~3G3PFJ{JA?Ub|SvW@~`Ar8$px}_U{O2;=R(f;NJr!(_bp#>`c#IAiwP`#&z{19Td^wbbl;?6wiui}XU?s@0Nwnm!N4lrtA z>9A+$Ai|1>8sWtvnF<>GXqFBZT`8PoY3gxAEyk!v(7K9%-YckKLV~kn3_F6vhC5mM@0LJg)NyymM>*ykQzrM0~mMpcwpon&vAW- z$S1Um(P{gX^(~b-gg*zvz2Xp{wcmd;ne|II+%D)1JmHs;-denw+R24r$|lJ-NoEh- zJ-6N)O)|av$~-(Pp4U}D7WNaaNXkYC^5{(zKN?^T*`sgnKF4jC0QZPtuX*sxnKQ3U7ehraKs z8L50uK*=0rO8vJ}uNb@#z*0hsQ181=QWp#Ml$&`M)7uTMI6yc}ldl81ckF0=jL~rU zLsz1_I#lN3GfQDoW{`GY0)}nlq>~K;?Nk{V-zyh%^Ux!EF#91qp~Nlc%b~hXYeg_Y zYgMsQb!bFG0S$fPy&^rDvg>O-no9+3x5*G}v=mVAiB~W-C!PwT(F?)p856T%Pi0_D zNoAppA=cy9Y3YF|TalNr6ZGH{puX}Zjp&i(?~9SyZD*jQT{z`6@7`F6Uw39*9{@6XJ4$>%*_51oeB7#LWaWx&MJw(Yn z#oUr^Thw4#SO%39b5^YBCe&Gh0~m8bd_wO$MvwZcA(M*B_9S)j`8#60Vxp$r3pICQ zrRU^h&X?xw=pV9Q9f*~k>>gOTXW2y)bE^Zq!k5d?AWOfii0iE##Z_z2lUCtr^ zMLG=)N0@0=!V#SiY8F+iZEG*0kq)^VQyxX;h^;mk z`jB!`mhhsSBI;~X1!x~8{#n}X>pE%OHvUYrB;r$rs_ZA1@S#`*f|LPBc8E$v-I!<&mwch;r=+NZ zWWdT~vaq`KHGf+eN86O0VDieeiQxVh`KK8^K8C6>v}F0t_l!jQf7~0OmE&TS1U*gU z+0Yb$gYpUMoHd8_l_*OHsUdX_jytC-&_&s*EJ=VqDS^rjcDhE$J5jnq+apx zZPiU2!_H1gCc5Q+Bh{(Z6}##$^^V7{EXndNG0kMg9gKSCV4j!6+XTkTfb(e-bxJEr z2Q~1vu`X`K(zVKqPw-GL z+(h{EnPtaWXA!7K-=MK zHDW&@4bw5QAWvIM)=tG`>YfXw1q;&IJSzZzw*L3O0CQg-PI8Sd>h{M8;;>j~h5c5Q z5;w*Tt4&bRQqEtlO_i7X5-U0t$JRqTMfYT2q+EPD zWaIfW&Ze(S1wavX#==h^1ConkX{x(R#WN?02-57F$VH&%taeU=L@6c?9Apv=YWJkG zd?Yt{HtN;Td)4JyLSlft)XP;)IK}5w-4NY{4^EqsYay+9gk=c+FDV7q`ldnXyT>LB zGhkQ%NI)teO6V!bX(;N}N;vArK;ebnwsU{+w&j&9K<=yDW^#5*4LJP?B`_wGt1Ca7 z04;7KlNSDU?~v#^@B#%*n}ay_Tz<9vvETo zc1k5mW+`>(f2ROh>Poemtj7{|-}YL-2U%D%l>2Ia6$G9BPJ+$^p5fj~08SP_XR19j zxk2BRQha60TWH6kKiAz6?+fdWE>M8xWtD&+ZDJNqtJq*v5Yl#;5E#i{2=4fx&JL&VPl+FcE68O7>Agi{X_b~=_920Z#K3iRZy zr(%3_6kl2J(U;w;`pmxQG6iT}T4gm@5risE7=$4X0{th4+37QCg&2gQ4@Z?)DfJUI zm1O*W#S8gTuRS668d#UX7Ln%D{Ht62c=hDTchnl3c2zvA;IFcg>KFPWw zBy>f2OVs}AVgPCrLG*eAS8Oa&RW z)9iMgWq~57nN5GH@P^#j;1v<<=rdicYNs9$v=uOiD0IU&&hI<@@ zVL2e`vjxGZKMw-3vwq69wT-ZVhMPWCFn$*bJNnR2d3qb)#SN?D(;JyFKKg9Vuf8|j z-LSsvApp|lmx&K*>jdJ2^syN$)SH>=FbG7`&^nG7^@k(DS?)o;w|%tF0+LqcA2htI z(l#X_r@sh+9erg2PrJADd6Cki4}#FM;0x`N9s{7ZK>&o3jRE@@APnAMVL+s9f>6{) zlTLt+Fbswnv)m>+I z=wu5-x(~|1PI|JXEMQ&SsP~2iU`0!nfMF#d29FyNkQJL_H|QP1*`?yVgU=lwwT?X)LOt= zAPyF=0E|N~*fv-TSPQhp0v3R6F}ppfwScui94ue~7>8c4ZLk)w7HEqF{y#W!Fo;`L R9?Sp$002ovPDHLkV1h_2jhFxc literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/form/add-image.png b/smart-app/src/static/images/form/add-image.png new file mode 100644 index 0000000000000000000000000000000000000000..42959927e80c1336ab9e4687398ad948afd646b0 GIT binary patch literal 2674 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 GgZ>9C2!n3` literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/form/add.png b/smart-app/src/static/images/form/add.png new file mode 100644 index 0000000000000000000000000000000000000000..a71d9328e69ebca9e63c88b3932cce2064edd20a GIT binary patch literal 948 zcmV;l155mgP)Px&Zb?KzR9HvVnLlV#Q5431rzF)uL9oRpRj^>XDCnk6)>%Q_+OepKQboZEIyfmf zSfPSq69sWHi`YTu*2%gl=wciMn?EHP0y+d!dgQ+R@g>dcdwFR}d}DIYx!*hYo^!tQ zJ;CQQ{7jFntuZFTQB@9zFa!)#-4#^HiSS*Ok9~bCrZ38ppRJ@FqroRS6by0$7zg&Y zV+$+;$#R*8`6Iy&QcRXp2N;U$oCq;r zPL*_Kl>PPlWA5=catOQq_){gGja81?0yy|Whk|8(`Ypl&@6%Bkvx6B<=%T_2KLCMJ zImk$UQgRl+P+Vt3tQO|$=>kAhd6z zs!^8!BEoSA#r2j5_j?hbDz_z^(0SlYPXdJ35=!V7frG99m9!zC4(mRpqjJ3|i)Vo& zt=6k@$V&-Q_-Z1Uw=vasy86Je(l9cmj~&7eX` zegPY{#s2_cTnldZL6zC;C^t7Pisp#F@j!%zd)s^(3M<}|1PUU2ak!+PTPBHc*fB}| zO@NNKq?RN-US@i|Q1^VRv&ceRml1~jmW;0SV#6_GviJX>TRl%$Ez+9MIl(98H{314 zNCV|hk#%dKPFKo4-8BwPeWXx-633xmD9&HVUX0000Px%LrFwIR9Hvl*guQZKo|z__nDo*6?b51xur4_*ycb{5KBwBv#_{YK|%cl`T-QL z(+?ncg@uKnpm2>JVA&)a3yUo+g^eI&W}*`|$GYck{>^Px+;Wp8zkS}knRx@+un#uO zL;nwGFc_RuO5MwVEw9&mHXIJWSE`68!vbTpCZ)A1&gr40sfcMu#pi zl@sds`&-*PJJTNLyk{}S3-{qm*j3y^!({z=MSjBa>wZ<1l>X;y$Vc zvKL%}>Za|B1f-NN3AnQn55^hFuJA_y_7+i^=vEvAZ=05{cFE>0l%p79d#+ac%5A^m z-#SONNvLpgDdnf%Q^vKEq?97v(FQF?&9<-~7-Lr!_S1=0>T(>%rPD_3wXEzWU4dHv zCcnTg8-uhllONOR#kGz>bEuQ4wevyoZz%g+r=xU%vM(FbG`&yuWdr9=JAK(u)&Q%H jyLb+@x&Eo&ZXDPx%M@d9MR9Hu2luD8U8Uo{mR64>)oA`pOCF*q_=}m{LaYu z@85sM>(B0-xxm1{@E;^MunvN{?*D(rr%&&mJ;=bo@NZB!2;{E6|Nh^2e((I5LE|7$ zlzsX0Z|h)k5Cg;CzqbaJgZ?r6|1`K9^#A{#LFJ%9lkLeW82dUKYy*5fV!nL&`ntNY zbL!@;yPjh!;C;MYrP>-Rvv|0x`0nt%*@7jr(tgNhDAj7|Z|M{`F zvY{2-Q6R_kbu?CSaQRv|$FIhf(-jzV_~NZq^lA0FwO zIakxfLD(#WIqLua|BT2X0}I8Xiu$%K+jc*riGx6f;&K#74i-(6IEJiThRspPApi-23PJQ#W5s@5GjcoTRBCH4%-K!AsZ$s08AKrc)2*#mZj zw2F}hBLjoVpm7ibLnyP9>U}4s|Nq1X+EK{S#3ZF+Y{10GpuzC}Khr=t3?tnLsi^RA n|Kn9-VEQlp_dg>iy^90@e5*@QH5TvI00000NkvXXu0mjf?@2-s literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/form/submit.png b/smart-app/src/static/images/form/submit.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc5392a4c1d3f986956a9766eaa84d866aafe75 GIT binary patch literal 8892 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/form/title-bg.png b/smart-app/src/static/images/form/title-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..48613b815ac7e8b7596167e794b767477c282111 GIT binary patch literal 7986 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

nuAt=?+1QBUAzR09 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/home/admin-icon.png b/smart-app/src/static/images/home/admin-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9e386dc71c42135cb6b4e4b335e141c2148c43 GIT binary patch literal 3655 zcmV-N4!H4&P)Px@0ZBwbRCr$Poqvp6S9Qlf=f0WQo%R0kkF0|gLrpu z(OMCuwB|>YmVikqzgCeDg%EzU7F4oO8u)`&1c4Ajsi>t=q0}_#B8U}3Btt@zVB+jFrY&eOM*$V-!;V+8r0^h)XEL2(?_MAB>l8#T3de(WCmrFInPY@v~|>N;{bfW&Mt+nK;Ctw}Y}@$sV-T`nOa=y)rfb9F^&#EJ1#j z+gt$XmdCN(4A+!_tY_N#gX-!M4$P8JoqLYOlMhQRYW<|k_Y}aF->m~>Y z8)LZ)3(6℞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 Z^BX{`mnI1OS*!p6002ovPDHLkV1gapEl~gf literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/home/copy-icon.png b/smart-app/src/static/images/home/copy-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..319a30c15280f8e13bdd12fbb2e4f326cfa58cd3 GIT binary patch literal 387 zcmV-}0et?6P)Px$JxN4CR9HvtmLW?7K^TUgj}vs8(O@vzJcDq%%^=)=uow*rf(W~qOuI!e2->vx z5A2rX)*yIxgFnF_tl{vroFK}1v(CVw?Bs9eedhhXVP0d(%ciVP1JF1y(Si1!=A(!k zgSO|uzPyR;+rq9spED6)?LZ5y7F|zq%s50mm4$6M0gP_G;wxNLJPc0kIZ1UPSSkx! zcLInr-3PE8!Jy1-wKhPKNxrxL*x%318i2p;fW)cb*mWih_RZJ{IRkfyYgYiEi_r-Q zP(%BBY4Zxa9S}U4=(+YmM#o?|*bGRVm$U40WJ4E-I8$zr1_N*r{i(*g1^)?P(K!!< z{te?)XM&z{A_@&Ku8m_OS(2#&=6w4Py!La8Y6EmqZ5nI=Gae8_!R1%mog$fsXsxXi hQ*o`+eo@>2yaPTY(jn|it8f4S002ovPDHLkV1nPx&mq|oHR9HvtmQQG0RTRd5-z$1h9P*QXm>;zf`O^D4HR}2;q7YLc~ zjPa=v{a8A|x`1+z0JY&ZsdMllWa4_fV zHTON0v0hIci%g?2mK##fDgx=OJtmllk$36Wd2YWvrllRPSnGy{l1fphP%N@FKccyZ z_uJ-;8~80QUCRZwpL<&~*A+-->}!e6C0gpD8t1qe@?3scu6yXn+V4^6 zbeO@}z}GYX63E&a!R{CWmjhp0%kuY0yjO$3v-x42DiioKri~qgvFRc8Tqn@hZ`&G@ zd>@yBg+I9ChYz%v%2HU>1k#RIe(ZhkS{;Dq6_OfldrLojLTO!)<;`}_@T_HNG zeZaaskG+T%U>4&@Fr;yZ-T$IB-F7RNB%1%vPt_o5AGDnbk1wNg7aAvX8|hh@1yQdn z&ww)$T@m<#K|1htaRrMW#RIlm2~I~&L$_R#^i3bsPn7}6>-xi(<+WH0*_9vG6+`dSQf}+ZUe{i@cj3QLYyAy8eh(95_Yf@whzN3AvYl zs@(1WMfY3ge#yd+sX~FT;$FO_6x@*JYcyJu0&DbL*Y$M*>k9l08*ouDVIUR900000 LNkvXXu0mjfUM|~c literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/home/download-icon.png b/smart-app/src/static/images/home/download-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bb946e07a2d630def02f8848a4c66f2496d127d1 GIT binary patch literal 11724 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/home/qq-icon.png b/smart-app/src/static/images/home/qq-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d0627fea89e9c7b10babf952c1ed312c32279713 GIT binary patch literal 3695 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 N002ovPDHLkV1jR+5+ncs literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/home/refresh-icon.png b/smart-app/src/static/images/home/refresh-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fc10efa43422bfe5f8f718dc36369e40132fced9 GIT binary patch literal 3648 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 Ef_W^oBLDyZ literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/home/search.png b/smart-app/src/static/images/home/search.png new file mode 100644 index 0000000000000000000000000000000000000000..56ec0fd62b5ddb7b82a35e8346de886a120745ca GIT binary patch literal 1800 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/home/vip-module-background.png b/smart-app/src/static/images/home/vip-module-background.png new file mode 100644 index 0000000000000000000000000000000000000000..d95a8added87b2e8cf9f556ac232f816d7190f83 GIT binary patch literal 23729 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 R0U6|E5AQ#^SEgzi@_&Adme&9P literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/home/vip-module-icon.png b/smart-app/src/static/images/home/vip-module-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..93e225bbd1c4ab5d27e35f64bb3e708407f3454b GIT binary patch literal 1592 zcmV-82FLk{P)Px)@<~KNRA@uhS!--mRS=$U&fSGl6DaQXO+ut>Tc8p{Al9O76;fJ2g0x@*7HXlD z;DcziM#3XNBrzBgG(<=>=(eS$=nsiDpi5r@A|Of-gO-p`f@utf#L^e+UUT=wKJMPV zi)9y@w!5c2d**!Sn{Q^$T+l=Qg@=6qbYB3xRbVjz(whQY1W+6k4j6CV_;AbF>-{5r zU?UD--K?xfN5}CA1}w}VhWF=GU*C*%j3kH=1yDVM4Ds>V-!YKy+_*mg0;6T? zkzbbH7XS+^NzVzUnasF@;o+vQy8pQrsi8M!XVx)umG{&G05|~=Hf=s~Zd;^l?=R1r zDwAQMU^s}Wqr%#DN?8L16KQn3(R_#*^L-58f=ufV{q|R#UPG_tWv*w&E+3Z(V&E<# zRJO78+#$Vd*OlkL1ETE=7`)69_AR&CYEWV^?*QmsKf`YNL8u=v$~A|>i0{?hj3N^J zjQ|UM0MIX!efFl-U(acQ*t>9s31i0811M5uRYo<6C!2bhk*;C*PqI_#feY8ps~M}# zwPYDtJ_*7&W+ny^LwOC>K!7HCXlQ8W2HS;RwRLxw<~?ly4ls}ws3p%B;7-i5n1%(x z5NeWpBZC0e*Z+KVudlJH-1PBAiaW)i4AMfl%q+#*QL05VDQ%JmWzM)6%>$^Ihb*jL4~dpCkg_gCSqTZ&i|9O z_VAes1;Fm&C(QEbxCUmLtH%{V{4M5L%pVKTI{l}|-6T7fNs_2$pvLPi;aw(}5zoN@ zwSsV32s8pn*0XtK4nVai&M=p zoJz)0Q67jaf~f&Z@=TMMi*oy zUJ^a`hoKr{e;=B0XDmmh%QjPdD4gP})112NOUz?Griaa&q04*LO628*U7bu(d-YDV-6 zXR*u!)V8vr{aKIe`&}uY&rYfnfa^x3JElih0|2(JYG~W63Sd!oas`7v56wXAH9$;- zmG$lI>HsEcTj@a?|7gqp)={o0eNow+5` zQhOMr(W!7TVRy(`pPjjKNpF8gZQhRgGv`PGN;gma%IUq2)A7|!owEbi2mv6)%D{?n z)v4V+!T_}L58?f)rj8Bz08C9;!;F2w0Q@x&O$Jz|qN?W3qxt}3nudcVsZ`W9Ie*2AuXDku1j2SGjGmHjqk22g$sIZ>Dr3-*EsdQS}b-|RP zzHrp@z>jO1I&;-D6tcZunv>cnfbwwBVI=xO;j{*#52~BHY9j(rHZ5%}GwtyQ5Su&z zI7+IUkGDnyU`bADmIVABnt`a*LUw7ukx=#Z@qZ%%piEx+cv`Oj5`$xOR5ftA=3v*X zP`O6)5!15iX$P55rd^%h-}?Z7ov$41di$OLEX_$TVV28;(tUPbaFq1#Dg#{Qf>I2) z$L@9`m`IT4`2Z2XuCX$oU1fx%JZN%trU}d>Im-(7dQ2oa?YK)42R^C!@(1VRq=;SU q|C9*P`s|24rHt05eeFE-0R98pgH@VUJuv|Q00007P)Px@JV``BRCr$PT?uehRTe$(chX4^NW!LJQC1~MHzaIH2L}zBG^?P4iZfau2qRTk zPKk&MYAG@Zs0B4lg+XDYh7!tcP-a3F6-3jW$d*bvVF#6nLRbRCkfr;-sr#`*NYdT^ z_kZ0`Lpx?dkzVqL|@80|Fd!M0|QNoUdsBot8anUz*ohZGjxUs%zahR9l684f8qCvGHT1}g)`0~iUwAV@D4 zfZgCcn}^7m_OYdVz#t2f?U$Gq0sPKy%+Yd{Yz3rAU`Pkh-7oF6GnE583!GvSsa|Nt*H%rcJJi9Reta{VG#mM za;_;>;%qB`+eIkV3S}JT98>Jp;)8m1(+zlXwt2k7_!fY5)~ihG=I57W&Zg&Ei?{31 zQy1WtY||{p*gxCg!sst%PR{vX>{iDHe+BprxFy%Lka4!c-;Ucj-}AQg;^qE~!7sp5 zvQ6ajz2r}aHw+KM8@9CKm$i;ZGvFyX=0yPB)Y{Pv+FtWa*93TSPW%%Rq;)rt+oyLP za4^iar4|26tsvEaC*_zY7&tx$6P7wvt7B_#SI2;^1v>SlQm$2XW@4V0$T4~vt`hB%G9DD+9$uVUx zDB*fL`9Oe!ueGN;=J^eHQm%Q5frCQ!c2bD|=X|o=>iDmx<{oGG@ZA29Vf?0I0DV;U z)!ytX0w;~3uDG44rIpPA;t_C5j%gJGd%7J(zYthqOE0E)r3p0)c*>Wtx4~sN2(WO! zy8GQT@oL%SjLje4bg#5oz>{-KnG_)U65N zmR!?+7-v%hH2`bOM9k_x54}5x*?~J(a~2yxmdm;PrrlcdLKDCTW)2MN9uj_v zfpyU=)eD0)W)fbCU!vJg>(SxEA2(t3p;oguQhvsHrO(j`M{8(I^)oyrJAOKtv{}zU z8}p{#oQBuTD}oBPTZhd*Y{Z(wZ;Kp`|FXFJpv_wH@%4b`m^MS8D|p*Y{jff1Gsx|0 zDSF-UBC>z>7-a`hExyH;?s%jg@VF1-jFC}NITN_^PGAr29Pe>ZKVLb8e;j!m`_Au1 zlrb9f2Q5HK_c2~UARC==WEFOv$wig33e);Lf>{GR=ZeTzf6V@X;>Winaqvs!&gvdy zRuq$xk{v%5O!`ukQWJVkQS7!iA|S}Ka1#YOTgT*jeIv;ITX%HLbzddWi(698Zu0h_+BA00jwFZ0g2HgM2XWRr{rQ0_Fve8BbN`N ztm-5#)?HBeyBNEHertJhC9;$p^GpD$xA}c3?aL1P;@A57`I@uJn?km|yyi5>q|u*2 zo$f$PL@#tPUOU-xrsfPzR2~7%_&w+Im4^~!dYoCZq zMFF6L1o$~x$VCZP>lSM5kHYks_6IRIG9GUX32ag-aG>+E%#vgNl>x#sO!1LJux`{Q zt$6xuPf_N5g0iX~75nb(p^%3|9!gYbG-xNv6N%2laG*9IfRE`h7R!dN5`{Mw7cGEM zGAfItC!(#j`Fmz5Gm;|KzYkyUG2~ycZyxf`!wRrdaXAc&j7ib-l!ok1mcQ> zHHtUW95qZ0)2@`aMVN9v6L#Ju%9fuO?iMy2AkD}%Bi8HM^`V(dQJ}BxSI59WB!NpCSgXuIiOvnmLhTabiPG+ z^2!q^k)cs|GhwynD6};IzW!K-vX1Db-;!5i)3e@`dd2iNP@RevB9k&CY8d8vaox1Y z^QSGOS3I^yJUe5=e;Q}&KGwj3g2S$r1+Q~ zsaQ62b^Xs2?NQALRlrg@U}#jL;%8HCyCG3Q59PeK-L*qk3fA8VMIrvQZ}nejL{VnB z^Gavoo5-F9<~Ap8pf?_0r__8mCVCU7K0Gos8WDyF{8D{N$$PI%SmU#9#a~dp@d-31 z`L^_8%hfW8T+>R%#TRk92SOmy4Bd6+D|iCh7g*$5lTRN^BA@;-`~5<8gE;4J*{$v} z3BiRxjX|NPvx6a`*%_?`K&n%`_ZI!Hx0*ibO?-OqTTA@;7o-ql5Tz z=SIbxq(pMI>0ybn)>Fyu1sRH5-$~2}$V{i&MXCl6O0qo7Hm>9ol372)$*lAUi6FNj zSogr{8WXJxuMb%vwCHHz{-aw;_>>9 zlpHgaH$Btl$KC=1;GD0tTOHSqYBbQnBj9)Mi0fEeXP|S``u(jI7<3DEd9tFy6<7L@ z#tUjl;iN3{6ob@$1(TMCC&M)*KfTmr-E;dTV_MMk(N^~*VIH@tgo9cfxXVU9`s!E5^yZOk!Gsqv2ecB zW_4)BK=TZ5pXmT+{5gA?W2NSYr1z@4_K$98hurTOe$Bj?CW7OG_Rq?w17A1b)Qu(E zJeV>5DZpaYb=%fj@dGl$AM?{32lQ$#1aMNK{nKFT9)&Q#uPvq~`U32`H^Rs70L-za zJ95-Psjii9z?D=$=D^NUNW@YG(9Qa7EizR;?!E;L9nqYj38+c&WZ5XkUR~R9io`GxU{rq`tnxbLGwU+P|H6%xpZUsNtGCSR zTeb+`*Qv)LS-y%J!JN_rFlGfn_g!nd!QJzC=_dEx9N5meD?2~EbT=4e_3(&q+46ul z8dJiKgsAXpXM!a0I524d2l_Ce7r=W1ECxVmBbGXVpW;9nzPx})Ja4^RCr$Hoe6XlRl3LjUv)PSAR9pqizMLqoJHv{I12bs5D-BK1PnSleD|E3lXQJs{p#k{UA}vpaDf#bFu?4|NVy7ZwvvR-1YE(Op8>cC%ol+uEg)oO z7l=*(P<|ME5VHIQF$RZ(T-(F^Go=|Tv`bL*&nkWDv3q5)v;4WhP2#l_5r0Bitg zn}vB5RaRCTWm}J(^9G#r^V@sbH-Q*;Gf|eF;C1ORZ}KwkN;*&A&mVArJY)09h@^XU zfr~?lW$xRmvT|!2CUmQwH{c>-7SP9xSxge$srwFeDE{Pu^TZCff%q=~7SoKHnavq7 zAbG}&d95X(2Lr#??kXapp5&EYE-OpktK%7}R!L|L=ZWdVL6{CuPk%%*Pp4TmPlSQ~ zCP|d9I`TLKgMk;?Y956o%~DJ<-tw|<+9F4XJ#n~*sG1Pq{9wCF(8@9wB#jO0nRzbF zta%^+y66se=&+6_!{LzAKcra!#j{D*T|a;wiVK(*lH(A63+HS~jEJ5KXNDOJCP&?w z(~mA*ocW_hS0Unt0OtuQ*MiIyAY7_FAbBlhS02rR|7LjDu-4voN$&!5vvzy2HA33( zBG=;pO^>0u*T>SW3rmy#5!*v#iMWCDr1U!hDg)3)cOcB0;NcPUlFQ|<=>mG&wktrm zNw?hyilI%4>j_DsX|en;PzxD%lsi&a#*&S6JucupG5vV}6G0T09VIyCU0}~pnsw^9 zA9{X%l9zq&19YR_8w}e_1Py!&i(G#J=oythWM+P%yfjVRyXK+`6i?wL zo{(;bL?vpB8YpuLkaKB-8T(|Vm==waIMVj@hAGj^F}sB8E+MtIvDYer84w%8z8!!V~zTKB{{e}%BDoIF* z4t!Gj0|33O*LgzpnEy;OYy9&boIgC%E4TR&M88n$FQk`JR6AV)Kdx3krX2IkveL9k znt=1eNnKz``Vv69m=0Q6K<1e=tHysr0=h?TBVMFGR})H@>DlLq*vQ_OEHhubpfv6C z;CLd|aGsd{Dv0hHTV0Qm;C%L9+o!{AW|x#mSEuHi)x=|aM&6d%T|=@ zTgysP`>F!YkEZs9N!kXG6oUa{+hcQ=hRt1m*tO$&?B1jkT%?2I|IZMjSg65 zE?iKWR^Hrh*c#50(#3?)Ek*~B5PQrkaJFU~y^M3h{+ZFEvrQ&RG%wka{DqmGodwXN zhR4Tr*nKkjvWg1w&-aH1{--wG(5kfwUXU{BDi)l)OfaKf-q-wh5KK&p3|c{v5!XdA ziQhqxnIL-ba>L)P8f=Kag-oMO@w@m;6iNJUZn7h6h->BsJL2!g-z}bf^z4tv8iAb| zGp2``un|OE!$Oq#21{k-M~&ACZ0;9G!o!9G2bQ>hNV%(`g8ZvmG5g^O2%<$y^61f* zc}>!W@X&n&EpNZOp)rs`yZc2D9x^g829=hVB;OZ2$MTZ}F5sQb&Aq~8v8)H7Qy|Ph z-~~nQmk4;!DBv>qe-@OaO$cZ2Ck> z78;;$1keEpso`@#@b~F;#Nh+W+1P zPm}CjL%=1>Tx<5FT~tv_b@erTQ>SMjkpZ)1TEb-~WZw|F?)bM_wBnT&(7|SERav>C z(N>||Jr9H;?Y8NROgwhMywtxo*Bw38)td-w3GgRFvDY_jS#ieddf=NoZw4V`7^*!0 zwHmw+TsN5d{qUVyjYP^76xEgx*sjsXDR||PWo79BEyJj(wf!ad-Y24z=JsT!m)@P6 z`Y`c&v_YHBwSY1-X^FDCzGffur$e-a(`Y^l>@Eipjn@!IjZem~g^pDJ@}JNhUF;ep zNmv0OWCsTWyOuqf){A&^<~1NGKv9EZjiUS+_{W>6U+qbaiU}1jD5{-L;6hbS7{|Qq z8xovdn^#;jiX?h7NdZFF5 z07TJ~niyY6Y#HKkv^^LAduq+SMC4Frj$#xa%l8v+>GU>02}x!9>jg!%3ke)Cp@+e{>tGtPxFk8?y)(MlbstHXOAX_hSaCDcYyn)%d;cbuu&(Qj zrRaO)4ia;Q7jP-GyI%z%>|zT8+k9u`p^Fx!`x8yYt>jI0Jr2UNYGF6r{%QgIAV50O zjAId$7h(1H1yl@8xp%RwCgOTQk^40QejjR^H@cprq7x3rq<3P;z#sF#ovjS zrmCDc)eaalso#+Vzl2psqe`%#$o)D2cld>w-j+D|4u^w00WZjBT=R*cuKO6?v)fqU z%ui6iqY-x!lM! zza#HPguT1_1H_o!*kmzq+-|Kt4~rbyklixfmEOujD~Z_P8B{(hYWQ|QbFTFnkaslo zIld-hn_ZRtXFz(k`E>?=Z?`&w7Id}2NVIg`v$YxU${!HHngCzBiMM2~0Hl%Xjq@o; z7*5w76$`WBn~|#SGYAx#$;5ormgDTK-dD>?=1w`$*=(|W0D`Iu!eYRrx(Gb zE+>Og1D|gg^*hC`N)OXOA+A2Vy}g<4l&Z?v_cO25642{O__g$ zB+ZR&h>wGOL#WU3-Qi@HE``Z;MfZgOg&89IH4fXX)q36+vBQf)qH(boKw`VBEdPag zQzx;VM66~L{-2m^=g*6MC?urXY<`C_l(#)AyX;5_2> z7qv$lv*;Q|n9pS=yuQKI|9IGK6fbPd_Ikn6Ul8&-M0&FbuKNbqqQ5sSSh zlHUWMa}1&_00#fC?8)?w^}x4g&Hziny^5%dy>s?<$!Jw)`5PehR_~gfHmfsg?zVbc z`XxtAaSb+^A$G+Xc3fYqXc+YVvL{nVHUb|AR#L(03-jmjoxX|syKBN3n)^j|rr9fr zzUnVyISRV|t<72;bBBUPo0`P)ifc!a#BTzu|MUw@9vhH?9$EHe>WfXOZkKjC22chN zeX)0bRaSRq(;86htsNn8F}|_oR9`MWAHOp@M<%B7oC7;`#IH+b^iDer05cml+h!Fw`^Bd zFBwYB*1bWN!C%^~PGuA)fJ+3C=y*bwd^eU`4}GC7dhJpppE}akOiB4nP4}zaihd1( z{N=LA8CwE?M>AKlJFBn6(kdY6pk2)|@IIT>sXXaM;PtNzoB+uK=jR;!yJnOBW(qMA z@*O+64Ti}i&Yv=1-IMp)tWM=c+Z=eqYvrhyJOdY4j|3#y{G0KN8E#bIj$J)Qfbcee z)-f%q6ZpH$T76}B;7VOT3X|O5an+#~&8Srux-n7_fjg?QZ)cVk$4cMQ5(Wcb*sayd zVFaNyyrG_h50gnA@Kc2z7Pw<~_wmdqA%i!@GI)>O>Qs(JjRai5&Nx^H+_0$E{`~l-n9B37I^8d9?N1)L}{tnjk3&KWzTWu!~|Ziu)mHmFa-L$z6p>h;J{!# zv9yrRK_t^<7}#{OMEDxMtJ|+YrmDyjTKd9e@J_qcshs2!wTAo6bF~ED^(8rn0~7b( z5QYpCDjeBl+wKX8tEVqDWMWD#UU;Ip@ONNJsvx`#kU&R=i0S*x$s0$gdH znfH1;bYlqg6+8l9v6-nw=S9>#UFwfq`XpF3YPWD+Ro0Crm_AVFK!p_XXSSZsYqSDy zgidWe*E_B_^3MQI%Xy%Z5)CA)h@gc;coA|9xMUd33&{ibw z$F)30;4R~=&VF$LukUj2FiSi*1o|qz3|?mbyn zUIO~tO2TGa&uV2q|M;C*{fKCj-ulOkZKvDU4tf3ZlVZzbQ(4ZPL0AW{>O;r$#t@*# z{2E4?{t(NSsv6#Cq@=3bAPHu1=&ruxPsS!&PPK9*U*Y!bK9UK_l%?Ln;7?Dt``1k& z&?`9uW)@jtx=-)a789*SGKM!F;6&2b1Y8&qb1VQY(UaoL%%9kEoXUc;5y0!4bl&8$ zoW8l@%AoCt%Q+d~l^|nIWRCa%7$4&t4aGQ8brObV;KFffRge1!EWTJnlRkkz8gF$f z*{DVVSD*tQyE42(D=rOMsancOXoE_C6Y|vtV0^9|CLf_k67C^s0@mEX{HpE+4CV0O zsGC6po$^MT)j7au;Pue?Lsy1xLISYf zFME27U>`3fq9ipjf_Z~2$ElojZ)6Q`^ev#bX=fS!^5x$sC%pN~QZ}KDTn3P)!__0+ z6VXbX!R;6qxVudagSdbT2lIAzyUrw;-vOW|@B2fWwR%vZfH&Om>elVdqeGyJi_7^X z5XW=26@z&ec1Vvy<5v+hK8(153q$kwbiags5GQ#KjrNoo_`q(h9-Ls{!u)D@_vbpU zM!+sKCAQ_hsUUh%O>GR4ISnEkMw0)8XB{?-UB!0n&VCFsO>5X*5*iQjT3b)2@-;Du zXi}OxWX1~e?Y}iF^cDONz%N9bybB6`8@!&oF{X9gCl?t~!>xu1;>B0S)EE3t!02K&?~;GIdDf<=*zwNfb@EVIrYyVQvpVkq2D@~ z5a5k~=k4m+MIy^IfbOLF?&Du=*6QIc3tSl-z0o=6!0(F1VXDDp1rG!BJ0R5evzj1E>d4uD52#_~T@SH1b^d<=uOE>vn4fc?AWm+&)z2UB ztzEiGt<6h8Wbo$G$SfEvzUjNdWj-*c;yj&Dbl!kBV!3Bq=SwXXOMeCpC13yuMlM=^ z&5SKz-spq8dcm&`9noDi4N^Ssz=QAO-hCaD>1?~7fzewc^aN2ilKJ9>?-8Px_YDq*vRCr$PT@Q>D*LnYaGkb9Cp21L@&^A_yz<^ayv5F;I#WGcG1L^%lWLF`IE4zZISZ4Qj;ncVa5@-3MVwosJ5S7SOr81GJ4DFqKQmJ~r zLj}X`a(`ytSH0Ok%Z zlff$mV>yVH5o0+McMxc)n`H)HC8j(R2EjaJ5C&OLKMecAux0(n*L!+KXVVsGrkRld z-)GMMGXR?j*a*S~0FjXRvcNdcz*zt%N9?iR%=8185x`4QJpUWS*v5n{06Ibf*pEz} z7=29WjrL#ukj|X3{3e8be_8<_O(s`ZHthy+XRT@odt-j|q$&baPsHTI?U~Gg-}tcZ zPYdAVyHbBLVc>57N1DS@7hz!_rM$0AVE?=$>EDJ$)Qe6_0hbbO+jtv966o1~G547! zUTLMow*>Iv?b|z|3zxi3gqLTbMEgB>i@|Rfzr6ONuN*&~_ZzHxKXkxH;|( z>oPN|#xn*@@C)s^%!gs}6&m1Ds$+}peG4#lhsofK(_%hUxN+^(u%tZ{z(;rOS#6Q% zCBoVn2dD)MFymsx$~q_?2qNrKM1n%K!E2H$pZwECf{9qG5BCd zHnUe30ByjFiR6zNv`=@TJ92ygN!J3rtg{c@k>Ca16u+RO)0F`)TO)mU(FaoX5m;c} zqH4V;0WR%q+YsmP0@F_w-$i<#PRg1bhK6`$ayUyN4RSAQ(AfuKGpDpg$zg z8UPy@kpFM`l82)ad+cGq0EaK&g+%II0CV!VPQaN3{gH=PfCqI}oVKH6ts~yig3eYjr5Wgj0)F5LKz>hGI ze6?GdPGJ#vUo@Nf`&!;h>Sf-ix;mXL@lZ!k_XRh-DS#Iesp9~)1qUqPOy)io{7%Qw z?o;(BIGZ--{SZVi1YALBnwL}R=FY@6!!#u}I#+Kjo8ImT_)O?-X)6m$?5&jquU!=q zyI%u%zs{}!T!j!nV1aWc%XjkPVq8hcz|~>#b8#p>)&@Br{(Z zMLe+ZXPK++ImLMDB__y#i}FQ`x1+iA_oe_|PCxr^0F#m>l__fsBD_w-!X zm{uLC8~h-qjg3r0x%aO|=Kqvks+56)9oh6Ge|NsKa~VbE|F0I$jG^ej<@+nA-KvBa z5~;tG8Aw{hGzUw`Vep=Na@{fp8u%*2lPM4#Rwlq0B;rGYaTUy#VVP&5|9JR+-1AFW z2aBc3SXut}tHajV{k6Uk-M6buYfCJf{<-{f74TvrC7J#W?G4^6dPtQ==9^!eV>5$qS^FwRlv*Y zWTaJQ7cuwcZ(MsWtlW-5BK2`SN0WSm2-Hu6JTpd#(9YnM-sT+l4_o8wDpFi>XDl88 z$pexjjR&JOYNZ%YeV++$>HrQPKWvTNC)aT#JioK+2{MgeY7$WzUi;Bdn$%#>&3JsR zL6J|LAe;qPj#~<1J#m62w#2 z#F|P|%WsH0Nte>5YmVT4fal}!%|wxplop#j=v*wDew51k`(~JqDgk@@Jz0JGI>06Z zO)11vA60zbwVu5~JoS0iC0$3tgQ^rTj}F`8i^*}i8*Tpc|AC<=Doxq83$;24QX(|6|#)no6E?NaLZ!rK~-0)XQYJD zGj5OV4HAeb>`J~4gWmAlpmSe{-q?}uNwLLx^KNt|*O(@q230H~CF)v(f&zXbmQ8<4 zWhF1mAPmQrj;qub{Mf=H8QE2$;T14g>_@hGp9+cO2x@we_|8_eOq?2f;&ZiXButmB z>N%p`snKhn0i!y;u*oE(KxQG`vhVluJx|ixiPUMTxH>C080Vt{mmgJWogrh0Mr8iu z7^kzfA+ZWM^-Kf463b@pS3m_?>Pm&+?Y$3DA)fpfxBoz8ek_~zO>-`P+)mfht2pBQ z)+wbClZ?*G6K0-ZKN!u{4=@ztsnbklA9e%6DttR1=72tLzdbnzAJtdVWmQaZ%GX<{ zZtSm)yVHxwd_1+82vxr`1J8A2)9=+?E0KI1@c)1+175O(rU;84pnmtuM|;hxH0IG* zF0;UocrlUuj7wDpw=d>wESKr3ojcmq^$lClZh3rW;!%UC$0~BpCE-`u8e8XOPpkN- z34AG<%{=JGw@JedGdx9@1zfN^VVv7aedh$nANJ;CuCvFv2`t(Uh_ zx-ut<_|R@1PZY!oH9M~@D9ha={*(Z8mR(d z+uK#s;C#(E#>rSN{getQWjE~SVLH^Dbt@q@`DfiAvdsS&vB!VE(NVl^IvR6-ESGtp z3V6+jvGVUK#ZZ;8x4OC>7i^sI0#oujVUItw*p*P(2>5b6s&ZYB%0n!VDFu<`UxK7b z5My67m;O7i1-%44ZuLmjX8Dj&NAF4h0$gC&bh>=f|1xvu*p_4sO zOr*ZUKvQ{-o^P5v5h!S?8-q{9`v3DOuT!H_uCa3UFRO_)6>c;v2CohHoCdG5Ep~V% z_t&FYOeDT0V0;ohHqcPcC#SkO(ikwA)31$1x%}{WZS5m79~-g9cdDok_g0(}=mLHh zhT&DEae`p)Y4qmRLQ~3|T_RKcnk$U;zACuQX00~LK#JI2rRSCaHqFR`Pm z-TrXCVhG+hBqrYX1D^lt`QIzFSqXSXint#(@72-Qj`1L4sw-E0L^7V*s*8DRtek~g z^@%i_kk5>_V*{68ZRC`4KBS1ql96ZJz*mC6U^-`*qTjZS>jrZ>8(2!9wF11!ae~zi zh4Cqy@lI`8u?lwOvTs?jSItFHnWr_zD{j#%5=Rx~zrLI}pu&Bz> z~N(*M5pjW1&fvzeNPFW4J?1ft?D^Z;qbX?=IK}l676-=01?vAIoO{U1@yC zgPgaJrNY><#nOV(Zp!+?i=^zM{RZr>qSzY`kNgo>gnv7ilV99`~o#xed`b*FgXcs2m2!-G~-Nf~hGBU)#as3N>{Ci=zkd=HXx=PA9 zAQ{F#w7UFGmoM${j6nwWc=bEfrdOU2nuNO@ z@95q{DG$YbYp!%^mSM38wq8}OKMnGrTO#4LjFbb@ug&J4=w(a%NVjR(tOdNnnA6S< zkrbC2Ew;Snst+KtdbkYiKx`gVft+NN&|)Whwbr`VObtJ z`=1t-(ug4m{(aQ8(J<*R7$o}zZV1r@EPv7aJb}*$n}0RJ6K7`vWcU7O9PrwQ;Yhz> ztOZ5Z6JbTUspC>+=Qozyr!*drsdaGLo(_Uprr8ZLV*qSj7#8B@@}0000 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/index/banner.png b/smart-app/src/static/images/index/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..a82b21865bf51764934650ffdf2d0215331c67ab GIT binary patch literal 217234 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

Oj;9`JFkw^H^X6=&51j~lxA<)#GOD_ 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­#%YR~@vS2G4GAkGL|Mjw)-k_ee9H+PKe7eTVfDiai_m)K9j0wZ>9MTfJBUc9`f7k~YRU5D8L z51H7On2qz%UcSW&+nS72ttBf<4RA?R6`lV&qw~*+mR}Kv9b;4E#;YfPd^C|T>a9-$BaqGqo5nn!^NzA@ zOZoDOCYNuhy1t-%v!s5zrDnb1@PkOjLLR%MrhR5{e2wKo1cm!FnLMVW2M;OFX0%&2 z)ODbqD=PDh${az(4|L|^Wf5_qlHHbNOhY3S3r6+4|3d?}h_ryP7aNZ4*0pP{1XAI( z$Rmv~7Mu|a;CIVmEqKRhvIPdX9FHY1uQFL=a)wSF#ep{Bwb8~vo85=^a7QH4nV8^} zWX2K?m~;oi*W2#Gpo-hJ8Ei5`B;!GMX4>`|!id2z|E{q`^=NanUvI;_w*bxXs_%fA z!^-N~XBgTg7BgT|!WRxW-tr=Emkf9Ss*C!N9Ur{+7~_nIjI4riBtoEm99dhm1F;OL zp?+I4>D4!1rUpHf9sYhBD3u~pFm1?U__(3<9JbZFyv6O;?ALYxw#}i1V>miJE`wSy zxWeRe5PJ?+W0{C-QHr2QcJa0d+EJeC+#plXdrWeopGy#P^rbrH;yBl{yT<$~)0<>$ zGxpa&u%;m8ND9cT*7P*tSe~$RaB7pxZSp%poY_y6D_E>v{Rx1JNHzzL?$Gi5Ic10d zf!Ly8gW=r9vIvn;@YqzwIcAsxBO+PmY^_NS0L?@h80HC^s}qZ~VU&Qtl$SK0Rn*iC zeg4@c<(FHUR)xgzUBkJ}m}41?Z2he3ZH-i$Cf7=T%ED(3Uq-&`rqZq-Ga2FZMcB>e zyrcYXjGdZDEfQm{MoLm8OtdGQ?V@nN=|E$|z#8ioEGRaV698ZX@otG6xtG~Yw>+hr0*!I*O@W=9 zCB{hf(}HQ`m%J{iYyg1g;$3r)*kKdoZE? z?0~AXLn==eRCfhkKFjI+HyLfA^u#~&$=7oy!z#(TWU#~=Soga^tI#9-6>oGPov0~a zuBo~>XC}B@UsAu@P`hiW+14CPKv-Rk%ArjG)6syz$V5V!^gee4k*$rX0BoF_XF7ne4-w3p@q20Gm<1He||F`vl2D z(H}4)oVUl6_eYF3Wk{QssBW4<5a)EobT6m2OL6M#;D>!xJ*L_8Lz*w%r|IMo$6jj@ zRNCTN^4%h?ww;`L-$AG@|6wBFxTK)z@hP=^L+#Zo4o}gvFKJglryV_~&DH1B)E692 z&_;$BQ8CU&O*11G;`OM*iCOu<3he(hdn(6e9tXim{V=qu;ynqT>zN@ON8a zMy?rxoKVhf2wW%5z6`>HxBZ7DW$@%p_`WACsV*n59&ubdjB&@7AKVK3t?)>GP1 zT44yD$6eI?9a87e7lX!(kaQnP4(=T9y_;^kt*?Ji-^oH}ZKI4jYjB~(72Pc}w+wXU zZx~l&b>jP(bCMgl0jQ~}ljSJdlAgikIjjt=>>wkM(^$8%S(WcNFg*Wm@p_%C!GN!Q zH*jPNj%_SyKu~(<(;6N-A*-9o5lrr&;8!xVK>{IB9~j``Cx9;j=+3A-)fm2(IvWv2 zlUgnE)9!zm?qJ;I?8 z?bZ!tXX1nt_yc{1SPqVGm561hA{}iK+=sou154{ouYyx1w)EW?NNJtyGefKZPwf>^ z`>9(~R2~uPr?Fu9c@jKXS~Cva1HNG;3w73C9D9v6Yr)9PI_lwv!xRCm$+vW#b6@&|6W)$^CYxDV0j>bRRkNUyNii8TW;X<%NIwLM$T>gqw+ffSu%rTjbm|_*L`tsPj8F;sLl~ZCqmgl0~!oc$Yau)%^ zaPn)~jM`#O{lhaV-anzPFQ`6;lpv?_n5a0ybHs5Cm_njBNU{leqR0v)#)$fi@FNYd z$GI`Kril6g^Q5EvdP&vgIaOB|41#Hg*ufj#z=911XhpF&VPcK2I_t|swSKWiw{~^d z#egt7nBu`T)w?BaHZN(t{(`ovFQ}=JsZFE?95T@XRUr=bq)pfj2_*}y2mrC#Z3E39 zRT+n72oZTilkx#o#RJaYP!w|xZ_C+v8GCA-B%re9o=}`5JD*^^>pt^MV~+YB`sh4oVMF9souS!F7N2z?isCKzTvPU zVNv3ak4KXHr|QN8aLD4t4KxaL(kPFJW>MMYjwairfF z@a3^646-EA5Ph%IOKhb%<3+u=vN<^Z{^gYNr6j$GVs&w)2D=17P5*rl7K&Q`G~UV9aZ~>LBz4 zf&t8=zYHMT`shyw{JQME_v{6qD#2cX1?H1vWFd4R@ARExXAO;~b>h$>TOS%g7Dkj0 zsIkdGXJ{e|HdQQ%t*Oq}A{XFLBRD|hksMMS(enpR!~QIv!U{0MdkGyDw{QDtfYEN&1%Ony6feNx^_neUoZ1EOa*>* zB`g^D>v&W4H(aUnL|}l#^sTpVXtny9+2Gyoxuh)S8j4+t091Xn0xfPVt{oHEqUa~A zYz%i4HFVU`0Ex-}7WsseH{K1_pi zohE|7Oq9(J8U%uBNEa}e@WLx<+H=Z|TAChj=<@oxHde)yJo#cnTzHtDG^Bn)`_qJJXC#0x;d>d!PG-g6Eko!hDQ?9i_aF>4=Rf^%@*0VgUB+ zPlu1fqXw91xCxP_O*1X|@@0{}Y4Z~8sK-X(*`vR>y59tZO)HuJD*;FVasVabb&mz# z8@IP0_Q5#Xr_~1y80=}}ki$^6SNCOx`VI|oY^T_NarBJz=q*hc>nKNA4okqP0}BSn z!3D@wpbN=DkSgd6eu1?ym2_e}jt}D@PEz61?S1u>r^h0|*}rrVv2kNMTwav*yFr8o z&-4bzHfD~+j@Y6kzw75oyk22fV+b>i4hv8KzY2I+ zx@4?x#oAt$Mj*I*Sy6E!;MhW>A#sIl#57&9Cay>v^0@9g0(iaBKM;EA%aXFco${+m zzv_1hVzsCPve;$QlI8~$ZPw`Do@kfR;&4tK5*S^>5yVd4%>E|k&e5JWDm@rh)+}#n z`a`1f1evmKkn7kcn%7tj_hi6|>r&Hdaz(`*4K-jkk{2ao=i)dv=cq8XSR|7 z2GR14!o9G;y*<{z+26$GyFOJgzt1?>2GC6p4C$<{^8iI<~N z1nI}1-FYKyb^^fJz%qUZdkWICB-m1%IOJ4NIV)*?T+w7v&~CM&>)*Vf&Fe2{y?iQ6 zv^vZdxg?&*awH7n$j>TWD0s6jc@hLG$vr-Mnx5ISGi6J=`kFQfWw!pBwwtf1sh1%_ zmt|H7Q5)QDRsg=oqhYd#vwYDfBN9hWd3iu(bxf1VDOHnGVT1K}N#?W3>ky8ED0}by z|EBMuvtG1RpUA=tG z$DqdMGN|1HS_+62nnfoS2N#0S)ERegg3a6543t7=-gzoGW;+ei@jt7SjbU>l6}lAkkP)n0hZoyr>851zcl_9nrGvO(r|^c7F(d9|4B^;MSzXWi zdQcl;^D4+Srj%J<4ez52aA1fX@D;(Cdcia6tQ+F8p#Hp}Y1RnPMY%4XFN0Op>_LGyD^MEzredq4xe#KC3zeJqf{-;{xIhd zRDsRa_mE+$##jUBgb^F;LPoob4Q-FEDLc#v;b4Qsj6ru&znESvEwmGNi&E|*# zp-H3|;09c-;l6aEW#E@Vvh5QXJ%&UK_&nDTU1164@^UTsiz#43f(}bZH;t|_bd;h zGq4;~z_4VB1GE6fKy(lUM1Xt&HeaHDA=y|BscY8rcVObXT718dWQgSv9Muc$q3Mcw zd>Y>L$2z(MGKe#yAhVSxVaCy$=7f7b zYD*(i6Gn&*FvsLFg>Du)r+j|E-iIc7Pw+e&N-awbrrfDaO#&xu(bNykXa*z@2PKQF zSyy9%Y88A1t(bdvXKBS)c_EY==wY<$Y#dC1bob`~^nh--5$@cGs9an~kM{#Y^2Xe) zQZ_xgd1W!@0MG!x9AUzo=`<^qAznLH_CAqrqpoUxwSOF5#12*ksk~qJDMVz z0>G_AQs9tb>~Q9qASFDnHj5z_pCURY7oVAa+Hi}q)N;GU$dx8#;2V};eMfE}9XkNkycjfuY!w24^+bWM z(ZJ1+7ucZWxVLy%Cixny>GY@QSn8gC63n>AaG%V@FC zOI-^lE9H7_ECklWkR8=RygZD#s`NiK@)_APpbhx-9 zfFfJOEMpFiA#K+n#wbQYkfsqGpIKf#(zHQk+M)oNBk+wt!cS!J001BWNkl)Y&wkC82}hGO%E#imef zg@M_LJ4tQpo5h!NLU(Y`)x>Tq|2yU5oCZ`d)U};ClE3 z7APCQ)gn3Ack19~8%I7#(v77?X^~K50L1!}ol^z)B8_ozqMBZdE6v|YqLfs&Vef8o zFsDIvV*^nqx{IFrzd<}qzo8qWJ2DrHd#XT0580D_7uBpAZ5rE0pIOb6AvC2lf ztaY{}0EOG{0E+IY+c1Q@fis*#pvhlHXDpnemsvrJ?-U$4z=fVq*<%K99>nVJ_Pz>k zrCk(s^6!It?AZnuO+sN>VQqwdC*Ze3G*L#tj;?g?t&JHOR&RH#Q3CFE>!5EwtFtwm zmG2UL7$Xb@m}V{Ym1<3xnGH84EPeP~o$V|%m;q#~duTJ?R}7*ZN)7KKj5OcFDSQzU zRiaEuxdxoI@k4uSnsiH*7}_7#2^L~!e{TOghDC$^lyewVdg?7KsU)=!TY!rphv+%1 zt99VWYHFJ~UYBLy$XvjGtwe@`z8GMaL9AZGzxLF?37JE`%2zDW;Y@2Q+O1yEZvC2? z`kZ=byu9~m*g0B1$s~#jVH>YDU_+&JGNZ8oUL~;^JFZPmX*zpIv)MzMPEV+)=BiYY zaj|bngv5*Z&BEc~6L>g+A%;=`pV!nPidZY4m~9#uUujYY#_|cx58vZTZI^GTYgSGy z6sr)N&-B<)azy7ex%+^2I4-@u3?+lnsTN1nZX{i?G=+v5O3kT;MzdPUqLcg!=MJte z26oFihf(8&j%|hqt1@G4=OaBH8%&P=#eqkM-g+~IAcR>!Qg>2G{3Zv#2e@WeM@ z2;n-?m1Tx6d=$%0p5hIdws6{RgZkZ8MSDZjK?4x0j*%BPi!Py)j>p3A`3Z|UeAw_^ zO_?}- z0gKDvF|x(sgvi+5V62^-!E42a+0_EGE8xmBuOi!t&YwbOfW<+`A^=lO7-NYj1O?0S z8#Db1)_mx)(FhNED&i7am|uWJUlF;3WqOlEj6;$^`>TLAWPNK3>Q_0Hi;_d6St@Or zTLyZufSN3U;c(J*!EUn~0={#0fyovR25oUv^V`T$$BRl;(d=+S+jUL-P8OrGs%UrJ zQa9a5`v$$8o8|#W$aCd%PM^ug&pOOBX#)SHPFwkLM#WqsI5_(+47UTQs$a!NXlG${ zkQb?^X4z7C6l3bjdOxBc4!}zfEg5jDCKjexRUwRv44g^MRRvzof!eZ;q0OOh*Sg9h zbUlFsf0NVfVL{a$1-~42Os}z|AoiYy53DeEnkx%;=;;uRK(I#)=P6Z{`X&sdmL24E zkUzW;9dKA~qHz%%VK&MGT&ufYYdUBTl*8x?8v(;wy2jdj4(ukkd)`w&Ygi6rq*h=s z?U@EvZ6~DcX8^#udrE zyduy}5-C|k33URt6w9m)Pr}Aof(Wgc&9%T3$FUiyeDj&YTXwSX4R%wLM`#)eM0IGD z$dl+58tRQt&QxO6w$$u4v|FFkZu63w`jWxq=l~0NDRlBc3vQpg(+UruSvm`Vol{XB z(`0&&=5qkydsL`Q0k$Qiq-OA{5=Au^GHi7Kvty%qhnj(bZNR#Sh%F3!2Y5QKBJf?k zp|1A8H$s8vd}0!ajH>y9-uvJK`s(RZ>ejHn0ukWNeDvTxU48SC`WD(@+hdpkR;GuG zcMCKBsf$|z3-vx;7XZp;qSrM#pIbq8Www2_BYruQi;W>WVCigObrZ-Csw3aYoswQs z+aeT}q8|@n5|Ffq=KOs_*kfDiAy7=86-kM~=V28YJT$aRTxZfN#>z1R%&0Lg))voH zz2hxLsIWh=HHUcA4ad;p9spX;h3mKg2e9|CbIL7yAg)ZK01IU*kzLDq%Sy+l-9PLN ztIK{*4}tr;-I=s`2u2+>d=^y!x+HcoOJVnz8}9FfEkIS@y(%=qVMtk5v{hKw(-Nzy;#PG*W7{WLc_ zl`x<>Pq!J-MNSo*$`l9&h&TXnVg?6t2Qx61#-0I;0ba8MGLI8;i9d8H;AOxh8v{)& zB#JrwxsI&>wOxU!6D|vBlNp!sGN+Lm@KE!$_Q^E@FxU6tV|ukUCJ|L&&stc#jyb3y zUA6 zFiS^05^^9eF@BFYDrirHxgAOjtZ!92Y(Q2!&cJBwOU=lk1@UEJj446JvH%>J@2E${ zFM{S&$3kG8?LKQ0_cLsqBr1+lm|+|WR*|&XAyle?Xp5qw?<%Lz2GU{kdEhCF9b=*! zt8H=8!KMlUq1Re=IxxX3dE3N#@#NOiCdFq$Drm&74zYpXxWr#ZDjHE}t?L`#0p0*o z{AY5HY@{sV2|F4{uC=V7vN~Zlcsd6gd`e{rHdy0&564|tps_h|DcALLWAaBBUo}p8 zgecg-0H0Yo)2SFzh{u`Jll!zdJ*FLUO>4#w4%w1JLpGs{FD<=^-Rm9MQp0XW%m9>W zfCX>Hh1`S6gcV6bd*NtX9lOTBfi(Wgr4*4)JNF{2-_CEH3Y>Esm{YdyT!da9<`<0NXpyMMug2LM1#L ztw8~_*ZPi08ypL3Kv-l9HpZje0kLbDwGDvSgXJ**T`)7*zsadss9xAP=$WUqtUdc4 z(=u;O--<;E8n&@5rWrNQf;uLapQ-b4QnKcliM7yP`X1ab=47R> zXGudm%g)cyO%dYKPC=b(!>GoTYo16BV?RW8+(57~;0COuK>`^Tz^G%(t$o7g#I)Ba z1NjP&$q+~ACe4T&DoMy=r@vl{Y(U-Bhc7hXC}jjG#{bvYm+V-(C0Fg!X8zs1RkzAz zgTcl?fdTOrFtNmhsYmbxATegfgbCsWKuA0QLSP|agm?pHG{(j*%BEc9+x<=E=}<(h zwPNjkvJ8LeR%V{_HM@;ivG&@r@oqB3N->M)2j0lK60}PPivzzPcT4$192Bvu)AVY7 zpp5a#V01ryBS}EXGI0$O7t}kTm(9=0hfCI=dH}q0@CrBlNx*kD4wBW<01ymE{Q|_s zDS`X9YSVz zomw&hSPqH^0}iRF(ppx0_x&G?Z-4SfV*~{arijdMH32=iGfaW{=S_7Jqoo{lD^pA+ z3Ux_&UTkEd6X@?NQ8WxpZfmY8gcESU(|85oGQTvBp!VpR)VH&-%iC5kJh9Af1dV~P z_w`%dS{q!ub5wlhQf4d-+%eLq*9__GuRE;wbHE?jLgq^4!5q{@k}>2mx)t+J{`Cd8 z`zIk_Ez=YD7Jy-%Rh{&Om##SV{{!0oze|pMxHSReRH{p6Psm)jxxuV-xM^s#qu1u5 zaBa_%CIJ_z0ZK#Wv<5XOB*+kIxB?hMYx{Fq+FT7O`_reQQKo<;_*^(aP$8W^t`QJ! zz+8Z`H>>4riz3EYL7E&%8qB67_~i4IyO*m%!Juu&?lZ8kNLj|pUzPC20+21@d zk&G+BZfGV5mcfFECC)$!fY<>unP8?zBT!GqcLu)As++VcJIHlxWZ5Bs$T=E7wo)_I zs8~R$;j>yTG4_#NAN}^YAKS-DQVR?GHzesFo$Upa4`0SnPNx&k*oi> z)&b=d{819aDP%TJ_SK|CX7X~w|5vxMzwF2Mwb^zyLjp1@IN47(%L~Yyfcgt|nZSvP zH~DyiWSV=FA@lQI>L7#IkSDgA)zuO@gM``6x<=WT^&7w$BkgUh$253Ob{Ta_=mgNc zc{RrNyVtQfb}r$(j9OuUM7kh>OnhHM&m;|O-&~>xbE|h#4nrW=z%$1RUXo=y#eAk0 z#`6g<#i%;?EKrt*L!itR)SwNbT*>2+P3Gzvbn4kWm35&2W>rK1Mb;q>W;l)8HnhNz zAGjIfZUcCJ0z&{|?!i#-K}Hv4)q4c+n?dep8<5UEtUj%0LlXfRM(%M6;2XXL122DU zk7HcUTHJ8GDYs++Mrk|UlaH` z&|Lu}zjH>RP=BY6GGMCg41Hf6XB^8a4{=Uj8A3W-QtA$T0d%PuQ#vy`XE|{L%Hfy^ zvb5}4mR+gSBEN0syCbczBBfqN$9AYGLR?gx26U=z*g}HKIln8~)ti`xO}jJA0_%xx z_+ExwH6K?`;(wd&IA2a{%<7}t+iF{V_)e}t)mL4TrA&5tt=+UU?EC16`ZdMwF-boX z_B*IR?@fV@mC}F32%B}cxS%)W6?>M306;}jhxGu9pYxsKW?Q1gk#R3T5Z&TR248n8a0JLF_&F4FDw+twU&vU2HI1skAUx zgZPMj0s5>qZVIC1C5CV&&CEMhG4-!3+@woEx0?NpZPfA*y@cCgZye zse>}-upKOjVgGU>iLr0n)hj~=Y$coFT&x>=7WT4K9$EbMVLUyb$0heSjPdZWAMxwy zk3Wsm^*Xk>T)%+bWdf>1FGw6XKh5}xG?;~F6C$2?g~bS&`MZtVSDUeqpgMr1Wi*&@ z>uer{7RyGPfqTK^BF4aV08;1^wW*PKvU>zlG0mTDscYW7H3pvV6*i!qHYO9cUZ$G9 zL+r2FTQ56VOO_#nkOmv^8&dX`)FIMSy}gai=dpqS`2)aT5w2D?rfcIn2;Kws*r6N* zYejA@0F?KpDZnV=D`VSPK; zXt11eos{~-0U5ytly+2dnw)H8&g+47j5{?YE1)H4Y^IpY|1~!8JsDX6WweF*x_l1X zX?J|o!9oJQx7*n7kK_Ctr@2L5-I4?p*u^14$^Q0#%}7($P&#I2i?Agcv_pKtP1Gol z#@+&afn%C{YtUQcwa09YqBuHwmwUzvbOG?wUFJT;^EiF{>Q0Y*JAYlPhr8qVw5Lyq zML?;6qm=`*g+^LDkB9ubbGKSL=QgvyeG)xzUW^7Wyk4 z4T&+wRfQ~AY%Hj8SbA7*kG`G&x7Vj_WyArn$vX0G$rAW{9tGU``2wCDkV<0Lw1m7 ziXzxCJ+IhVYJI`T^79Icn3K}7E7%EeVyaW0i+0IWV5TR=amj@u;+a<8aO9!!jl(e5 zUYsmz|G81Hpt8VNhuZ>1jO&SX^Zv5c)Bb4OusH4pDkzH!kB`U14(D&5a+BNm zg5%xBXFis5xi`Sw*%k)=6D8cHi$}A1e11o?_H>(0QA-O*HtowXj&T%h5Z9BhH0{}J zdcc_X2Im*;l^GK!pV}6q#4SzGxbT^jQ;9kiJBqz`S>p%^lvm!6B*Rg_^iGzb# zO)Z$FLF#*Rs?;i$L+{0 zHu68mQO3_<*i9=;@GIsP84?tjFfCeqPK^#2Vrai5S(upGEI5KE2fhea?jlca99^*p z{?4pSksEmZM?(>99ec?%X-Xb)`bkM3I-Qx%oCbq{74*dRmIk_I&r0qP*8S}-{^{}Q z!-sMHCeSr4^>!S-_}(~u89M_@dr_d2><*rhfzUabKD5H+*AJv7)^wdko;5}LGtEPSXaQMB5VD)evUdR5j4gp} zGmkMxFCW3;00bw33lM1YNQW)tJ3Cipv#qnNp$@enKn7415C(`9%Zq0!gTtcLHEnOa zZ}+AG9?Uk617>E00@%AaPy>faR2Rf%+CCtoLB8eajJ5#~?)C-v zjr^XcF-||ZWy-7CT@>%)grXLn0Xk1TEY`Jg7z0ubs=^?#v_6erQoS`1$>jU&i+t9H zkUHdvOSf@(x{ULO$|rh$e;eb?ZS3AwS|-^*jHe_s_&Mi#)E`+rYIx&|(1=>$YDhH| zo&MF2B&O1XIKr|#h^S?=1!48&7>C%@2!12oQj%p=+g^LK4WzEGT|Ftl*!(epq*3Uo zRIMg2SI3_Yp3ilEob;BthzX?JwXDy8$<}hWneUktbJo!U0O_CU9iUysAV|>5o=y7} z@|WA#e&<>n;Nl-wxv`QZCzAE6!e?0oBF#VPbG~HO+BU0-(FKN>%|Kmifwb5FxEb5X z;K7Yi&i1msvzc4Ma22CV-vo(*14%X}WgFRbY*Y9*7D}I2<5b_r%5z8|qQgQP8vwCg zZKMlx=DZ#i{|BOw?*l6xhN6IT^cOdOaiAE({UYcLds8V(>cBDNDIUT2?#AiqXVUP@>)3k~yb^x9IL8ey&r?tUglnV^A4KxC4uIlsq@0%3taZBQm z`s2n9jXSQ-KdWR5yF+AkSgh7&H+FFbbnI!&opBbyi0w_QhqL2p47cOq&Aai7zxwCK zkAD1zm8uQrM#fQh@4ow;@zwADcwEnwwxV`l<2iKd0>orT3ixK~GcCoo2GGGkvUBEi zrJE~rU!Yg4R3Z!8d=+)x*M_3(FuH}x_Zoi}unBf<1+wiz6az5oYJ@3*83?tFp@U@3 zNj5L0_RKEG(&Wc2!Jrjmf3hAhN;L!8B`PyT41unLnLq?I_P&}%_rRHs$p@?6MU-~u zReIqyWz z@F9-yjdWopSxDv~b!N?|lyAp7&6(G*78<}S3cS1LuXaz|P2Gh#DBqw@^!) z4`y3Xm%9LGX=PD{cvj94&b`gZRlGQF2=P9h1l``{zs=V68P4@F5AJeLd54{b`^06T+?jc)Yj5814PhN zZn3%T8Vq&}&QmNEVi)^mjKg6&9)C5G<{Dg9S*MAK(9?EZCm6t-MRojG-zsj^J0ZTn ztvxrc$jzU=dg;cp>QqMvZ^z?z!r`ad6Tr8F`g+kOr3YLtXH~8dG;pPu$T}`pxvRGl z$30&m+k*{0hX#JWuufGiz@4Q90L_i8;aWeyhQwwrY*5s@uxF>3OqdFSx~u|#8_lH0 zL6qH-c{O0mmbTHzj)8PKTPopjI>Ag(eOc(d^!J5HOBtYIoMwYzb0-ez1+Pe}Py`r6h2 z1GEbKLjobW1!Wh}o;4vWsAvsuYlL|%NJEd(;t+~FN;sa;>~W1tjCrMwWna`-Yb4>= zgr6=yg+s0*fNxrvOlRiWt(-)W-}F`X#pUu;X(5#1-<>!d5YgV)jEB#^7_UEjH_kcP zw}I#Dki6Y~JRBd!&wlqu<9dFA*LNTqreR6i4mLPaT1YR4&)Si2*E60)7D{EJQ6;Eg z`XGQ_8eLH5p#e5mQ~o8{enfBc5G}BS(@@&q07!xc=@#pmefL{_P>wNoX~QbjGaF#R zN6rjF=HRnPeqsw8Y;sADDr63t2EJ(!I1kgHnWIasGutJ%hjy<;i(x1_Yk0m(HtwLo$&JFF_d&4k&F?X|R-80igFq61k8ryb%gUBugDP zoIMatHzm^yn5mjDl7s+rdUu=!$ua%ysG>a;{*oCEM~ z#^&Ilb_J@m0Sf^3ECne?V2}x!0syuG5dm396BhYFXM5<=)@qYmOC4@cv4JQ~T5YnS(x?>iIOwFTUu58k`EdRad3@tQi_LiRYez8D z6J)9qV=S>qwHnZWO%sJSM%bt3QBQqH_%T^=!0cJ7ML3=sdHf+BR(oLmKPLtVeGGd;Wv#`1IS?aXVkN@j8KS zZYG6&zN;(kO#y)E{bZb3XJanej@8)ByqAwdeUqg(E)2m$WTe=C|2lS`VG~kZV*vu0 z?kp-L4`MCh#n|}VG=~1I;ehs{FSCthDv#QY&ojRm0664B*>v3KwO&W|*EfVApsG-& zQ`0ff;=s#S8S^`Bd|Oy{u&+JOzygmrCONdgKp2!}7QjVP4`BCLQrhLSBx&TfCRljZaIwdagkPw z;F%loqMUFjM2$K20KVZoYOZpIzktNjK_m3x001BWNklYwpiQ&vU8OATy|?>I^8 z+uuEn@nBpJ*;KNl0$Ui$i4ah*1q|KIbwNo^1Kwvr7M)=nVDav8oSx3(9LJcBF^{doA(5m?ae^r+3ZpiR$wU5*rm%DSS1#!Gp?)6Uj#{J9#L!(i_T80yLJZX5+-~3)9N+k}ECUM=1%=clnEr!T2jkv;e@& zm|$(CK}Dc#*%KyhZ?&H^%o@Ag+*a@HcC+6(A@U~ewgI!vP)quFr)XV(E6 zC@)z_>xJvxiw>Al6}2VWj&>4EcyFu=QMV#2BLNZdvAr~$%{chHgvDvb_Yk`l;Dl{1 z)UVA*>F@m5oP4%FH<0jzwO(Q?9WR|EH&(1l92u#@`%+gGlhsP`yn7%jUE)9q_#fd6+oz)hNSl55n*j}u@ z_nCbs*EHGo)nl-%vW#>`HP|*>L&7AgNQjnMu)fFMYKe8Jtah2M*|f^Q)Gy`)`8)@+ z{f?Sb=!iRD>}8ojD@L~Y+I9SMO3V+{+0NW;G5edjC7mWAnh310Sz8-}vjDZSD``oH?;_&NtBI zm4d0$1g!D4c{q&y!(rT_O~ZekFXQs*87GxMnseTaH$OZSpOMAI6FE(&Nl$;d&P&n* zz1pMzRzRu0UGpR!06MgM<>kbx8f{Jcw2(iTk+Ug#`?who@9K~c0X`2Lrj@Y6Pfn3e?BSe`riErl90DG2PLp4#*j&2_$wkH38x=Rb(Viju z(6R?r(-`P%cay)_el#0x@FZO9%ZwSfvHRjS_TRgV%|3uFHh7hT5~EFxrg)>Qcac%k zMl^ye6hed#uO|RQ0p&0JdjWd*G^DGDBaz8wPC*Cm)lxz-pkQt-a3Paf*HP6G>CznN zx_KK53T513vn9XkNy0OTA);g^iO@S5Jhx7lSsB=l9NRTf3Iub5 zUP(qe5_AK3k8jLM<~;>`V|68gZyT|D5bU6XR>hrsr!uPzYwZk*xiye007*?;u)YNZ zmD+0E^hRAFu9E{|+N*pY)2l(okh$CXy)yV&G-Kgpxar{cxeR_eb1>k}*Z>vI^->OO z-8#|$r!iaWZmW5-Jh%PW-N% zA;>sh$Jkyhsf;x-{Jk}H44~e<$5HO;+}rXJ?%I=JB&Xi1x7FNP;Ioh6#iCDJ zS}@ufXk;OUU0S zEy<+saTn|-^GT=NVT^}g+>hfg!~qkgAj)|Ct> z?P&qh=O16kr{BAP`L#Shj)LjO{ceDz#>J`ytJYd!rD1m~tieS;bM;V;oZc zfWaW#0(Mb-OxCm+X9WTAD(a7!^}(eOWF=wveP0Dx{%j6_Rc?X<=Zb!cgD?Vc+va2H zeD!_+vXu!IpeBeT6HAA?Froy_C~uV!+G1(&yB%_TCs2-zSBs>9VAg^cXJ4mHa&%u} zSpmWwujq(nT%2{IzSaVwqQnuzTuPpCJ&$YdBOplT1f=YO8ee01vziTlXE}u34~Jer z7_2cFV4)ra9!jBBWsxjYaLH}tYDixMzU4e#G?0_ik889mN0-ykN-sD8*t(}PF;I_7 zaN0mvj$51AVsje-LGR>G)1HnB$Bu4}*uhwir6d!q5}Y_}Wky&JBg;CK1LK`BoRF+f0Wz^YH@MuLS82Muz}QATnX)m5`Ere|rt~ujz6<~( z1y;VU2DUboHsk8dCO320l0R8m0!13EJd8z_X_#teoORO;sKpS`*TNr&}_vpvJiNX&Cl z^BQ6J1cZFWiJC{=o@f+|6bF7y-s9UhdHUS>zkK*;13j8{J05>6@`W+& zG;BaJSh!S*3^SHG;K=N!OcfYI*}S?>UlY(RimM{w46H6qnSX|#ejel15B9mChhS+n z1rEg0&RN$@fRKL>8|a<5!2vM7<6t>;CHOe~^g2HNPUwC^`oK2y0pf!XHuj}@VuOSnFM;IAU-;OqW@~+QwR+j(+t|Ljjl=gZC4aEKn%^-?9vZYYOI)Qk zSpYQ7)I^tiYkf3X*nC!I^eQlwX~V$K)-{!Jq4uu?xx*!S50((g01&rU7HQNZXQ+2% z>wtU_7)9N+8SPG|Y$TMvBXx|`%RG?`RXLAexGVtU3JG($>QjMX_`OGPio^59wOg4{aZe! zIHn(y8bQ>T3=kwSc9ro6;aczEa zSF?#(MQ0BLCsyRdiHasK#WMzc?2y#AGk zv3(Pdr)+_jwC$WSNMzaCCCNff)44&q_CIJzyz5W!nDq@=8Cb;$9y%Tjn|QvB-E})2 ze(9j2orNQel@z9hew3!I+pNK0FPqzEQ7Dr*5POy8xjU=g%_VC5jzc%{xv}u_VT_Nz zb4dx$o$KW*4GiVeUvMK6b4}t^pm4p%nAzFr1Ne3;R~7WY9OK(}x3T}?Qm4PgW;5GZ z*Vo$K6}k@UZyiXoKH6B-;CtG@#WttJB>x7`QW*hOx$i1z)*yKZ4#7}oeJV_mb~bL! z3_g>#p_&`lul1BnMZv|)cuSUG+TdRHC!j7OBHJyQ+IoLo$FT$^nSYX5M%JMMrJ~`b z*{#0dcP?|VO>^qIYyhmT_%cn&4@#%ZO>C5A;5p2E1du)DNX~jx-KthxLb1#m%+;*= zV}AtSC+rdT#2+Y2t{{M&p8S7hbx4-@`07^*=7PDY2h_h5I$xf0*B?b}4Pt3r!7$~Y z4Q^Yy&<<2uTzjdfRv1f@U~Fn9b%5YHguHpZYg>&$>#BafQU&BI2#-yfnHE6gnHLkL}6{ zY?`5+EMkD;^BCJWauI_q%jj0KOntWkYu!d3W~igzJF83J`E#tXe|!g$MJJVh@A7gS zHC@s39BJ?Z)+EIo!=50Aw-3IaVo05L?_JTSo_T zqa0XcZTO03?^iaOAQ3hvvPNWP4V%Mcf(h(pYN!FmGh$ADTgSjgxjFAe@Y_mN+M@*Y zzNrsoLm-=`ucFc#|41*Dr!)bW*dsdtrjuTVAZGa+XV&_nAC+zXWQB*1!5Pl$O&G8l-2?|5b~ulva9yBj0&nrE8;R7WPH<8HkA zexy)qDQ_D*k_)JE?s>pGLIniOqaY0G2nI1HqAZnLwk&3@m3bT=J~J{<&=ox)1FaQuvgkFCYb^lPg#~j zC8pu!HlBX}GEP6Oxv6Xk((*22#K1K?c-J9|;1R*pW3vAud(1B-oQdI-xrA$6RbTY; zqG=)(+}Pj7;d?EA$mcEEV`Zxl@D-Am&bEgG`?xo^3Ap9FLub2O0w5I-R;Sfb!`sYg zROmXcDS>D(*nl=Z#lcnFSf+Qnrq)0(TgAa8?E~%=V{2t@kcx{X`v3rzG=uF>bzg)% zWj6%W$-wiv1q9n>IS(f0tPuvDC3CP%e$r=Gh6tB4IOuj}m@DabtZ`PIK)kiQ4fYqA z1@Kah#16vT*E5){{=JOr3BdQ&+rLx`*hp(}y~f$op)o?@VczZaY zmL=4Yqn(BbZpG3nF^fZM^vYI;wl<=4g5BB_HZA#rnJx^Oo~!kb<>snbT$0TT3269z zSu`D)iswvlFq}BB9K-iw#r9)!JC4mbj!3&!C$JE>wGS$ThviRO_7hW#nLdM}myMIa zH~d+d4RA~_ZrMi3)MHsTH>;h;Z5Kg|pD76w>EKfvxXig`W0+-i3!eAV_}gw=82!4d zfppsevfk}vD((XFl|fq>T8|&v+>+5+ATU_dwe@Jrn*~!mCty&xhvR|cgLR|az`iH& z#Kz%tPB~1M%}^Sj#yom1T!B(!C6Ps;w78rj%!ljawcp31dz(QeAh!I*oC_(z*d}9o zdMeFc^^+YokyCR03`}wcptdP)%Cn7mXB*k5k9E01enzm4xy|{V^D9%KL4%q_Y4$jV zbnJxBgB3E+Xh1J5ZW)HQ8SIxSSZ4S89tDgZi*sNk%Eh0_0n!71)qdlKxfDBf>^MKk?vj%&Q=Z>Xq^9>~-OzRi9s*@=$`(4MM62#)? zc{5&r=g`uU3Gm|&&Z9LLNK)7UBP|z+2{?SRqO7t@56Tp^)gzE-HrU{RVbloj-v8(s z*=o?x2{5_JSrrZ6D=wg87R3_vNXrtyK4VuIF(%6-`KI-uko>~r(UoOcZsYRJ7>BpJ zJnb!mf!uQl7MWchpp)axVAaR^D=MqtZ6 zDco|)!!P#VivwE71{zRX=7d1*i(t{fo4_FY3GGL)UVTRp#PV{p9YHeL#SS=AADo9y z1PkoBd>1CTqodX(vwcx^0odttP9b(oAAMZD4in5Zz%SgN*n(;2Tx3rAiT1$TAj=G$ zErRbFx(g^4!)u^cOfEIbtwFAF!W_On;7Vo@x?n~;buGt%f!C}r-`8w=vC-5tu8cL< ze@z2}>>?)UAPP*8!U7FO|O((?H4qdd0 z=flPBZUN!e?#dyT_b_(252N5xZi2}Gy|KMDoGT?40Ijakt=|C(n68ONKfwYv6p@{i zlQoA3fE>AoH^*b1(k20499NvDa-q{Dn|K)8&BNFxyGz+dwG(Z9?q^#a8NoQ4Vd7eQ zS(ME*d7TNI)&mNonsZ%1Vp*$G0^XX~be*e5f*~OA^m4;8rGs_W;I3}%0XkyGXQtn) z?;1>2@w*PC-sBi*Utd0`@5@I3o2n?z^6^8jDu9rNAs7rcOn=RQi7er~IcEZ3=?BZ; z7OTj68E~NvTC)TY%Zv&*O-g_apc=Vv39yQN1Zyk6T+ioxlC(jY7h3utATFR;pfc>! z`Tcbazp$KBPkHgb^eTT>tNY~Jr#T$-j&qh@>F?ycl*P*ZuaBy{zFUO zaQXEz#>2yY93zWHk|sV!9ryy|%9wd!yCRZj$+pxpCWeyzBeYfbGc!VdO;%F{n)$G( z*ZJ$~`0xi$Bl6NtCeB$&^%LuL&#n_Vs76_?{%^8zGHotzFt$?8+Dh~SL;LWZ-8g&^ z8>3qn+FS%)PMkn+16#|s5wo1j{wNsp?#8|AXS8hre9;^^cKda`u}_=Q0CKVFz!fbr zt^&#GFVs7c2~I$pSiBj4Ry$)=l;9Ttuka@eM=-^Haj?ge)(VuBjyOj1HCIAowYykC zwuv*J)fSy+nd6K)TKFmHg_$eZqo^n+2A$_?7K>|kfHICuvBoSKTt#7EN|^%LXMpQ? zCFKO(X$&&RbZZmZ+IH0^1xEREYOcAvrSG=eBzvYm$mO|d6nR>`o|tf0ekFbft} zo7McfdS|5^3sx8ZDFqr?Ez|i45Sa#9W$jHdWUeOWP0Sglu-KzI{pk4kn8y;=dD>v+ z;=Jp_KF3Zvsu5r}`(zS@yQK*^F!aTL#qg*Al3q9_8(>W5F}ur zrsG2DIxX!t^WtqZEwQO_XGdlTzu97A!E`lu=@Ww~GQf`b>GSR=0^d3rDwZOz(&Fi` z6#_-FxkO(1OwU-*asUB-Xi~Etp8iYEbTHVf9Na|bs~0I(@C|8L#=qUR1BNS zqf>$3r3b*kxMgrhRLh)U2d!oHOQg3Yrp&nH^=oe;H%{YBwH! zuuVyUGBa>Pofty`PYe-&Lj?%}w;FWSMsYt=dJ#a==dem-HkWtd0g~;I%*ZmPR4qo2 z%?IgEQFFD$!q6JCp5RL>5Zol);8elL0_ti?HFHRPtE3MEe_r>L1LDvs>0tpP83*z7 zHk7GZRAZC*Y>iF2P?THDs~Q;GQU_ZN_@b>Ky#T<^HpQwabLdu6_9noxjC1`9TwoL2 zoko|ymLRxUZ~;lQi9eSzhaQ+F%g7Q?4ngL4VWRm=0c`4jE%32==s0@sZ+?G`Q{foA zU@k@axbq)FwzdBps$K)Wj?_%Y=sH@lwgit@B6aZV2T?T3Tf4f;5f|VMrZqttmvafK zmnGKTa6>c#hu<74Setn#cWeKsMjfq;V@3Yc)%JG+-wgI za;iY~sOityXlLve4I7=Uvpg)a8~0i+E$2X2$RjqLfNB7Yqp6DoE!U45Ju4FMwtPP0 zj7}TMz@z(^WHEj(v`eVBtp^+WWv7;P}H%Hn6YB>ee zrxqwVpeF0cuO(|*2aRxK8RLd|HeT0+sKiZneP#waUB@K-A+1v7Yq`om13;-kItW~s?H^7men~a$*zRMsZ98tE@%6N5XrNg7e*FB9Kujw( zj3h9XW=n?&&5d4s4mT6!*RjGlL0$oA`0{EZPpLS8#|97HZPkp%pl!zZ^atnh{8fQp zWm~{aY`yuN{lu5FvMRNK;2BgmkVy;W^%RgYAWHC}L4i?mxsBanJ0515QmqD-L=2P*b02w zMmIoP8f#x=xQ@%|%lx_7?mq{G z2&YF#A*RIHR$4SJug=U)Z&ahhBrvVCWzzamN`YlsZHAGdZa_NeZs9O%$9m{CoGP_V zL%w^PtOp!1WfKi>nS;^%{(Cd5MyI?8ff6&(E%r)xp6o-cQGD)FRw4WEN@E z4Xj8SQI9JJRVO0fRM^P zDDtIu_+GM{7*Dm#6`&W_iaB=R3E<%Xl`kUz#nQd6Of)dA@trzcj$b~D2QL6Hln%P) zTaKOtsvJkQDGV}$)0c5nCH8ZQeeStl3pAZ8IOm%30NcDHa3|1Z{SxpqdVwZ*ZHH;B zzc5!6{KR-BV6R~D^7Uxuc$+>aqR%Ua3~+Ah zt_hIMOTtzCS>xN?&`b1j)yLmIjq|6oHn_1K4!w0RKU@nPZ&QSB{q7GjwzSM!j}!gv zfEhzjuT&vwtcC4~-yXi$kKJdLD?A&EIcQZzmZup=npZKq0O14xfyi?W!0#$;|`k6q~z~~HA zsZ(Y7$SfORV*3faI+(&9naBhI;CK%Z*>M(RXb{_mK!QY-m35y_eCx4MGCBu<**%h| zG}tU43OqnlWQYn#H>D0qV;L2b`Ip&Z9pU6)Fz3k#6; zAr&%GF_tfOAUo5nHPgsa(on*)(B@TOf$5MeO9N`h2IiyaceD!FxPZ>F zE(uw~HmK6rJ&pJ3gd>0_0aA13WUA{SRzXQb>|%jc5l0G^*vx=PC{%5vDnm=)2JlGM zGV}A2Deb<}@wn<3)0w*VoEyN{{(h(gKZ7G}9jb3=ds!mE-SGubSG_Gakj2p6rbOWU zd_~3ua`L=}^Tx(9WD>pUjP-7i&w!Bgnw#Fxu$*qDe{StG`%)l@L&8{SPN^Jg=g2R6 z8~b-_P>#M6ZOb`Ic5^~jQ`hHs=p-IJywbt&xiyaHA{O<60JG+g04;TQ^-ZeMQse8u z*R+YbgurwIwF^m`xd@QxsB%Ls@-(q}0$r365cJmDr*h+-1NuUVm$Gb_TTOyy80}b5QybGcowI(=30nVQ$#w?G z28eKJVMpjVvzVc?4)FV&dE2?+&dcDEDzVxCJsj8dSd=A$leRxJt3drzJT)`E{#KOT z+D3te-i5Jp9^>%YejLA7EPZc$!t?k;j3$?i(RBD+IfU4xxu3=AA^j`M*5fg4wpd*@ zc2%_wlklZ|zCXZwoe(MgulljUrUTakZ0JK4Pe3)^2TiN=vdacCfpcU%kQ89i?h4d* z`m(A+fWz7VR|jFlk;5E@5GdssB@pZ(TKy03%9RI=M;<<1U?#mG8vT{X2ZcFySLtC`Nt`_}y+qvizbZb1np5o*6!&8!{anAYlG)9BW! zMT6M#TasSLM)rXkd40-IcrsitzJHt@vw3*+=aJ5gY)I>L>(TT=y@3QSYtr;i*TRF; zdDM0Ovu1sQXE0OF%-ZMLu%=Bgoe#KxUps%X%#)LB@H=gUBS@x%LM&_mg$BDymzHxM zoxQTi=_n0A7gln55Y7{2$*+j2=FK-+a&_+xwyx?b>I=^gLl=^U1-$2E;Pqrq>1fO= z!aqsdNKgwlHpe{}Oe%cE@QP|8TBR#rjJND2GcOc#oI2jvW!X)!=nxC6z(2y-;o0zp zrF|}jJj-QXvX<?!#+96>91O;|dT=8f)4_&IN_u|O_nF%?R^lH_dZ7V>F~L_N zB^f%UHxo{--7pDOTLca<-g`{VY~uWw8m9y`)qIo?fUT$t3i!qVd7tmR>4XyZJxLI_J!Ud0ibZ-Nep!bBmmZ?;JXoL^#@P&;^XLqV}s=LZG8B> z=Ss?d7s0bq#>AVM!J_VjdfC7f@}+mqAB^)rc2Lj#P#KVig*v1B_Tn%kN*#MSVAehG%b8aao z+acvS26jCtQV^7VODdGCrx5>i0-Oh8tt}=n>;PpRo0ZvMo;!B(TD5kwzrHDMVX0f5 zux5H7Gu=$_yb16=UvKM#vC5b>t#D$ka5>4w9c4`>HuYu$u{lsnK(0hB62OX|T!p8v72*wLEz#oF8|Sw+5Er zz|)}_cp-2XFoEPEF$6Wn0M(mq>e{x)I8qqTjZq(Z!t1q;D=tI`M?jzg0FmVvRb@dz z17Cq6wP%%8V1fXEzy+*y`>z-f&_j!jb+(0m35Z4Qzc`QyoH;<|b#O1Z&e@g{nqrt4 z_H}S59Amz)j8~+mE6~f9EMH@woS+fy+27P1Su#{lOSZhoieEa@#a*}W2V0DOW`W}s zT%srNMK*;r#-ZoUJ&nB205*Z3G?ZlR8~nN4rOQr@FF{{xW^0=9pa>2LRO3N5I&>#&PI-Lnpg^Z6`JPJyw=v$4DiH9BMN3KFOAOUSZ*i>f4^{IZ-(*v$FX! zkMDlmo_T0bHKm8QIS(VX*)KheZRRR&`vdi-E61r+_+6IG40 ztN^e8!?k&kfD-RZnI2_1#*mV2W?OQl!#1KNbi;~(A2d+_xxgT&ae;9*IyTFRnZ~+9 zGKGHK!mb*)jnr6i;%TgC^I(b$DKUl`)LOfc88slBO^Z6#$1_Vj^{K4@ky)*K$lz9A zHDIr?6jBh%vtnbjm}s_#NfBJe(Lk9J4ju@NGE&Q%?bzwb8XRNnOxYo(ErV8McY#I5Ad{(4Ni;Z;1 zL5ezU_q%a;cpT@`X*wY+bR_%ZF*~JBZi7Ba`bh&01k41-dcOfA0^PLA29yc-v`h<$ zNNP6=@Kz=XdR6N$?>zr$D#lS7S zbW1i=WP)p2CgYdLfTGfL;(|sf`0Y2WF#{ySF z_{P9sN~avdV)cvZP4FU#lY{yKQ1MKi!iH+*4{lFc#rlMU%H$*pFxZ`C32TmXb)b?M)jORbu2R(?Wqkw6G1R(q3?!R{rbuFwS5y zv0|Eb$J<8F>V3kzHPArFe=Y$ak8_rd1TYZBiph6Cn{kaZ^4!VyR!J{vE;UQq z0Bn*D2;2h1igo0CYi71eO9mJiNWc|cv1n*(>;bIthbHX|3Y`V+`vCX^o(tG@a8m)d zzeiF51rZ<*I5*f&&az9o;c_biRolpx^=bJ-kK2s05KOV6Go#00^W~XL_CZe;EdQ`0tnn} zW_GhBDI|FaknlHB5n1uzG$9|zf*62a=@kMtfI#DMG2xdcd$Ru->=1zFbagpU?u)7&>cKIK7cBSj z*%~6e3xNFo_n*e|`%`DpaNs2P*1)-* zQ(w&EysaC*5SS!pQ`FFm;{+-5G&6g_@A0a2GdGCM`y)5*`^(t9s=$_DDc_~lj|I!A zeI1^6I|{b(pdX!Zg*hwCz#s$W1}~p9%*I|eD&X}5C9qukTgo=Jd1@P3J3&Yhu(j-7 zpBI>@0;yWU8$1kSqkO}KhZ_8$`x>-}xWd8JWFt+kA=Z+>R{*p?_%?HLqkuftc?H>t zQ=DODDl-FW6}MH;jSWx}N5G9DYmw+00h31q0jz z#e!Geh{4t4Nl~3K)84KGlqI1eE2kYILIP*c!XXzG%evp@lQ*t&K9-yu7E008#Tkt z+D;l>?Jk)&*5$7Mw2SsR88Lx|0-%`^C-DPxyV$7K;GoK&T&o4ylVLl&irhkDoFMLx zdv=lIaz%ffW567g`Nyt9g9`%9Z9IF2V{okuWG|~BIfe|a zCnn?<1S`(MnnMQIOs7NUn81~r#?%ZPduS^GQG#E-17nQ=tW$~tP*%QVD;FKMG5M7l zp+VtXe=wGr%CFIxu9yCoZNf5knlsG{$1MQIWUwzM05mYlWh-3MTWul`Cm@Z`N%i44 z+kyS@;t^j|MTOxZJEIW*J~hgPAq|&irxJt z^X0$f^bqXo30AXNELuK=Q^Fpp&6%Rg>O$}jC?#&Z-p0f0hdhxB-m1YCfCZVpo_zo+ z(rt3fm>?IP0VlS8TpiCzSAXTZY|>k;^{eKVw?bcdi_~%2V;8uW=Jt*NDM8X99aHB4saJT|QcXgq!|m?f?}d(bfhWp~c3 z5*g~$5#rT_lZ~}?0s#O)eVl(6aA@tL$y@AM1q#hJ6Oco$prvzykm~S>6>NZlv8w7e z!v}=lOY!y$KCgAT7-IsFE)(eaDUgYVYqHM39LI|`*O7hYHDCmp!p(qL%|&W;<0Z{9 z_A-98M{R;?2A6$RfX_F%Ei5nR4wv{jy|{Xlo8aQmD1t{ee>Jk~h1hd|Gz+Sxp(2L3 z7;9;Um-LAZ%;!4I2WGIJ*v|x`(I(hqg7M-^F~_9FGt<0TAkljkSRXL#OR$l_)FjD( zrBoU;^bahkR<T-5E|d>f7?91{q=vp8JoXZJy8ae z%Yy}iLaTe$5p;A~^5(o}0=Lu7r3ok!BDwM6bJ!lm!BrHrrLJRzmq+ z8kS6eKsd|P2DAEve#rs|?LH@10&uZDoVKW=^ZO73GL>|Bq%h+F4#+tVqRg88moeZ3B_8sjbo6;#etFkCOUB?@ZiS1#H_X9;OOXy_Kvy3@M zSUv-J0H>37I5Q}~vlF3#ah?0uSja4Im!pP7SAuC;1V^CZ?TwBrP-QAVwlVYi)}brO z+DKBt2AsjVuYRZ~(?-F2_Leb5Q>n`{H6CjWGoC5ZcTS-&F{j3kS5p-e{_zi=$H$*O zx1Q7jBn=S`0h+$tG2H*A_xL!|?-b@$2pxHF-yO%{ z4Ng%opi@2@2iPo(W%*%(7g-{_$TgwOzH+{n-d7b9=~W}55&Vq(E%=SbBj~nC8V>yY z>6)ys#RoIRPW&Kw35uLkr)@zxZJZL;tw-c6>}4fJFdzUAd5U>bs?0sY{!feIi486nc~(MW-`1h0Mk^0n(*u2{#enx z1=+$EHa#1{5oOv{OOSDQKOL2d&vh7F3E;?;5wbP}66KsG7zxJ?h6iIc(({JY;rJ$` zOhOadz+Bh}+Cib7Dg(h=gQ32louxGhHxtFmU3ym<8+17Vj?6`km#peC^~H#D{$)Sj z#`z&^oqdMtVwo4G|j*!UIsR?Bg3%+xVeWCFn|6Xp*6Au*b>V#1a-A`D2B)o2D( zU@Q(Ze77CP&&%co zD4YOLZUG$g!veOk;7EnnxH|+zK^wlN}TFH{5WndH{ ze=NAACHMgZHt7RFpIm@;ZCA7Ao=(t1|CC?_C$)pel^0FG^9 z#31oVkn12xL_ey{fMOxCyisxk2|;i4PdGh#Pa6Z~U&-d9N_ZNejzFlD+W>5(BZDKS z2Gup9-N3+)aNJmCS2N(3UO`~oQ4hH0Mieq!CIt|NFi_4hCw8(yZT1hf=G+v8{^g@; z2yqM$5VBub41P~mkrUebSzX!X&M_0L*}1gIdKZB++|^b4?c}eq>?jsvYC1!P5@O0i`Mq)%AVym z->W>ud@T4-o26irxiUlchg6rG0>;n8P}n#Q#`pDM?1J%?GZj+Hmsf6517jD zY;i$cfOed5-4rlqz!-IvbfWv8)mmjIFhFzP;Q+(yQyjru0(^sKmbIl@za$FQN%HeO z2L!yUQ~c`5Mh6&_Z7#$iJ9&4L01qxx>MS1_NY(aPY}%vaBqItCCLp`WB~Y>+7KY3T z_SiTCxTv2EA=Jk^4|NilL7QlNEY~^~X2O3P^9=;q4s-o55hfs}fXe|f>y%nvCch-> zTt8<`Fs?C)h9n&owRP4K0U-k4%Kux*2~ z*>M&Xz;y<_4!Fn;lQjeNM84gMEUfbx*NO!=&UVS^0kit2#3H9#=uK_G`~ zn3vaC?Ht4g&bsYputPuDjIYBB)4^uD*$H!*)0WJdgGREM29m72jyozlfq^8;5+Iqe zG3ob#4nY*b=gOp7t0rp+fQ3Ft79|5!fW(*5a7FQ)eUFJo)+vV^q$os*oD0jdB=^XB zY`Nbxwhq1(q!9Zz!0xfZz69Wp-S(%-;Lu~C+n1m9xG-I<`+uT8TWGM+C)O=5gQi-5 zF^7cDck6Mqn|C?eMOQH>Kpgx2cb~@jW1O-z!(I%>nZ$%+m|*n_fZRXIZu7zu>GiZ;#{fIyAoSK)Iv-h0~v22AOjF~ z_PMl*Bp=A=5pAOzm3!8~R$s&NfTFAM$iPehjzNXcBUoG%(ttM0lszjj8TZd=v@~QV zSwh!kV%gD_rN?gITxIXgYQ^}PY=MqVHY`ujVVkXa%7820SC1=D%kkKZa_g_Duc@kYz}mbt zfSc0>wv($E^=$UH1uv-Y?ext*|LV*C{CCqby?XT*{_JhP`!Ac#_VXOn#*#V^lZ=6& zR;=vI0Ma3A6W9xS*YYx8ktJ2I^kxpCBgbxTS_5k-#7MwMc7{yvy1DM9&2|PB;@ptq zaqN!|`oxJvns%^HLyZk*X6TzR-lxInhdvs7xukEl==W#XrM76DvV+|YSgY^r zISqmZLe#!>$;&GYEu|5lT+3{LUixRwkFHji0qt}7cpcyVua7!aZz78QWmb)BM`m4c z5M^jrI9GcsRb#Q1Rbek=J-7P2^Mf|aNC3fmgf{dL>R2D%K91vSZpf(T!Gq80yiY9?wV`;0J1iubq`UR^NbXo@Yp|#|vO%h{b zLT%iUO}2o7MX|wIxpF54w@+}Wp=33-NlL(V z$`{q_I($X*%wT^y8vNL8>Osc|HWJ{*}*1Kt==BS=KMIuwetyzF(&9F zkk!(L%PIP~D)(KRcGd<$;WCsw>e;_%5aj{X^{egW{a^pt&;HZz$ud2B_LqKRyV?Dl z#v2nQIms28Ic+M)!E!T7h1{g!0~l#$*;0DhCby_mf<10Pqla37FE>JwdGox$0?q(} z>9ENvS9dlW9jVo}O(aNnR?XUMS^|#;*?Qu{ zj1#CP#74pBZ0mV*PF91ZSbCn8hrQk_vl~Lz5ZM~MPXxRT zIOr%|0L^Of2~akhYd{|kug46qwgBLSh*b>I=X|DuF1{CzaRRuxN@Bp1W7V@C;C=^5 ztcUcEjvMYY>NFkQrxo)t$WXyRIrgSW*J^8`I=B|8&T%)!wNgzlAe({Vg5ekhSl45B*3zR_b#nwskC{`H`aV&7AYr79*>J`@COuuFh9>oB- zHQ;Bjt$NSkYGz0A4ka4s@l?y%7_iF$5yVmiV7ZqbEU3zkcjpr)y)Z$#p?EK2e5}og zD=?f{%sF5~_e^`}K5MlB5hS^rm;xuz5+w`GoB04IWf&bR#A z0iopvHqc2HI-6d=uIFtvE5{7mr$(}-m(SPCzFN7l6(C^XPqszJ_4WYL328EAU~vh& z*~h#Edk8RDCb4b)fyz&(iQ_cF=Jco9nAFE)Qemp(L%hu2xytXKU|D;8$}% z!Gb1^)kT)WuOquV-`}<|QaW7z)*t`m-~ASCwI1{8^I!i5o3Z)FGYwUj-2+?PE{2dG zc20}b;L@2<0^(+3o9SXk20p(5DuHWnoH7}JBoc9-Ym=RoY+y+TPn1A?@%B*cF2Q|7 zme;eLLWdzcv8(`PcYr^-FP%7ai2@LFxu^DJuNX*`>jq#IloXDv_7or!BTheq7vlg4 zXBCMEdIhrs6&;(Kkw{F)tMsCh1%MHqUkSkOOZlWS2+a9i7SVIKqO4?Goz3M}c?%Ji zvDw>d-lO{q!|3XU2Al;m!e%3UKwH zW|@Wndt#j%=Jiga>~5?`WHZ$J;`r73cIg;pLVpt*OCUK1Aa~=$aG}a)^s4}_foA6I z&0ATw`zkA*lrh3JxASIv`#T@{R4w$q!7$-f1vPw#Jbqu@WwbZh!^FQ?T}xwbpmzeC z#=uTXoOnL7Feu$W40LR6d-FK4ZdOCdr31 z!X-27?aOR5^OfDm$@=6C+i`um=G+O%LoIHJC#xGK{9NCagP(e||5kPB*c^>FJLwD> zogJA{4g;3hpaO6#*;ia)xHMZZ!0*Fm9KIWU1rTEoV?We;9BkOw088!6sKBb8Wvnj8 z%apE+;FEw7&z}xBaqwK%SBpVQ=>b6=;!>lpuu+ejx(V_DXJ~yK#;tiWTHRakv1gDy z7H0qWEDF^IC9yaZp|%$8*$C`LPo6{m!w8C$i< zQkVOHbqQkZdIH*(H_U-kmOlxmAk2ESc5vk*_=Wz1MNtsN9LBUX9K!h+Y&@Hoc#L87 zyN$~=y_-OFvEtR1F`tSB9@j@mAy7^+^Zhr0Zf}CL07~=C?4AV}HRY^Alig&%5h(8V z_rLtZ-}g})p?aglYFUDr`whR>+KwJ7H0F$`0fKEHg24Q9E=I=X)E?6&Z zkRzlc!ol*t*h5Ge$Rs(~v)}6g4YEJb_!=_vrP>KFM)u!BBrwlop|af9p!0+2mG4{Y zTES*X1PXAMUN%6YfwLC?LLXw`Ag!L2vJQZns7(1ML0Lz3jk(XD`V!q#{Ef!$vQWyC=vCGTyyV_>~zFvNpIz)vXwB`$nm7!VS`x{&0 zyK^(7HEjBw`gLJe<+TYkW5RLcn$IQzcI&SRbWh{Z<`@0`I!-2#J)wq)J&yw_5@={2 zT-Q-e-kl&ctS9=Tk&R*olHR$-UbCJ#=G~HT{HkKcL}M(|UbzxUkEo#J^woJh{q!`H zp+<8bZAXxjpcC_h8~SKl?QoYne1*WGBuI3={i~JU>PKh=xr>}yFJt$9%*Bdbb-%1UR3uedqSyQ~K)01Ti^9+}Mh z2t3Jt_P7968rR71@Bn`>fylXuV_fFfS`1^5C@fYtIC%52;Jb+#LkkE9TeCLyVDD7l zBvXfKH4vZ2asa%|<96&n2l!>PIykWMDBFh;5zGyt<$X>C%ZNZ*GlNK$nE(LgBk)AW z3goZygy>Nv52?aaSF1*L@SAlZa3p|;%5;#x`&*)7WfQ<=z5Az{tmsn25;e|yLua$a zoSKv&v{a%2sb&Y6+sptlGs6?}ip&M|eq$x`&t-Gf#CEPZmYrcV1Hw4X*;a2;{9e+J zd%L3mDzH!3Gp@2qQ%vK=KEYgqy{X6hgN=PR?RCAM{p$d?KC7?TuQQ`gurGFaT4|__ zXf=O#V>=$lxC98M6rvBQn8y!$k_`wz-NtTagR_cORs!YTJp1kScKOXO|M1`b>t#ky zmM{N!{O(`rNZ19yfsaA?2?`GWy7lpMCPWe|Td@MV2j?FFT%ee1deJc;3< z9XPJ@x^8pL zR8B(_G-Wx_26^IClanmFuS66scM#hES<(}W3u>P8AA$|GHJ@YwNWEVTE26Z2vG3Kb z6JoYYH+d?UD}b`yTqC1f*(i3n1?;|#PhLCz9;>%8pDv>D%N%}Kyd*0CFqux>WjN^%E zwwmaGb+aF7n;1585R1Ys(SOGKKCcf-I7GH6~b> zYH*UBaNBt1bPZlz_#tw+$JU0!*zRL9Pd%XUGQdNOdjVLygj+=fLh7NlL5dX=O6uvDy1(vMPYLwK{`srG9|s-Rdr_EXN$X z#OgBZX&pe;#e8?U2h-fzl6Z}$)(zJ^c5nq9L|z6UmYdkHY0VhRd`^Pi23^y#yO%*= z(aNpv1Q1gn+C;Rna%4C0zD!sTJYuW`0IqCeH77MS&|dzxj}rky%u^`}@V83~CYF8y z!eUcflF-1J0D0BwR=Zb*g*YD}Hp4xP&GiU9@CtN|1V9_N&7;PLD+@jLHC|+3B2>Np z%iHGs55N5JZ~d-WMVhhoqyGEhv%mHix7*!sYaI&B;FuqEohW9&TIqj6U@}(_quoHl5w?B;i!^1c| zeJY_ooqPEDJhFHm83+nlE*7NzFG#dpAoO`CbwNV$|#-Ad9>UV`AR$48Gh z0e-a|@0lV8O!$}D32J9B=7m-83<8(T3eZ_8&}vl(XP)BDK(bfh?cF2JBM z$M$J(F)^#!2#EP3+}kP5rWu>I%a4WTIItim?IOm;RF8QzfPgjaO=H&?D60wPwqTj2 z)dhUmz#GGuh`|BADg|2+S+P#narqPuS&dL5!^$^LGnC2vN1334C-?tom%4BB(dL}X z>8^LuVX%S*x#$q{s{&QE0f(#-=2#vryB(W@pT8Z39YDD0$tu9)I}O;~6|OJrYIK8j zNjdU8_ZZ)ee&T$m!>j08*&OsH4FCFjGj8YGIDfd}=wC|&VZe;{){I5{*nQrA-t=G* z%kf*s==T}iR@>tN#+2zJytlh-?&x}KgVOBJ(`IbLamR^`>V{>2OrT?K@p@#{SAfpy zqj&PN_0br5WVw1d+nBi?9>%6}H1>F&>KA3&Kab6kte$}iwC@Unn|U>GoW%S&98b9BZ%}cR$#!F(>n!F3vWLClDH0PT4SHlTm*!XKRA1 z&I*DYaBA*jGa*(A#PV`}Xv}xJdixeYwxft|+p&cdVnlx6=$c$rX5eBgTpAZklJ6N9 ze>2AIM`Mitb{n_~d|LT9dVD$5&{|oe#_$9OuisJwP002ovPDHLkV1k7u BC#?Vg literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/index/ic_home_menu1.png b/smart-app/src/static/images/index/ic_home_menu1.png new file mode 100644 index 0000000000000000000000000000000000000000..49f90bdfbd0a0c6508aa8cc3ffa151ba9ab88a16 GIT binary patch literal 1845 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 O00007GP)m z_ukL_p6@yL&f+BcB&Vi!b~^GLE+z5xu5&!3pM{Qk>l>cwdB2lk=rOtL7cYk~U4C+M zY98mcMZp$>@&kS&*b@4{^yX#D_68qSKzCxQiL?55fumjykgD5K)m!}8dD*(7;gXa4 zoX5AGmIh-JskU1?y${XCtWdtU=Fols&Z~N+B0U&=ypjf(*E}tH_>)=7@_ z1j;#n5$egU_aaPY`l?c!0r>Rlbuxx8@BQJQN9CRK{{r9^dGLn8N;}%b$m8_s$7+(a%$_( zqjp7N-EweB0W%hC^&vwXin>o{t%DzrTT&~e_n!hXIiO>k;ZEi45d$P#FnlO8KbhGh zV}SeZ(E1!^-N9G1zfbSo(X%8C9Go=ud_6P|Mu52o|GwAsivhJr1G1GW5FtO?`jDK4 zsk!Cm-5MSUN^Y8dL)H7;ts8Qf9~{`N1D?I_mpw|7lba5_h0t;xqIwLmEq`Xeq98f} zV7Ug`L>wMUpj^r}I9?ukM5eP@Nzt}O6&;cX5AuBD^y~5)sP}shc;@Si^1!i4*|~bX z{Bg~Xy2=bAapQpr05U`kw7wt4y#*KNVCsE7ZDiu)SOH(XvRu(kfyK5-^1iYpP@-{~mc* zLwYf5%js-R`jP62p>eeia=tw;pJy#u4#>WQcLl2Qxlo39v{J>*ftD=7;{0lt zs$TtvCZvs*HwBC~4rLE=f&}cTAYb!pQUhQEYw@<*hUD2nmJxe5ZDyIAYd2*%LfNND zLr)f~g(g|FpWS+UYV0z!gbdl@6aTq5eFs56(;~T&CMC^I`$$ zpH>eNu&N-HKw?l8159OjU;yni`5Us*R5ZZ&ytsz8(Y<)Pc&<5%NjO<^WIwR1P-n19 zC-IvFt%b$T-N~`n%L;NY$RxqP6ydGIGYvEt#!i~MU;g{++D#g+7{Xx7VAX59|Iwuj za(!BtjmO?bsG%OG z6+U|5ysT{W$xlCg7olc|xti#%xF}VcDf}?Oj=om$Aj^@-%ur~C0(BKKc<7pI%_p|> z=rbb#{n@}!UhlfYTtJ`w`jY%_ZchGu=9C=2^o2CB24@(H^|06__z){FM>z6oH=tLP zfLgzBtOJ$Bxq+pGNmGaM=~1h5vCA-PzI%8Lc+T!xNT$m;xr~IGYxBIN3KCD>O7aXY z5`dbq3j_D}^r) zgbkS7#_4JcD5^-+noyF#)v8bpZH^XtIJ~=}puRN~vPYoyUTcMzVTZW3dgwJe(U!H4 zKo&GY@MkK76F>}UM(F%~*hfuY-2K=QBoy4uT(?qRQZ4u*gx$xDi9-;svG5`l4Pd!) znteVmx##ntq>|3*q7on8{S=;lsSM|TGtp6cbmXsTB>n9IE>b@qDf}A7 z=ZV?-nZmiDVe*u@WoFkb{=2NGZ+_%xXB$9D^-6^gVOdBK%@XrP2w|9XE_0}Tk#?QV zoZSDbWko*E>}o=-^6%7nK`xXk04wVD3>o98>0K)BrLs~gNFJ~wO}YQcKK>P#D{Pl{ zjlqx4<2tu*C3qOAl`lzo5YAuIO7?=5ajwms4PzabX(>GykQ(dm4@ cXg2!)0X~jQcOdcL$p8QV07*qoM6N<$g5fYuMgRZ+ literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/index/ic_home_menu5.png b/smart-app/src/static/images/index/ic_home_menu5.png new file mode 100644 index 0000000000000000000000000000000000000000..9cb79f66dbf5384b30993c51848dd499cd5af8d3 GIT binary patch literal 1879 zcmV-d2dMaoP)OqFLv*2DeDI|LUkgeIdgwxAVBXH|zpnM~wa?6GzIevNS$nU4ul23(`~H8ea}3~K zlLm?vC$GKi*#(9VQPH zi}CrlFBM#if#lJVm>Wi7>tb;6g2!AG8Uw{eT=yk;t~I#-!CdZPV=`Mr0ihXCUXQs- zF1PSYoAUDM$twle^#~4|IpuhxW%m z8jb55b{1Ts(gJLz1n_c_fhNgQ%dQn*Qvud+-YNG1Jk}oI!8-v?`~a}-LkZTZnU$7u z@(9371*a@AxLiKZ7`CUk19VLbFshE*6BaRg*RkC-Siq0JQn0Y;U!_H>lftB(a(l!A zjNsyU+D;NCz!5wK-#Z3iU@n3rfC{v+LD?e!H~{;Uux4I2))?T3;FK|n^B_sSx8?`< z?QfLrBkdvZ+B~o*z}VXoI0D+Sp8Tg-5L@C&yPYIO?2R2dTqYUM;_k(rOu^pN2C)6v z0Ckn`0s>pOPm+NiJhHq7H)0I+e|55enGXdxd8&Y=?})rHIjkKs*Zd~a3&4@U*~1EM z%*_C6o>uA9Tf`1cI%jtQ$5u%nfgAjyfTJf0YzG*B2f+6~m0ZXAvK@6{iA9MEjqN#u zX$AhMRA_dN9~)r7)MWgHgH4!lcYv3lkc6n?WCV=fs}42c-M(M)TNXFUUEg-D4 zPx5t6d zm}hnfOP{T;O59kBgAzKUP1)qB9XL*s&dnKvQBDbNsOYK=(1pJp9s|$N%wVvCk z%upC%)jY{r44s=CgVd{La%7~rcY)b6% zfda>1fP6?$Hk3X4C`;U5W-xY=|ICjHkP3B_5+|C6Cl`8susp!^*On7#y4Jd5Yie-o z4N`(?`t!iU2vANj_FW|*tV+C50LGKBTLvYFF_#TeG1GT$PWhDnEIX9vEh$T zws4(Po>hQ0r@A73H>v>i;G7>zo?s`qYUOD2U%JyIWtLL7A4m6h8#iA$OT3}Dh!jYE zd3j6zz(KhLiNx{6zH?r5zKn*A9+an|ca`NKDviRypWi0-6`{*;R zpv;B!(#`kk5qm6TLQ)BO@SAD=&4$tacDEhc9Uug@VkEd9Q!;zj4W zq8kml7tuve#;nUg#PPkyTC|6YYXOXkS@(Cl>ec^-Xc2r>+)De>RRO08;y;cjnaz8{ R+5rFn002ovPDHLkV1m+Pfaw4L literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/index/ic_home_menu6.png b/smart-app/src/static/images/index/ic_home_menu6.png new file mode 100644 index 0000000000000000000000000000000000000000..8a073a9b22d243e9b9a9ce3faf140918ff7ffe7a GIT binary patch literal 1787 zcmVqX4lubI8~IR$*+gl6wOXP=qheCzvWh6vQB zs&mVNIF3Jq7^-x8>OPKbQ{I)ns_;(s_a%tnJ*c0(NXCrZ&5_Ml@XJD3uyRm5U`4QA z^nugsh6!_v=2ZfWj&8Y(jeV{M&gc~(B$^~zQOAt%0EjH)_Y-j7SA&#wp0j&n^V zEo&33=Yl9Yy167u=0cVk{F;>O?PL(&0P@sx@G5lnzbhx>arw&wX2F>@@tSpB*Iv_S#qLKNZz1jzL&rR|kUBy5pyos=%O6AoP$^?`Sybc+Hlq1*S zz<4EYhRjk*T$7qaPM`v~w1SzcB@pB{r<{|^DeIJ@epq#{-17Ut7J4E&3PuB0VlBN_ zK0DinTW*Js?j23{W@xk3*gw0v>u0$)?PELE!?5aVICc6@J2W{ZD0hZ(B7_C>e36t> z{1sz|&10TP!4(iL0kg2?IRTE~u|4acuC^A=cXc7;DfXcDqOJtXCjuEUq9dEEL|KsN zLnGpjTctFhWrvOjz*y z&Eux$mQj?Gl4}(o+O-Di>I|U$Sjdy?WfsPyJEzQ1bhtTDP=VS&Fd)LV)Hh~$E?wf# zkE7aGL7`B9;kCmZROrV+R7d(`b^L#GI5X1U$IGvJ)gjQG)^F zYflMwPBeg(J*U^etnf&HhU{3*TVIf1fp#7|u-@t?fU;XqKumiN00QosG}Bx2%9pY7 zL~h%$%$7J(yNiu7@BQ{Zg8l1~_=F{v6ytTz#F^e2IJR{u46Nz{yQa*6(alS69zF2! z=t=NO&HYf@w2*9ZV%~z>@C(q4S`*L7mxlQG|d_!B9m`uz7j!q!*onCLE8p zd`l3Wjq~Aw^@~a6A`aF%Z5~YCumtAR+y|eIpQe7}t2(gldkzV&Gjw5_(E@HiRzdHO zz|*0CNQz_Fhk!b@A0F5at*3s6uj{A78|}D^@MNB@z6V-Q9EV?KzXP`x`?|GL2glf> zf7?=4&Xn0n$WofEPyqL>^_CfTzLTW}OJ_a@oq|@0bC)hcL(6xhoPnEr_ef|u-bwc{ zww-zHgA|IMvkt&Ok3UEh2{6Z`VX88EA6WZAvD(1z+06fewj_+{tWG#f$pt_}d%o#H`S4`cZG zi3Cte_1C{$aOT2!s2MN_hW70bht8fRJsuxAtm1hw+KwUf$|>rp&`{wGV6Ye4L!~U* zW+o;0wPAL!7iXXU!Z2i=7b%?vP^;y(z0iX{uF6o57ip5&?kK;Jg8G1vz2zlGt?YvZ zQ!!w$ZMd~ihr|GS3i4^!?I^UJKoQ|O>R*5%eTrAPapEddsZj~IUFP&|Jp&aAP!KaEw$l?nEb9Z(<6iX zrAVMXz)(Q})GCQ5WtN`513A4%4HrP=lvOiFu)8TxP)@jN6s?*m4SCR`Px_Q*$0bm5 zv#~MT4Z7I(3x~ zEuyG{D%*81Sdt*#4^!ulOfWKb7je5C(icauUVzZ1@w@poEFp5QrLq+!~N*g={Uq_Y`#D&Nqnc(dS!}dy^o-F{;zSIc1RD zWg_I?0K7WvxYz-=hTyItIC3QcqH7oWxZY^O(bs!m;D}jRI-mxwbr|5>h~r`bxb_gi zePh5?4wvEQyBqM!y-og1N%*^qhP_bQIeE3i0No8=*%)7Z#H>}`C}X5{vve+f`42|! zCVV{fG`#ZCo{aX?#m8qm3~*sgTeT}XBroMS!Qtk~cdm38;Pr8F@iw_H zwD*Q~n`1Mb0La+IZ>e;o3+P9HS}d4!*k%-ai5ihDoqKh^>63-ox+R&DP;oiT zzh)UlOMcG=uh+uSRchYhT2WT2b)!36#m~%Z-{cSy;MQkb=PGpU2jhJ*t#DMqE}BfFs-klP0D0o-|1B<&mM&Fo`0k@?6da zt)oMVUd;er#ViZ7FQ}ZE@KOEi^L;&b3H>wG4YZkkPwo3VISE+Z}_EBF3*Fp3Hs?(Wa#x>)vuX dJBFf#p~u1=h#p=Jf1UsU002ovPDHLkV1n_Q%C!Ih literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/index/ic_home_menu8.png b/smart-app/src/static/images/index/ic_home_menu8.png new file mode 100644 index 0000000000000000000000000000000000000000..4e6e8faa4a523c0eca485e7ec1ffc4f378611e9d GIT binary patch literal 2002 zcmV;@2QB!CP)NklBNc{4K+uk$h%*@(ruf6u% zqQH6ebj7n2z*-y%-0}41IHr*p^lyCgHT{+`zOBb;jPE&PGGOPK2UHZRprLn7VYAs2 z@$hR!R~+K6Vl`lPBLw1r@W3TtD}f`_4qykYvu3!uzqXccX@D!b;}TA)xfF0|Hcb$k zIsRwalYxXy7n~Cq2M~vSYwKziru9`sx$$y!pCxMUuy$Cwy1rj_|FGa5?9J^KB%>oJ)YmxXmQZ&j76Eai%J( zgJZB6a2Hx6g3tJ;2e2AA!;ohq9=lm>-8ChE8*b$K`}0@?d-s$*Q_oaz0* ziR>Z_7$b{}y-1)Y?T^i@fk22l zMR0`W$R82xz*N&33K0`)8luIR3)b9M9c>7ZrC0F;%#oQ6A?d~E=QQCFQVR90^(B}( ztpJm!3Y#*nQ;qLWc82iNK}@wyaTZ;kC+ZY;EM!2;f1~ z9qqrNzXYdG#n9AR2Q_r;O@Y&Ll(C-nAzVjvEW}hxw+5Jit7O19KK;G`?tdVFU7wX< z&({bPHTcA{1vs!Tg5R-2(59`O`jpNo$M^p4%CK*585)~vbs#iOEbe@dypXFq51dP| zTHZE&)ede~Z0$*Qdi8 z$4xh5fHMlPWg~s{Aw^-bbvdVPC&A3szN}?9k%UdH$Wn^rnHK`M{mwuG3~~MQ=K#*) zo6>stmk7T4B7zB%6g>UB)uc`-zIVJ6!q10Dd)g{BYwU{j(^MdX%JWCnz65u5nR9e# z0QdA2_2e>sIVhEo#UX$*XJR;W8sOyLF$``iL(B47sI8Nv2{@y@&FexqdPJ+&W|hzy z=dJ)wKi=Mq3^M0lkywi%{{k2@R>9mw1qccNVM)Q+v$1Ay>y}{z8be1frdI$QJWz(o zQ}98jSXOq1aO$LhOoZn;qG8eZNY#b_4LGmVHT$M&q~GFo5Gbf`EWnu23XUI-Vc^XW zrrceCM`mKv6+laykYaqTe2pp9=8f0Q^M?|fW-l~gxLEQ!i)vdON)<;fVzjQ z$*qoBA3*mi0fNu`fakpr2C+&do2&XQv(0lExM_9d1ccrP>uXUhUBm#Z>5vwn#dOW+ zqYInu`0E3Bxv?f;h<0j0mfUW38y;F;n#Iq2{LwIcv%8$!)*Giz4}PKG?bfDngd&k1 zEk>s@I&7mxOOT8tt*&(;GAOgf z4wJS=xiAG3>9r`ute5USG+zPt?%N?8LIZYRW*&{LeuFy<&79Xjox})$C6hgZ*_Bia z0@Of^C29R}xVE~v+RV9+F0LI9*y@Tfun7+Ww(ydbU4YZ>DZq0t@}Z)?FNEK)^BBKL z_vK8Amn=YIGoU058E}b4t^SyFHe3Bum^BE~p!+v*n&;G;6k8Te`t#8@r5q$<;NPVU>?ra5Nh>1di0OWSnCO}*b^VspZ41#)w7J4Rzb&3qs>cO3d1jpg=Pz!> z&2v~+>`lqSDNt-p2Bp=MnVSy}N9*;>MUAC%7|W=1iJKj><5mg+%@eyRC^xXo@yd-S zAK%c1fzhLq&=$@f!oNxI->LIA@Oxy&uOzE%ymaDrNF$zwUHaedZFk1VP z!#y%NyVQUStizP+FSvQkRUdbDbt~5$t^y3#j!?A?>jp+;{~MxmJeT86%Ec2tM_$`w kaOB7T`zQVf_-{G?2R4=POo~&6P5=M^07*qoM6N<$f;kAtp#T5? literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/index/ic_home_menu9.png b/smart-app/src/static/images/index/ic_home_menu9.png new file mode 100644 index 0000000000000000000000000000000000000000..0dbf339ae2bb27ec927b8d673cc1392cd7a329ea GIT binary patch literal 1790 zcmV13M6y4_~#*F*{j_OC#*4WybiU^_=1g%s-5L%pQ4Q-5AQa>sM@uQ|~tjTLp3sI{W z9cUy7S}cl#4wRxeP(+6*ZaGsfSa#7z-|Mu{_z*j*2F~YWak-XP8ZY| zQDNKyz=pEvYCT(cp%Ng)35hF;Hd&MVGX)v5T&n`IooKKj3PK}IB*d_KBqBH+{3D4 zplS|!UO~osOtcwmurWqxFs94>NB0sqyk;JJ4?*>%01YKp1Q_qPuieGq4F+y#k9nzM zX~i0xxnBS3-e0|8h&2b&th*E7#+^8^D`^0g0i@4AKMZ#9G~OoVPRP`Si%^ASD|4EP z0X7*!-Ky+$kUcEz=!XKT0I&r3l`Ya(MTkO6DW(*h)8O=`I)gc2)*Ic1#}1u$!0h@s z1?WM=faRP%J9cx>sRyUZQ3=sBk(6kLYI>u)y>Y7~>{ZAff&)C7u~T(Zu=XNQ;%Iht z8=WrNWYbU{^1Skkw5k^(EDqpG;OJ2@3V~w=m%)sGRtK0HBmxN2H#qS0!$*RnrYVD? zdrbAxbt!`-J!*;R*dZ2|0fx7M*|JwAQ`Z&@LLfeU4&cX6aO4(Z6GJ(uT)7f+nivjX zQ_P5KHTS5zP%R^w9cWE_fw>%mDj0@XKQaQAVuqNb`zdau( zajEf0T72@GC}uK%_?(^E$e=i4C^Ol_uCyw@kg-9J%B}z`hhz|N=3-<}nPiZ|7{qr^ zr3P8p!`T;1)8{}kJ~Rz)IHcPovI-&XH2C6rMOSxnYr8tYs)d?olWe~W5^Ub*-{2hd?~;( zQ^c0Pe`QX zeYa$g$ssV?XS_K&-+cs~uW9cH(6{+M=v#jW*!L$gV@6;FxC5vf5It}haQ4x$!`kBw z!oF`K*ESf00RQm|*yFdON#67<#wT`e7YBY(gAuEyI<(HmjAJZ_)-%TugM;n=KGk2m zF)j3AyYMKsxRV$&N7I;@e_R|K<_f8umK*`DWmG9RWsq(b_Y#wrZ@?`+?V_Vy%Sw*^ z?FX>4TLU28e;-J1vX!L`^K%=%71Lnt^pRY0=KQFu(AkkJD;&R_JuF?I4ne4zP2%epBG5l?w8=J-h;CQSVSD(^3{S$kLk}a;nrUQi^?vMTZ>R z$eO&-xo2WFaxB8Cj>oJP=BbSnFN6WEj`uxoQV%w~#p&A|cNCsVKU4i>I_CYJy1`*9 ze(jMgG6l!nBR~|Fb$jtr%p~8X5QDk^-9)e*{h|VI5yQIR8pwhkb-hm2m9Z}j?Z)Hl zH63~uWg-EezIEkg7NCAnZqck$&r}x;M!@tG_u#u-(>QR|Uw9bIJ4&hpPcO@#uKrNo~MX0W017%K5!J+2NxM}}c|KAV=30xGH g5(X~{L>Y*G0Z$&<714(f=l}o!07*qoM6N<$f`KzlrvLx| literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/index/ic_scan.png b/smart-app/src/static/images/index/ic_scan.png new file mode 100644 index 0000000000000000000000000000000000000000..affbc7aa20611e64ce2d6dce2ef0fb066c7fd0a8 GIT binary patch literal 484 zcmVbia)$@0E9 zmm~>^WCix7+fCe`_&_N=#e{77zJG2rwoyb=vtEZH`E-PV@1HTown`)P2ZIyaws*dr zP!I@Ni&iJ_@K2jumR-lPu5z2ENJZ0N=09mb&UIN)E~d#kEf#DQvJ@*NeF*xi7`J96 z6g~vPd>_tAl!u@HKNJ~ODc!wg>?kkWtaHOKR>CmsIgWFeYYXtuF{xCxVbUCe7x#*g z{*uvF*6@xc6>S}_Cy>>H&9RgvZ`ClGaukiMB-Rtgc=Gk6Y1$(A@KI5e@%>`eblUCA zj@BvVgphan!0^9@;lG;OG;x4wn#=Kf5Cr$oaZjH$(A#*=^Lno9zNE$f3?CM;!lanL aU*Ri$T-qHayz5Z_00000P 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 Ao&W#< literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/list/red.png b/smart-app/src/static/images/list/red.png new file mode 100644 index 0000000000000000000000000000000000000000..6540fc6a53147d54952905addce5146f4690be98 GIT binary patch literal 908 zcmV;719SX|P)Px&MoC0LRA@u(nXzsZF%X8wS5p8D4SS@fLkgmypg5F=pg=-VZi#3jfy6r?Xm|qN zf&z(x1`&yt_9&4MRLQOocZ1gJb-Z4CX4bw-P;{yG&feJm{Cnp2oC4;r+Mm8efENnj zI-u!{s(rAZ-RD4C*EjT@ZEGG>|9|>pbnWiArcd*gLIoITYv=0BYtV;Sk6E(mF{D); zOg{m_{Q(evF=GbReIqcaHVJ4jkj@L#pLwyn1a+*{5**YlR5GESTD)Byv~dt4?{|tq z)oejTQ6uK;uPdaex-5P?zbVhd4s4{ac;R^rI}pz5;NLxA`C zEJxKs@2Wjk617okO;8(Bipq(NKB%fJumzL>ikeUtP&WcGq9`i)NRx;QsxGHr5%3NP zDjT9;6Ns!vtF;Z}Hb$*0!8kciXFaVZd%itIjT)4)1{|n#YtTWoF)DY?-TN-6y1e-e zLA@P-lEjd;W;F^F4^b-$O?ah1N!Aqtby^m`6u`A4Q0v+`)?YD6#KcC@Y^KCUS5fxZ zvBB0kIw^yWwFc5)tNmVU4T6edV=Lj&vpqdw-0o1+!rfQI24dQcWjBG5y_(!k%T+N$Habk6HOfhe?TIupia@AmjHL!|m z9!?I6yOY1_%b7#>OTAQ9yI2op?|71oCsk`qQO)=DL2-oO74AfSB*z+Xj-R@upN}=@ zDaszfa_0doS0AmiHXf|`3vawE?bV@1Sp&u(Q;Kris{QFP0PH6FE2+dYE2`o;)R@@l zK?*9$?^8Xw^#~Na280_!m6_hjKVLDsYA(FdxM`9|_D@tk#1v40cP{-`A9g1FiWI`n z=Z literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/list/repair-report.png b/smart-app/src/static/images/list/repair-report.png new file mode 100644 index 0000000000000000000000000000000000000000..cee2265e0286ee78bb823535dc1bf302cdd0245f GIT binary patch literal 1026 zcmV+d1pWJoP)Px&yh%hsR7gvemS1RXuoHACs-WHj^_DrT?oHGmed9(DGTWgY+tLeqe+U=_ z_xF4R2cFv2iC^H11~~w^}KOJ#+bEI|K*t|QH(&xQri{w z|8MZ9A@D+?@te0pk^;f?vDAhHbUX0C^)TlC@3`f@)sdV;*EX+hmCfBf9#nzAj-?#x zoZybg5d?9JtsO?9soTf)zwB6Q1gMKyv|uH&Vh=iT5OUuI#D4W4Ra=o;TjAOz?77$B z>ZKCHeDX|UeNTNz;9f>7lG-oO(N5&vE;Q5O19-<~&8O(a&tdv6WcgFrq0Rz%p}K-d zB-Wo0$!Al~iRe3J?#^G1R3CIv8+qIv%REfYA#Cto2$VraIMhaHd9V=VzW<#St|z* z!Xk^Ck-K)Glc&&gdm{JTQ?u?k_J<9wG9#7e1yyWzb20uU<>*qPnA(rg-1q3j;Uc(q zci!!oH6LPsei^1l%fLNyv7?866%<%c$v$VJIeDUlLa7v(A&%Cu*F zOigvLeXZ5}V9bkIlyxrfgqTKY`PLs=v4N96y>UCL`(xv@MBmTqLFuLG wzK6Dw=Ph7aRAmMJP-REOgXtqP0f&440eT9z?Tp}1`2YX_07*qoM6N<$f`E4j<^TWy literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/list/success.png b/smart-app/src/static/images/list/success.png new file mode 100644 index 0000000000000000000000000000000000000000..f41996ecaa3548d12906dc8a976bea8587a50967 GIT binary patch literal 3850 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 M07*qoM6N<$g1xIb{r~^~ literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/list/use.png b/smart-app/src/static/images/list/use.png new file mode 100644 index 0000000000000000000000000000000000000000..9d57d11e33aa522b9f9f5a066032e54eae3ba3d5 GIT binary patch literal 5675 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 RyzBq~002ovPDHLkV1iw(BZB|{ literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/list3/complete-icon.png b/smart-app/src/static/images/list3/complete-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b5635fa86fbc2437edd8c64aa73a9901e3501775 GIT binary patch literal 712 zcmV;(0yq7MP)Px%f=NU{R9Hvtmp`bFVHC$d-!d2s6lJi8!A42kK@qpEQVe&oQ4|?47-X^76onXW zQItE}!sfEP)Dbp-|hAKz3=nyH{9WO>esKg^E~JIyx;Sj^E|Iu z<)&56#~83SLt_QU3f3x6JHKiVn%NrQ0B{W02W$t{2dG8BfAhecr0*rL#eimZ61WF z(v4!kkhXTE<^c4K^;Wf2lK&62Xo>@%tN5v-AJ)L0ljJw;PD=s|kbYi1t)XenotHEf zi;mu@nCYw5sw$4D6dJUv>L2cde)-iesJY+4BULa4 uJ_>(Tibnwui!la_DHQXM6^tnq^Zx}2zu75C*kd*T0000Px$9Z5t%R5(w)lQB=iP!xsFDG3X>5Tg`b{Q-u!>BOj$iN64N9sMsZCItpo7Z+z2 zod^RzfKgr~VKcax^pZAKO8b!4q~T64FXw(e=e}E_;9|i%><3uy%e52W1;Ddbyv>s$ zh5{0;S(mT2 z?xLQw`1nzdN+rzW`@AlVuh;P94Z!6ubg301$8jAF<68+N-r zd7|JhJUb4~K02HxssHYmX(!W`2%OIpCtDvS-CzSv&e`e@IPqm9z=dIC-&(O^9XTmH z?Mp2PFa&TD-3#uu#|Og*@@&~|tySdRn6;vC;0k8YQxyh|asU7T002ovPDHLkV1hM& BmV^KR literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/list3/photograph-icon.png b/smart-app/src/static/images/list3/photograph-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c3f96c6be49985a2e46e92b8e592e9a49c4d01 GIT binary patch literal 723 zcmV;^0xbQBP)Px%jY&j7R9Hvtmp`aZaTv!x-!d2|%3x6nNfDwDiWn#*p$ry96gJ8tMnX}9LESPk z7|1{w+`({*!9W?@GAM>S++t9VzHh(xc6xiydC%{j^WN_8KI?gY=lPuPdH(&xJU7jA zK1P5||IkRmk%GMnM8pE%1h5TQR8yg^z?h_;HT`GYvU4yZo&m>l0|AEHE$Lg%*(|__ z*aN)F3DD#FSkk$i^SOX;fc-fEdVHsW4U)dseMco=%D3&ndf;e7xGs}_^*!JVFfQqL z6>KSBL@Wnh1Doo8?JWGJfHRVwmz}Kwd;uJuMbO+Me}NTcN>%~>0TyONn*^L&OMtbR zXOEYuSOpk0;QaLufV+}@bp0d3{n4%H8nCj)drnCj>*v=5(8+#8(uXpD1nN}THvqDA zz<y9poGbu%T3FrB$!Ac5Zyj*6q)#dM zBj9Wwb({k0B)OGXN%uV$Pd{rFa9Yyh6x0>_3-AKb&n`;3Kj1_BxK+SONuA1!h+V+@ zirl&*=~D8&o~nB23QkE{nu0D%3YIZmmUKJ$TFLWs@rxZ}O?PdI2#+bx>0a|Plvb3$MgJSMJlwKgO1|~;!1X9b}S;ihHVAh2VWMd z*9GJ?&8?=)S_gC>!yT;J?b5pD9@*)ca}DTt-sP^Q`-WAWu~gx=0PmB7Y$ysAgSsF* z&Rh^)6r6J&eRXZ(zJp7;54A8{wm83&uFBo)bIsjbA zxS;2Px=-Hdu4erXXI(pUqqpHd0&J?{NWqbUO%-T*{y$R}3^;pBVB`P*002ovPDHLk FV1k-aQZWDk literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/login/bind-error.png b/smart-app/src/static/images/login/bind-error.png new file mode 100644 index 0000000000000000000000000000000000000000..db07f3836ab3a7c1353ac8bbfe50375997a72497 GIT binary patch literal 24335 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/login/bind-success.png b/smart-app/src/static/images/login/bind-success.png new file mode 100644 index 0000000000000000000000000000000000000000..6ff9c124313f233e09d4279ed85ada81243a3478 GIT binary patch literal 26725 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/login/login-logo.png b/smart-app/src/static/images/login/login-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a257338306873eb9297d1461d68adc258cb25e62 GIT binary patch literal 38962 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 X&9P4fWEGBd00000NkvXXu0mjf4Pfdx literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/login/login-password.png b/smart-app/src/static/images/login/login-password.png new file mode 100644 index 0000000000000000000000000000000000000000..8475337b3e635987a9c4768a2f7a945a0f11b9c3 GIT binary patch literal 829 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 z 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 |SrXb}<6|xsCTCvQ)A?cs@+Gy2sNMig*$6 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/login/login-username.png b/smart-app/src/static/images/login/login-username.png new file mode 100644 index 0000000000000000000000000000000000000000..e1e0a4573dc80a15a60d158efd3f3641cde2499d GIT binary patch literal 1008 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/login/wx-icon.png b/smart-app/src/static/images/login/wx-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0b38afdf4feef2dd676e5aac87a330b385613966 GIT binary patch literal 449 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/message/approve.png b/smart-app/src/static/images/message/approve.png new file mode 100644 index 0000000000000000000000000000000000000000..b3f10707343e0151b2d453ef2ac58cc6de5ff1be GIT binary patch literal 2891 zcmV-R3$*l!P)Px=1xZ9fRA@uJS_yDf)fxWIeF<5JAs``upoD-xLY=CKiPoCf8H!evH3`+Kbz>1} zi=wrrqX9%lTq27Qk)<6PJBZ5ImIg#k5EWE3#*l;QV@L>Q&%1v)=PvKuH9>9f zFueEf`hEZTzkj=7_z||52UiUxQZh(osRX1jU<`pS1keve0K*wl(Evs@AXElH`&l5k z_l@KQCx7VU+4sFccIAsP3Y6QR;2sdt2n7C*|0h29Hx6F=rXLC&6Z?ohVGJ(?l<+NE zQ|5j5eXyK2fjg>KU)ZSz=7Zq@0=Shmcpl(Q$YgxeNNL>keGCmyX?1uQt=yXO;OX-r z(rW@)CHY|qgA(R|(NciL8V~uw;Pv(5govmaKwiX`!`5!i$qDv`NUsRYJhX8*b#@d1 z__=)39|OGUWhN1^G<#S8x4rq3hmQ3`qDKO`mFsQH(me7@N2K zrwiA4k?Zmj6x5%R#~Xe*g9>9$D)~ z!j-_xs={0Xy#he7h*f{0A9y)*YSG5c^3pz=+l9{8mxzBbQdL53@fCl3%}&BW;MWJ& zT&Ak*BLI=T123t-VfmiH+s=?Qpgr9rMAS|Qr0=-$;V)zo76P;OzZBjaO=Sd1ae}ue zA^ib1F>(X}reIXmAY2?VPNvk=IwUi&Br%YKOEGh#>KH-oRipzv5hgl|Do@l97V{(52$_BPk*R+bcCk6wOR zobcF=)IXURO#-5xQNwBhL|fvE=@ybDJj#X11Fyub2^k1u0dYoauu~9-4)g&7LpQ0| zeCmB{`(}Sg#Gawo^LecRjoO)-C+aAZKyFpxa)2K80^d`ulOCId2Z!Gvz*o1PK+&lW zh1>A!#zYUntqE6ST;Gd?8!bQbFYG&WND_ERu%Uv(*k=hDhW|aiGd1r~lfZB5HpR8I zwI2ZxYu+G~BDE0cQ>ZEDvfPT%w_|8T91gaeKz`jew5!}rLvSKkI2MhZj&Xg5;zUOy z<{sP#RjjU61E#Y43PXmbKv(A_#Tkp5#R|-eaO5rmh$q#Uf7{Z1!7edFup$+^RM2kzVIG zOJIvrxt7S+_fN+BVH41zcHrKs^=MN&T}lH@3meAGLf=3H3XT-xoyG&w{rsz1XGyN^ z-j()v7R#<&KR{uf^+ZtI5|r!)a^Yo!LjIW*Hx|DiK2ZRlRlO0-!8T2#Qg-EL=og5> zx^ed+D$obd9odd|Pgm*z&#gT1*k@#M236?{#0~;85$=c%trgobBeT5K3CyeU>EU;L_;9IM&{Pxz!s4bnjZp z(%aeUCvA0Aq5_t4VD%1SY@!@#q!iqQ^<8I0 z#^s>r51)t;QSl;-EQ-C% zfOphR;(1@Q83$IipVMB18_=F>c_RsF;JN$!E#-azcEj;fY^(o7fZdcb8}Z?>c>SA? zvEg`$a4Yk9E=kg1Ks$I{hX6X*jEYsA#1O72&XLG1ao^2tLU{ui(kD)=Kp!Pc_&JY8 z{P-gyCLyzbGOAjRV`0r^U+~`jgwKP{aDgQ!n?}>V z@Ju`FqF*3P30N|!zqd%j@HmlIs;iIez}pR9I6|}SlC#0iuB1KJEvvT>;6H9Id+rZl zRG?YFst9A>!y_gM690?sorVfLdB`#Tv^|Ozlx8e>!Pse;%w^N7f%fvFdxWg0&d!!u~@4!q|NgM$E31n?o&zC-;6k?60YDq-v^k`9omxn z2`~6Wn6>-r#V@-Z_kG3mt528D1EZBhq}XNzjbiQuG&_Y4nwfmaITm3Nh_?D7ieB)I$E&R|Eu!+LaN(rn3vd zSRO!8_R*mqA$?7>pk|qRI|SLvU!+G4h<~nl^zS-)0?&{4nt*Y$iTjrhAz(g{Iv0Ql zwT91IEpPeN6Zj^86$Zn)R_;lC>b(8{3j)`%U@(&y#uH%-A5!pvG?B_LIRl`9foi~% p0|?T4)S>Jyy*}SJ?e@ln{tLmsGy`b??Y;m2002ovPDHLkV1grqj1~X@ literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/message/message.png b/smart-app/src/static/images/message/message.png new file mode 100644 index 0000000000000000000000000000000000000000..c359f3dcd0d9c0561daad096193d12c639ff3bb9 GIT binary patch literal 2566 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/mine/arrow.png b/smart-app/src/static/images/mine/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..0efd51fec914e8f8ae315becca54065a20273838 GIT binary patch literal 771 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 UyR0UOS^xk507*qoM6N<$g8q}H(*OVf literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/mine/mine-account.png b/smart-app/src/static/images/mine/mine-account.png new file mode 100644 index 0000000000000000000000000000000000000000..5bc69743beaa27ad97435ac1e872c56b02d7e131 GIT binary patch literal 1825 zcmV++2j2LJP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91Dxd=Z1ONa40RR91DgXcg0Mr_#3jhEHi%CR5R9Fe^SZi!lMHD`B_t6Km zw6vx4L1JQK#6k?B#)e8tc@zpLK^yr2RT3mBqVW+Q0kl8~iNps=RVopIm?}*gQ^Rgc zfo>?+5L48kq5=s&HrYP+OWjk=~DPT}!HO_$ZqTO`u@}&(uJv{+~FR5uu>eZcfbz12^ zH(D96S`?Y7Pv1sQv9nUr#@&ChcI83vc!X6BOBJ27p!y{w+^I;f3C2!aO%RP^Ld--v zL(RS1dD!)Fv_IK+M4=TG%d(hr_&fm1kwik2cXqf>CL>MctC+X2oM~E@;<+pWDJ34y zcUKePqvy3~!)(l){&ylG0lvLmk;Lse(slv_9F%z&%L#LvWsRRpDztLZqPsze7gd;F z`1xD$6r-CF0sbaN_+=Dw%N!Ock_r`^y$6gr6wgkNr|qHz&ZH2<5#H~}ErOWCLQ5#L zazXWMT&Cs3fk(4{&?f3F@L7To7ja53gXJ>U2$6||G9>yyj}=_Jd&=#;rrUSg6Blvn zJStbxgKgKr(S7Co>XjHwR|#%WI6EnOd}FjfW?U!iMTJ24Cvd(5KXi&u1T@&)zlPy$ zVcv+d|LTqPjKNey%%q&hI$Q_L(RiGVjgZx5R>gr z_#VsupoxDd1hD$jTK0{JPfpF5zpxsZc1ZcXLjzat>F(~nX@-wm`jm|9*AOU0Vl_Jw zi3F@<5|NZE70C}2Hi~&>iD{0wDTneGtK6pW7@?0=RTW@~-&RP@w9qT2Q8-D<9jT;% zKEYv8Z!b6k0Vu$2@HNFDmmP(Cn21BpGxjR>oW_)!G{||wpBSNbu5Ckqy2Nm?r?b8N zHv>LmqJSrL1IMd<&#^YBW5ND)tk2gA&)`+@3;A&mPRrjTrs-H??>T(vSHN6qKHV-f z)7vE?v~tOkB4n+V0YY5Ygae;QN!z`;*VhL}^s($wFqTJOQg8^!jqw`{nG17@tt+ir&)bhvao{|oU5F8vB+4+Vnov+lFfGe*~VY`Z1Y&OPYD z8-+GCUpIH|WBD{r)Pi={g>14?xDQtr6hSwh@Erxa#Q{w~7ab%SE1&`Qty)%dHknI^ z=an}kY;fF&j0p9(-Cn%i_e%g{<2eg#F@mFQy3A4Nvk|f3yYzJu9T5regVPBcqvOoR zG8g6y`@}wv%hhMZMTC+gsPPTh4N8#4*37A@DwSiCKXj5Y_;GY4+%otj9`*;IDcPy7 zSg?2+U@nznFvz&+7mE?v)!yzy^6e@}6WnHc2NpDnjT(oa5Vs6f$^)okVmejXWrU@e z7^iLsLGKh&2jwOWx+}Vm5lW8Xfh+H0=cO?&<9zv;BSSUZhfOG8s}e!8f8)X0iS|44!6x*u^Y-=H`bFPy7!oxy}%qP&TJG?&vDzw?D&AJoh7DE`P8jHQr?e>RsBrwkX+ zB6E$vl~5?fF-^RIn^gWsBl~PPhQF#>PAJN*3roH(-2wTAu3&Fq-NLQ5+2 znA?2;kNz&=VLSl2XZAwK1|AE%rjU>ZZNx!bvLUz3VTz8OOe&P1!tdO|?Ww~w&h&P{ zl#|=0)A)88#S#ZK;v{aXJh)XxZnKuJ-Qv9N-9$+4NaKOjoL=Ce(JjAbvpa5HF4TfI zWpVuDi?^O^X&mWQG9u2B(3178l){VqPTPhD?u$g;!62A2;dkF%s~$N2Nwr)lD^w#c zJ&_RMaOTvqU|P;sA!mkVa-)EdbHY#{J@-q0W^UPNL>hUhQw literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/mine/mine-feedback.png b/smart-app/src/static/images/mine/mine-feedback.png new file mode 100644 index 0000000000000000000000000000000000000000..edbd7246e9b87a7e2d2e9c028140a4c4365387f9 GIT binary patch literal 1028 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/mine/mine-menu-coupon.png b/smart-app/src/static/images/mine/mine-menu-coupon.png new file mode 100644 index 0000000000000000000000000000000000000000..a868c635953ce754c56ad34624b4f5b54c6c776e GIT binary patch literal 6826 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
-w!T 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 Y8*s)GAb(TXEdT%j07*qoM6N<$f=4<(w*UYD literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/mine/open-vip.png b/smart-app/src/static/images/mine/open-vip.png new file mode 100644 index 0000000000000000000000000000000000000000..1512ef3eef2a977940d564c283cbca9f23410bc5 GIT binary patch literal 6284 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
8c)X*P0X-r9F3mjor&{dc4hAiiG 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

CDy|Hs?A zEy2 zn)hFq6Qsvaj_lZve9=1G^EQXAi0~G$lsRPW0rSOn^|`;Mnd-MQ!S)5O=85wl{&O|H zj!1I8f;WX@o%c&AI`YSLPz;_3$1#`t;^NDX=DH)H(U+5VQ?UjcaWR3mmdv4;9+t*SME`SJl5B*?h**la`wLH-3R)*YYCyx2g}C2-Dd9&)ceBMl-yvIq&dC5zS z`lF>7oqlZNyQ|M3Hzj?%`T8`&-}|jBryc|LLsaeZE%JzYqeWtks~7MlE-|m??F~PR zs$x8@lU6*=Tlz`u3*TvrXhM%p$B}1gx97zMuW)nH>AJ_UpC5-jxNfvgzi{6~J-Vu{JWscuxc3w7k+By?(a}0^B>BMb2?^&5=cayfHEg~&f$1se_kp=C%i%sUADSZ1hZFf3(k*>_*n9Xk z*Y;#RkcZZ@ywFMPPkz22S=Y7CUu8G1WjPk5{6q2nsD;9u6Q}u#gJjw(e4-rzs!LC+ zunnYQ6Kmb~dUJW&YaiJ`Tm-2bhmoZ!Jt{CUmL6N(aX!>f21GP~9L+n0Cr{OcGn&k6 zK=gGp8IXf8?BY*p_aT$WCzKqScpb_47aF{N&cR-_li$5!;ud78Jnw}jmV9i@A9Fx1~rW|Fs!CYlIyR>i0u@%3j|a6dzrU-J`)E-TT9 zq=avq>g)x4NcL*}_=Ks?lZ*W@7h#$P(?xtuOKbuU!}R2=`sB}(7htxE39NJu@j@sb zdvr8UxKhU-u7T_Ru+i|T8PuhHA*;U7>U;=0{2YqMHtgAYO}3S6`8tQq5ce^3%-{f! z2oJgmbSBv7$hol}CecKbcHK#IR64p9j=u(qEL zF9F$_DvSEVIKJZ^*E#)l9Nv7a;E2dFOgG65{N#82;Q+3ALS{ciYeGcd#J%4l?C$&D zG4?gqkJX-*;GBbQ{w)@8-hWhW#6w2rIX*f3>o5Mb8Rmop+;0#%q7_@6hUs>e1DW9N zs150PvxND}R{X)G>seMX71Fp#*_y@?ebK~0lKxX^;)w$Re$Z>Yhnl2is0?9o5|JI< z2AS70@BhX1LTOx;?nT&J$nAIBR}yNuY@Uk%wEcDo?~WaBy|c(OWqN35)tt|gyz$}} zPjm094$fzt8$Ds_bP=T-P8+&s)f>tJfDkQy`!7PSB*rmv^>|0*4|m7Wir zS9x2Y;aw8ehu`4g2v0pV7-__dgoa8wYco2rWplkzck?&Jnb%TIIyY?{W`ml>vTt{7 z`-UB=k3J!gMaeRf<}w;tVY); ztddW#IDkurmd?maTHw5DoD814N$MsN zQ7u3B7G6BO)3}82YexE2qrh#}2bk>o^c@{s#PcGaJ`eB5h8*fzS0JiR^v6aq@Lm;l zLD0i)!!MJ~S#&miLATD^sjs@1vU@)3T~Y^at;hCo)hvW^dInLj4+D9s zD;T{0jNC~*KxQ4zLvoiQ_UPm=kL3@W@UdBuIP|PZKxcZ8?Z`2;<*{EgfabDMw-T4djT_G=M@8)efUpxN`-hw!; z3`4QGWGLHtJMBA1z!N$rc`o6S;v&%&b#3hFKux*g;VstF4*|c$jZVuO4|>~&_vrBH$xJfb-s^>7~j2A^sG zkB`0153cCLg^kM*`q4(mby*(%hkZpj#I5!7q?sqxVV0A#cQgSQI&w+a@h^3;LDOkp z#sXuWEc?lUZCck)_^;||!yQ?(?68Zz`H%6;^>hZ0;28%Z0TN-)F0?LNdL1-? zB&ZEd{};8T0J=2ShqBK$AswOE>Cj;~+@Cg!r8jx~=LYXl6~ zcm}ADQ$mj^xV&7ZW57<)2nG;?HUzSHw*k#>wa3_Ic@%Ie*N~mOo40BHlsgVR&yH}l zDQ-0$!!No}YP%b*SUU=7?>p%*%Xd*PQGQrP^3Xmu&a|B5ebXG&@zPu2k;Cq09oM4T zcR?hsj#vtCE}KsiZwIo0n>rB9(9|A%wO__Kc&H=82)3N!Uv&nXprvL(dSiDK$DjYD zH$EV86>E~Pw@vC#2O6 zVHoH(!!bX@(T?D!z%tm8;9(zi%@6Azt*hxRVMnLklsN#;$9j_;6URgR^oje(bk1_N zWHG(S%)P~4)a7w?HFMCh#Okq1)wj_zwsaZYUcI{Eqz0@NsR_ z5$!Hc+a+*aj;J^)KBC)vReiB>wC@O9Tjs^A3n>aP?9gR5#7GeaZ(D4FV#|*98F99y zeeeh!*r+D}RUiHMPoIzh%qGszn<_z7^nk?Cf%f!7!21Q9B{SYGlf#n}P3yW3SM=^bLDj&tvu*s;Tf*i_Qao zK~pJsC@y_mU!$LNUiT3KFpw3vGCuT4a@RVq3%bEi^R+u4*7-BPIO)(Hin?)|u4E~L zd7dZ_$P$ceF#bZGcrS1tnu|7+v8=w1#J>O=TraCTXZ4&_f`Dj!#%z~4aL!{n$V@=b zcU~hx+FeB8qC=myyH0nTaf&hT2(2S{aCRe?H^a66!e>~;zfsH&7J|z*YN>otn6LNs zhY7-h|I{`nk4yK9s-YFYW^fnXt?LHZ227s>6?iBLZya_5k5^r90-`1ILmD^$T7H}u zq9I41y2pVW1|8PYsI&Hf2|Awn^S*EQ*BDcu_u{)#I{iagcQmW7>WFdF!+Xr2{^itT z@%x}wilyI*>oqT^+iqnm#fzGoG#AD7Nw&P}n&Hxm1A0j9i9Gob{%VW>%Yia{?n;mT z-%#L5-`|pSY`#&r>kG(Q5~gz-VZ+|_Gjik&yYi=>kn6BOjLk zWl`iD(|=75kcqizK6fq8&?LwUkn8fr@r++A)E#y3i_R)M=@5M!>Zidzr0Xi_IGoX_ zW3-SN@BL3=z zO#%lrIg!HA8r@D?*abruUtpOh^pdgvYW_G8X)BL6KCx>{-qn27ce$3rP5DNBV_;@6 zAmw@j8rJ2MpgUgZ#9lPh`m`O>IqLF0*iF*~T{AQ89A6u*ODP#X+^(Y$9IDr`7BYj3 z;6}a@?B*1k6Fau#rQ^0hee(U!e~$DXZ*jg*T({&hE{A)9qVMa1B@nNZrNc_@hUWR1 zd{alv;@~0asZEgV*tVOO^l8|^t^KDQVZrG7uti@K9P|pCJ`}>aHiBtRK6>M58xoxR zsGk7E!U&3)st@~B{B15$mo8cRN2~Z*!4D`zRc6 z#kE0GlL1>B(yTP1#M)iggzoOOPbsEBS9*KK(NU0s*!>QUrirZKG~ zYd`7`ep3&2nM3h(lnmdR=dr#uxBHdI3GFz~zVhRyri3Xx$KhdE4oD`*eK&05VI?UZ z1q{lWN!cp2>^5c0i}D9%ov*r|j_{02pc9CE9)aPKuD z3wENsMfV{RGwzLRjI=hWSO%GvY%MUR98%p>oaa!)6N(Ho?l{VRTty8vDu9`&Qif~(6)D=>NLXA$RTBI zd1miL54`Ct!(_ANIogSgumrgwTFhs@FD*T7%W+gUZWhBe>Uz8HRME=+P^RIQt)w~9 z>uD)(o3|PL-1BDYNa%VY-G`kv?x?8`!BJtc0qZAYVVJ7B;yoyu7GUr<&2*MPYe=WW zc#X8g7LD$kwuHS2d4qBKTGlYU+HY^j=M|VDJRHl(sZLf#VRx+)O!IybWK55{fR@=Y zWyoa<4qbntLMdzyD)osm&DKCIS6_#S?qH zgo>_yK|6Y4kx>Ve1%Q6q?6-uxbV3rRbfNRG>Gdu*&ctD(ZA?ZW$9@|yeaBrv7YF6; zK9hF|X~+CP=Oj2DPP}b1fvOMPa?L{#dRiazq;4GahAUjmAB}Lm;=rfys-44zmpw!r z?(yPbeN>42mu?;-RPlkETIb#HPuNYz;kbHu=@iJO=(3Q7+AzN})j8xskRP<&dQR)B zx|i}_@VlI`ct?QkB}38l1cWzkHJ%C?$WxuHYy9VvrQoYliAWGH`b)!1!&Pt_!{+Ns znF8cG#~Cn)`%ipEz1wu8I$9+RQzpPfA(fA=j04l{K;1?a?qzOn5=^jV5YgQ>=fG)< zZJpdcaQN*DNu8~`y45G_XbZuLcyJ#)UuvB{C~BX@AjbaUJCF9gbzAg53Mh&$MF#I(w%b$y47*D9DSG_KjyL#tl4|u zI(I8}sb%Lr**bqX>wK;K7W*#N_4rB8iQ(QLekW-I;3hyrr0T9vaquUu*vBM0KBN~` z!P##U3zDugR|-EA=@Upm;gK^D2I~4g+~a0p95J+pr7~gNP232Q7ng!Oc8|h3Wc`^(DK3^x$35x#*I`*5o zLxR&+Wq`eIkoMfK1K$BJZ(`014f(H{YYV?akbGLM^$$PaE0xZs4SPM9U+}V+H2s2W z1aQ*oyY5j4+* zCfwFD{n5u4PAw}n1c1tjP(2Fd;y2P352U*WV1yqMT-Y(w%rSa1%r>O)-ByLVU~n5C z?o;cyE1e+wLaxK<<1no7N_dKx%dorWnGrwlRbkXWCSn|qeb@KjtAvAKKpX#4tcPoP z#wW4X(_SaAwEe9N&ZMmf7vO6Ejw||R_dHpSumPy^gRc1jJhgE#+M--`$xyt%CG{is z3^izFQhCkU)YF*lTjiFs8I5nIo$Axn^0Y3ypeLJh$H5mR<73>o*5%N2q+L)O%;Wf- zG$B66?QlP_HQwWVRdF$%aUC9I037y@(hc9S~An+4lymnIE|t zdJd;2rx6&kIM$S=uN#DPLH5hJ9GpKwe~Z7<2g9*7q9;3I=yNpaXcF;chV+{TIi3z# zch%>DZO`~jBX8)Ic+*w#DdVl*>5JHPtd8inc^d_Jy2o>->dG7G?RVTebrnbS;_yHV z^F~>MSj6L`@X3)6EAaKaOa3?M2%+hG$#<9f#f0ExQ~BYYJ+f>1$8O>w>d#gu75^=tHxIllz}m2X z*_Z}TN6Fwi%|p)DsZJ5xBo87Ux^-RqYF@^+P=*$7RiEfkcy6HM6COqo_DC#m4hWrg z9$y$uBgFaO7;}KI4P9lRv{v=$q8gDG`_3V9yMycry4^Z{*PZmOo3j!$VYJ<$G8~AR z$cYzzn~US8iuvI=6*#7An2+n;M=2lpS1!YMa>gb?`#&nAyBok9blqc+G&a!~@aV&v z*Ws~V!#o|8I}R=Gbe=|mzHca&7~?I)GcmW0otdY3P)~Hgg15H2e{l+MohSjAE(}=+ zLah`VM$Pnk!oz#kl2VQh-5OA|t$tHX^S1_m)Hh=UkuZg=s~iX)BVf9q+Mcoo5PcIZ z5Os~)`R;5zZo_}Q@9s#OZ{=?;srXwnd?y?1P%nXlcpL*>N`^AlwN19x@x0VNUjl7! zIZzcAilpg;iGyT-e1qtczvay@#_L>Ka&5bv9Aaf`@(3z#C_0}T%25aU3#}3~V$tjz zj1&9O#{GVnRUdVR+tJHkm1%*8I%|%et)KVcX%B0@cvwQn$x^N7ZRYZClw~e7a4!;Y zr-!=A35B?GY`%$ziwkv8f+hDK--ALGmuDGXfl*rBOBdAC6c?6`bGW4f3J{8lF2lt4 zZAZDB(DDN^){}O*t~jrFv5#<2r*;(v(CcgoPvJ`$!1I|c|RoO&))Kw>oFR-2HoMy6g zXxD3Ea$cM}yXA(g;!q4Ir3@W;;JO>KU)4Hq6?l-_-Or1|`$97T&<+2}V7TRV7>H;( zai$3!_D_$dSmQFy*uXdgXj^vG_X+H>5;W!wAlKs|wGYj)$^jB`K7_+QOUDM#DiU{1 z%SQMqjVc`Nc$^TOuOaQ!~(V z#`7-)Q=PwlbXr%}XxS&#wb)jemcwZ+%Y}hvhvl&PSg25(&S{XJe^rL4eJ=Oc9@Tc7=Svu$#Xr9R9oJ{8t!HR{8~Bro;PSfhwXu zw0qxOrP|up`bl!r`fyxN$xys6=7;sM&;0NXz0)Xtbow*%1M|1`6`eM@`UM161cdF;D^e}OTV?<`QUwL+2CjOfqxCy z!Pi-tV)}K&C(Z=;1)XgH7+Z4}X+6~4cq$6#B>+dZrpjXe)gI0hT^KwqmI9f(BH|3< z;a&YC-tbo#iU^V2+B#N|)(_<<7M^UU{TAyx>Sni%5M#fRPUW#78*%S8b4wKn)w?1a z1hu;t*N?iLcT?bL{-O|{r$atuU->_Tui^Bk_5?TuOwrGsmH#PX$yf6iHz?2B0?EA` zUOl{Lg4)A@=2Q1SLVB;=)?jv|7c`~!nOtG}`|r7}_?v;$$2P+muM|q9dkThV(xt>9 zA}}k^e)pRU^=K6krjhaRH9C6(KF-$}{rQ7CS+d5S@ME2tc{)(>95IYGCXX~!9kxDJ zgD&L3asddlG3=9~&yURQLsA~!G1k{)0y)(MeJrAmqtArH`ueqp_~OfY*=y!Y)3Gg-@c!U< zZL5I71&_H7jfZu552S_LY}s6?+GB~?M3!ONxs%~50iPTDuJhY2 z^Vnzpq=(WxZ3l3#N4uGw^*PsfqBBU3lO$a(&VR6uzMcRuUe%IfVm|zz~=>7ynfvL{}l^}%-8D3N~c%Wa2{pM zy5a!G3t?O-sx%!%I-;VE@vwf#Mj*`B2gdkETp_BSqdb)v_EB!$*SS&lR^3v%cj$v) z5S_iV<%VVkMz8Y{N58dW-;Lo-<7l{B)x4H{qLx7M2hL^Tt}tU;jk@$Eexhv{hkYeo zh$SQxL^~BW%-D}@pZALx(R7{beCEpVNsz<&CdXnYVHM=UdLaJZSlO^~UW8fohBDD~ zxb>ArE0xaX6AxyU5Duj8lal2eKK)CdVG~FE1Rz7`s=jdeAs*27!5zv|8_~lo@{@WB zc{GSeBa7nZhm?xF$XotJ0j`i%;{utwHHTsK1GdZJCp54j^tG5=jd5AWH=0v{;Pj;trm>x%Aqle{X| z`3bmaccU|HO-pciT{@i~Hh1-P+@!Cy?Fw-L1R5W*zq$4_YkLK3qN$irqHxt$0~i+> zsKo&`6vt;5cU>cNj|_lmjTNXJ?C%`L&N7iP!S!Y~>toJ$&GGmQ={ChQgVbI~#$oT~ z79xsqaE1qDcem(YqV5Y5wfCDPMxPh2a`(D#@|bI#jUH~ykcsRkPVKB0iDt5MZ!P4E zxV3n`ECJWNQJx1T+3H;%5(#uI=oih9q76mc+>$ub=)1BlUwvHD8P+6$?;+OfM$z$h z+SUq?%Xyk#rrEBC_RaM~Q8Uy;8)@KD6MtF97dR$Y|Ht)Vs5#VpXouA_(zAo`1W%I# zD4P63{iR3qS}x??Z$l1e?YjlL?RMT}+D`bu0;f65a#+vD>2&RG2R`NOF+1Hn_&OJM znr-e6Ya7S0?$f*(Z+`c0IFtH9n4lB7ILkSd?IyJLU2eag-*8j9Zwc+jcghCF@9$&5 z&LLsJ*qSh|4|^Co@9Dw)R7*FAt+D@9Rk0%hi#neq?V-haEpPI=+#ATrr82@Q83#Bx zjDN;H>WC{4+s_a0_=N$N&3%3P9ya>Zr|uDA@; z0K%b-1R&y{fJW^aBo4Zzg?Ym)x&#E z4D-qVl)P({vukBXapI7SqjfdrwLkMM1d3>g)oqvU?!T49^=6(foB!ke)?%f0UQfh| zY5g61AC^c>cp#89^NsLZwbShj*fQ_tYrRh>@WfA&pSPk7rB1_%7DTj~FF$=}!0;}| zsEzVG5BiiR`uua>Np}PQTAJfzj({~rwTzf?eo|gsN8(L}WZc*^uY~%68;(t?IrEyR zdGp3s`I64GUA8C+8%STcECFepad2JzqO#MwO-Wj;`kMpk`Lt6qbYyFkr~Q^xa#PQO zYaxef+$s;m!2>3m^7S9ogk9mPW59W?AU!YrHBtehV;Sl%Yb4q6VyEGwB}VHX>oE3L z$XL&J=WBAn72IA*r@{QL^@7iZkM$gLXYaPYo(xJC;_>!09ebs>I8z>dabHd9deOld0A}QBzxXte3yAT{1Vh0P!i*fht8(q#kB|r zm2pIJS>{ElyK=Dc>es{m>3fhQpoC0eRcr3zH>WWZuoG6qg#51KLOzUUmS|n-Bo2$# z)x4G;@}J<#B8WC@tRE+-8pdik=p05)7Mk~+I#-7XV{K0l+*f$)t|L^k(v@uXFpcKI zksuM4HK2rMy!g1-ug?tONXVFv5vF6WL-Z}3_(s+ik!sa-tmjx?ayeV*sj7S(&Q!J- zt9~ymI2>v-7-z9G&yYr1&fa+e!si4FZ0eHef^NdmG2bfjX*@A+?PgYk!T+Z9I`$JV zu^4WNb05|U)`IkiiSql7dG`fudHZ$50PizP*?YNH{2ro-UP#mWw7d>6G7!4>zewgf zS2-oIvl&-YOD&Yn(Sg^^KUQ3KFXF;C!b7SbHWa;x8QxeEpZOFE)NZA2FvCO zH3DnC0&xO0TNO;$3UmSC!{yRsPG6YSmafesD0dkY#)ov(qHj9mWREavp_d?gPP5Nj*-gS@rgrSyRw zdf%U>cU_j-VM5W{LD{YMx)a`@>R~+!U7t&Oeba-xd8e8%+F*H;_`T~O)0C@b1imF$aBQ+^J>B=f&*d%*pLL5al)CtN zdM2s?&^uerIQZivnV`E)CE7VJY+1*v_4PvR)-?#&pOm1Mgc@%ckT~m2g%b{Rj`oPh zEj%LP47bd%6ad20>vKOMeNho-3skMiT?N=5cKO{8ISreByj;&JTi65Akqc}lI2Y6X zYoXn@>MfmJbw0!buIGg@w{kZTHvv1i%d(upy{^o7Ti5$ZnHb)8wgv3NYu=)+as6dK z9Q&=Jb^|Ww=gNt$Ps^5Wjo5UG)lqR z>!Vv_SUT5b4GDq>HRaT$6HVJ`sO^|Y-EbR$h=7G3NW#i|D2?k$4gM@wND87=+EA2- z1NNAwFqJ#BF`ombi&R2K05PQv#eVUI$^8Z9IKe0*lp}AJwSH81FVf^f+k!2nqQv3g2(3V^<>Rs z@EkaZR_s;Z99RCZYrZ^hmdu|jJ_4r)ck@zPH5)NZjzWB?Kuq&VaTKQ_o!4@JPe-%Z zA^1<~%zU~@gw8LfGH@vW6&IPmhr%!9@g&YC^4RGjrxsy-?lICGuL0uL3MQ(@Gv_QY*XMoIat8Wj~ zIMzcw6t9lEzVeOXQYZJu%ccR~^@z~hK*B7KO?09aI{nxfR=N*{^ea3$!0@7L8S2u) zBRn#ZHE&525!T@8P4;wN<&b-Enx~tcqw^ml-62~%r@Xo|ev}zIl1yVP7xC z#%?A2v{er4G4a{&Fv_9tvMe1cStm{)H|siKzwPv=p_d%G4hPorW_b#K9N;P9)?hkI zCa|Vu8(GNkdd9cF+2}CK+525D3Wbh3M4Npc3Wn7?V4!65`j_c$32lezZOchCjwq^+(rmNju6)z@`~z*&*17 zhcMTK50B{oMy<%i*Zxm?Ms`3VLpbQL9NOxmPyVZBzvC>y-^C@L&Qt9>?z6<0AcM^> zUj_*o4j>_NO6+`)CbR^exl&-!HjTbe37z&Qpj|TuF|?j$SboXTA0m4GAl=nBJ-BZ( zQ?QG)6xkO2Xv}@uaQTib%2Tm@vRl3uuvc?pUG5(AV2xlV$#o#H{4G{n_Sk$pykqr? zbDoFt0H|qv?uVq$i}TJKF)nk0^VK?R-b^B(pMLcheUK%w2!o^|j>tnZ%S#EJ+ZQD3 z{GIxmj7ZS)I3JRnYqKq4)-d`mQ!)&m7RxzkMARn%;q-d1X?J~HKb>#~SZvA`cUO#r)7jrfO$ML>?C&`G@`Mmf$ zv91tdAchC`zyCctv04%0VVF*T%FeL>Xp)J<)W=zALn&QRN5A9KRpQPkP~(L^%fPj} zFZevwLzN231b2BBUZw2^jjPpxFZlG#vEyYjqj5e6*cY}207k?>pW7}^(mTzTAm5cX!K%}VNEUs)N$Bpl5Po6fT)Nsbn!21ne=rvziieA)O`aId(=gYVqAJJ0f$SG&C|w_VwOt+I6!)&4oh|Sx zFMN_oZfeWQDWwgd7Gg%wo0h-1JzQ}+Z%Z!KAoCEP#cVxE?E z!rEWPW*{cBUDu;Pvp+{%5LNmgD^vZWE?-yR_I|T`l@A&&9NQMok>=#ZJkMVi=Ni3{ zEX81_<%#yaL3IZY8|$k6sy&tJGpxKnM17;0MXK&7hnQZjIl9fdeVb93#uDE9?QUd9 z)GB06MqhwAYYU(1pHW};ysS#&k~*97ciTzd)a`MSfR-0V(@AQ`v0laqxZ{#zf7sQm zT;wDq0jsUzLYaJoU<>IRaba1ZQJ>|=FaV-qEN_MYrt!ivHFNyee+_fiNC@+#@F`aY zOg2KB-Q#Q+kK?iw*I|JA(OK;+73x(Z3@S@-rXDgq9RO%)j#4wQMSawM_{3p{<%aMT1#ZAmoL5KUq zu{C5t4%=d$jBT8~9@nMwArm0@q+Nf0v*l)&@&K-JHa=1V!`^xH1~KeF^#D&SeQ+UZ zdNVN8gJ4RqBqGN6Po)DbKaAha+ZaF&2;OtK_gQixb|n=Z^vR1XtN~+IkCP($TGyE9 z`URT%Dh_Yfa~L*S=GA(K+hue)MR{X@)BrA#6;`ma>=l*U=7c`%ZuVoe-G68S%&>9H z$V%+KnF`zthidM_(lpa!3fjAQ%d9OJ)dV})+(7pPcz)K*YZ+|o`9K0+Pd-Z4hjj|X zIky2H54kSKaz;jv^`!aFRgB*KQP-b)h`hb-%L2?3;2g>kmggz|C`tTx*dr#(KIJjp z1W0`H7o?Oy*7;R#7;3v079|}nmnIWWOs`zPnsYun867xRiYzs7?KlS?5V&Fds1LjlRc0p!OYxYF#hmtN>}e za%PDWFm1|5UWbLQr=m60QJ9ev-RLA~<2yhiKDyQvl5w_4Zfw3@;LrM0cR)vZT=kCO z!%)vK!Y8MxlcUJsjpp-xFb&)Jc*>;6m5YB!Q+2SOq0CX^`SZ-ZSX}2ITAV-Y_D|TS zhj&l#LSGN=*j<+}F3vIoCrsL2iz(Q|$E1zrPBy#Wk_R4o!oF$Kc^L#_)8t8;GozB? zzyr315(hRUc3%EK37=m0LtmS7`3*m@aMJgu?|mTsT2#AE0N9D%WeM{aO-w(a+s)f_ z@%*M-4|6jf=xBAZ4TI-*c;cw>4CGW_Ueu?3S3zf`rlphxv)ZFy^|_2DN-&r=%^hI&V+GQPATG3^a$FRdmUT7dGM<&r*Op@fuJ$Yg z%n0{G`?$gu97TXEGR5E?k<$Bv#)KKjJ{fjbbSV2_CQ>&5S7d448+l5!VC`SbZ@ate z;bV0Z;6(x8^M*Ch$L^+YI?MaoH>izC9FV)begiIN%VZoT^Z8n zKafWoAprVLeDpgv{Jn{w8}9Y-HJqR%O+qb4H+nXd^b^OzZNJQUchfnLHLGqNjzIs? z9cISrR%$6@-0o&B(MOEyubmKnLBOL}ntzgq)6YD^x!__B6c$e8`Bha)yZ1I-H8Vqi-TQ@1kgz=uSkKp^ELe8VrY>fE}LR~bF5wWBzj?4NA z@oSY{2X(P8T%U^MCQyaj6SA)_=3O&<=L=g8qYj!ctjax1HGlHwLFq&He5szgs5o)T zB2U6k#4saG@dfS@x{Ox3eU8|kn6LXDjqtAzr z7?i^-r*O?rc=|r?|GkN7@XmzD4-P52trA&0E;UlvgKL!=u=~yRcsFu9JbL~H$zT8cBY1*H|L~N9Q&NuW zw#4Q9=q@?rST7Gdc6Zpwt9{@1dyj`>*H~~`$J!=GCYDHD_Bh0l)G!lYG8O*JoHtYl zRIX6sf1&v+M$lwmys9I?u8A%aKnt6$RQ835xzGV6-yn(@d^Kf?UX$V-0L^FgB^wH_ zU=c>-tCpn-`#R{JxvGu=*N1nV#~0OkI?n8E@ZI@sy{yL=w~3F7urJ1vhx^rx3ZA29 zao)5$m?z5;zNxD6Y%0`yTZj;X_c>7dVGo zDpZAsW~p6egylYo$Gi7lTd9e3G}RYrvOA2}!=P7qbQ4j1<6-b(Bo+ISq5?=5uU3ca zS=<}y9m4aLgmewtF#O207P^pmpIPGe^<;tWyAS+pkcVlBzs<%9AB)UJ%Jn@17K`gy z%$MC=A(!B@!}Df&Li~__{iFx5NEz9YJH@)R0%_Crm zZ1~EXX+)lJ7gON>|*Rr{Gs$rI3e0{Lo#r?P0 z=0YM(8m8-mC&DtTiLTGnPBYco9ZUFxd)+aizBM1LxZ4Q4fuW_Bvnl z#(uZ{|F%!uDQb+D+)fj+=OkC*=xB)Q1aoBO(VhC{U_FFLRB?kbR4+>}}8U<75RP`_zC{0q9r zd4oTBKceq-wQ)7NV_IUOG>_pthhd!8)9c)5FIDZ64+@{^3)WuGL{q>}yuO|&SJQ)S z3pqZSNdu&`E9~%=TWKRk^JTdUk0kn}Gl2d?fIpGSdS9fFaRQTTbEA!Uy8*26uvqY|}BW%MI+xbecc* zU+z1_bl&X%lNsNOCOW1eu%Zja_tH8oiw9J;fBtg-=~k{(B;tVNRi7>xcz_d(}1wy!%mYw`q`CjSDPGpkRQ@eBz%FxfgxIQjQI;I;|Q1bU$_$` z=s2Whbr1u3vIlwcmnf}!$07`iC(V*@ZK%f6sufXj zg@bDW=ZhcW6&8K2**a&?8&}1K4L@I(`7>Vi2|j)76dJl8o`baq@iIiZ(c)5qspwFl4y-s39``1+&f)Q>?)i^;|izxn>gl6{|9jW?j13-P1ta}IaVPv(ayZj^MJIQ zTJ{8Qs=UXT*D}zWx0LL&Y2WFt5zdCcOhEm#mm9F)5n_5v@%Z3J$3uA z>p=xb=;p+x5d7G4py<)m3so{*3Ppd@gv&s&WY8LKNMXtl0i%{fhAG_=sxP0G{`@0` zmJiFM()AD}TGxl6c+{=jV25RUbUEcb87h3dd4MkKljn>#)$b=42G511(Laz!o+H6H zSq_ir5BIBVioTn?4NHfwL+m%%e$&{{OeT1I57a|@6jtAT52yZNx{%b%EBCu}*MRi1 zGyY*8e@C8w^ohmgMCb3y!=m4mj*C2eUo{8z0&IIpxSKD}TfNC>{Q4JJUvhWYRasmd zJnxnjM_y(p9aWc3j`?A#VlEW&)Om4%!Q5eO*!wkF>T{h(qGT{p%d2{>5;okb@=U-r z_f%)tlm z&`GhIzwq}YT?futCz(26`ennOje@2Y{ca*v)bU&F7oV@l*A1=@;N%9buu$|C0om=Z zlP9nUP231b^wW07AKbhB_fg8ue;Wue*9#dpe9fb*dDx8?Ti*wjFC4~8W@oY`uO7l9 zkXS#6AnCJT_~g(!pWf53fe|ij;P^l6qzLtpVZd!W;Z>aLv1tmlv4gPD0QR;9_I}`! zLUn{b$>{v`=b!)a+aG_%y)c}-+CL&T<~Io-;-;xC2l@v;9lCRM*~2llW=Kl*8w7p6 z&U_PzI_FQ^9c6ir`P?#%%EUU&#WlIHoDBCV8T8u*lnUI|Sl=8hjYHn1$zkc7$|U|U zRg01xT$~E(CSk&hKg}ay5OS{Y5Ip`w-$+D#{3~m&UwJ9=ljeyCe&wvh?@6eGW{IxN zXqodOn8p$QFY>^-}#jyg)r+ZWiY4?_9~F5ukMniCaq+2TAtN-JfrXfY|qXYEoMXG{Cn8KlqmmcA`CndnL@Nbks zG>{Ou?l-Yl7&s>0BwY&(v-h3lp3;QLvw~jLJz`mM!>gPN+DfB^t=_VqY%ew&4%zv0 z`|80J1itRa29-XIq!X?At^THG`2a?3f8{T_YA5)sI-DEqcO*9TvE{4VNT@pE-~>{_ zUd;|9cFO`tku~W&ZMsKglwxtX&YohXy6l;^YUP*LU7i)*7^sCqIpX}x^N@Oe`+fXE zFAs+G?;gyB9{D5w{NN6$Mtk6_eKDpnFCyr~BLOD|07*tqmv)hVIL}94dn*16DT`BJ z=;L9N`D9(CgKx`f!=s*wJd^To%dvMkS^o?hX7(+uh1c+9i-2*?j0*o2!T*W{<#9k? zpP}v`^5#+QLHX{uOZ+ZUsCC{jdj1kHt*7gh?+1q}I~0$f`NTfAu*7_=b<%&^-Xjl2 zVtPF%4(<0`I1ivAdgQ_RT6+k$dzI!N<>UxjonBW<@aCx42s@3{&MuQ);6}1DH+N%r zKR&8w94SR?El3dfpEr&hr-Tx<80hYi=@m2SByaf7!?z|0P4p$eMPsz-ho8ZO6UA z-*I(c=f%GE6Z?AK6*ok!nHLlFKQxxz!@QCY6vOSjUA_ri@!k_WEaF>R--pd#G@;Zu z;z38-n~k8qz!YQvWkm9H8q%EB<&Vz)&6k6tLC9AX^kaHJ*_4QWWemOdkFKl%o9BBx z4=6k-r!kw>z9+fjNv4E$gp5!4tK3kk+HmPSjbZA|cH|mwx z4HaY1_1b=7qJd$5Qy-E3i^k*TGA^3+UM?V-i$E$r1iO~C$mKeBxEHoj*M9zX{G;v{ z#19ac-T5@Hr#O&Dedx!&qxYhDzV->W1XW*nw_#qO8h|69+eTELjx3{$1tf!!%dv8FRD`jKvsmzej~OS=ug_0JnQv@61L~-m;6^lGF_dH zg`)MB~#xU-)sPc{rD27LEX@ZsI*})4sdn z62V|uGTe6cychK=Zz4yE)IN2I$u@Jb$0~C002M$ zNklXwDh^vJtLx=vH+Q_&j^0DiJN z$gt8B9`G&AfQ%ypQ4n(X;Jy~qgTK(Zc=)6^${S_sBJIWbL0*sNsXXBpP_NH*uCj;Z zk{qU9_ZZgU3k?%5zVFUOPBIbZLb9~}*D7rnEar!Yr}0TjR2F?6s`OoVn1fXJ43b13 zf&7! zRb7Ey!=`=#OW8!66Ee;px129{&U9hX#u<`*rrWX-A0s%lQH?`7--?;)255j~*5j__ z6sL;qxsnUfOz>-Zy?z)eC0gHS>vd#&qS9wb0g9_b=k@T)c~*9ChjG2BY*H}9t4^3e z*3AV#Mp{+6uwm{kVck@^W4kQpv$C7NDXQ~c)v?w)5zL(vT^Oe6@ti2k37hnTw;#$2 zhXOloDTo9z#o_!j?}1-JM8g9NjWt9?l9%WF&~>gxU%%*x1m^E3gLUiNRg0Z(8#?y*KPyt$Fy>}p6KnnAqKy1kRGQcAA;ZQ91Wzga7*-N4f`o2& zIAa#MyU0!R2S0VGu+V$Hh3ic>=|tmlYrI>6`C`0 z$@zK5G?q-H&oj%JwUA-Hn6EkD-_oNhn&yw?4c*saIqnWW7=~vY?H+=i% zOqQTbU>T-#0Fpp$ze|L=NeI-OF}y=J8!EmiF_Fr`s}WBt8%>GC&;-h8~Ovz z7S+{@1San89`-_~+)tWPW?oLt^=9FI=X9CfCjFvrUG!UFo>HH%+G}B~4;O+5AD_HK zN&JxMNWyV3iHFhX!|4}1bofw4Kb;~N6M$$6AL_8-4_~*Z`<1wxw{i2J?x4y%B1Px* zgJwGF)}{|G$rEoOql_Ouyn7rk>OQiL;j^BEpC~+lnxG!JPqZKBf`x|HRSRFuTVS?X z#bIE|K|DrvICBplzOV3}=ReCDbe<%jrW;q_BVmn-4hdqzt_>%uBf6;~F^UHF? zfat9v!pJ~dGn9|Ir{?~G2V)nq=FP^5{q$l~=1KcqF z8J}kUSG;8AaPX34*Noz)!Id|FMS%vtEP;@ILLSs21Q#ZL8LVmun=UBb1P}f6Wp^0k z2nVg(vDM91Ug5OwV)7)F=h%mdx)-WDAeNVC7c~Gn{aV=Uy(F0(jL$ciD+13!_uDqJ z%{}nox@?GUUSaMx_*pdpo(c#fcC7}owZdE3$pf$X4cFZoAn-f^3gRa|`dEbPA>8ZR~#$^ZJmk)Q# za6AH>-SKYTR38Ooec%2GNGfrOt_oTjWAivHhsVc6=0zE6&6^<)Qn}Xx9%9v|sToUFdpFq_Xk7jgDzV|YlboZvOVZK7i&Wp3b{>3N)CR2fbZ_z5Rxk_5(G zOFS(!fe5o0Y1tr#?Fkm(mtB|9!^5_o7q~y#cYQb?)bB9MUe?g@M5_giew{cUBpNK& z$Lj*FV<;=v)z@Lbo;OPoe95oa&B1irX*uDUCr9ASdGqw)QnO-*?KiU1-oPf8=_A%( zixN$)>u`s~IIlN@#fX#+Yv}QH7k$qj_d`pD-E1t8CcBae?{3xWqQmdHfeL3ZeRQzh z7G1X*pA8|Kt?xS!_B_*kOt7oVn@?n78*CMeM%) zJ}pkq)$pGXwy;!*Ht{TVk#^Of?as)zg0N3oPs2^YHw()vt{zvIKD;u9a%B%!)tiJ~ zME3{AKw{xtzbo@9}+=Uv8#(o$nF3Bbo_*)-yjWn*x8l-^}0TO~oDNa#lHoZ};DX_*thH^nz(O zU%n1oPBb6#PqCX$(S_3Y<@v-Vc%51L*-YgATj{tipJKsg)BO1pIBnRf`pp` z14n}OcjBF3k-bbtzw3_>ytG8ADlT;Q=6Dyj%+7q@@|<_zBqo z8=&)1(dIHKbz!qShfNm4BqMI>C(RV#PUTHQ4>YDr*96XO<*>cW&TEe5-?NXI|0<1d4wf!uCol6{IW~6BLeHQe;S+cM(ItJyeN&iz zTGn#$YaEIX0&#>7>87>D&|>WSRC?YlE57k_GX1Jnn?3mVydEh4#yvm0|EfB!csy(* z>vC!uKv+Ex0X#vL8MSna%XZ6hJj6A(>s&*tuABNM*Fv!41dYxf3v_p-fz9`p10T2bi*xiIn1)b+rEp4{RuSS5boNR zbOFA>WC-&`>#{%0Cu|lU@Xvwgp66}a(~tZHq=aOeFZ<8=PL?VlJRgLaXSd&&KboZZ zhe7sJ9`=D=3R=c8LVWZvyL8!>#t!KMEU_9H(q_vk7-P1k+O(C%DFugk`O`4jT2%B$ z+T+7JdD#rQKt->;2~aoz{AoYhlxvu-k0Xmu2uDLSzQ-JHcC0d-083iuR zW5_G)0)C3WU+)Ho&@ap$tJXzNJk1DTG`Rz7iPfQ&3H?rZpq3{VJ1l2_t<>ksuj{g$ zBlf+&@dlfHEfQFNQFBpa+N#`Sr|MKKe~|a7?Cw`OjdvvOH;I1p=;drn?8cs;2X1u2 zfLo%oh$TbeTEX9I$AmMQhAeK=%qK3$_-K-j-&zRaBF4_?|2 z`3K2yEZR`K>5;VkoQ#NG-#~wO+>@V3s=lm;{x+1!#~~RCdToFVk}dS!oWQor1O{Bo z{$uqM%5_-^KtW5}n2gw!&p0atWvRapuW%-mG{S+FI9r6xhEE(19b$H`9%g=Qq|MZq z=R=RZ(_L@pzrnBY9@b{#U|>CIwXQv4xTa%Ipg3YD#N6q=wE)l4&Ymof^LNKTSMsW7 zIwWP)v=F`4iEV0+fC+uusRC|Mm(G5D^W8ym9pELyXO2!wq{~0EbfjiDAf7kNMsQ7Z zrvB8@Zxp1Cm#Ra?OJ9#k$+eh%T?c#NAJO_#-cIClo~asQ3WBW<23+(plej0t^+lV~ zZQ}bR+1)R4{icE6ePg%M!x{k-M4M-_932n0hszrV{WOsdx+W$n@prUiarDW1xZ!8a zyK&3L!3iwGWSiXBWB$1weAB3}-!$ORyqT}({UX6SwxSKi^ILMuf39x}yECpu++aOi z%S$K|F5W~UFzj-zWWC?@%VcKFMKBa<~n zMrVg?_1W#PUoFk=a+3e@e0ZC`^S0q!g**K&Y#Z)%wG{Cdd8D-4(jF&uAK7gyUj6`J zH?A&rI5D5k*XcU!IKVr8>>o7KSyI={c2DL$fDe-0L92i}(6w*eCyx08S=ZtJrgF*Q zvMsUA4G+x-OKfccFU+8R)SMm?rR#>MD!U{7sK-@J`_9H*Gn}Ry1Xzw?**C1y(eU5m z7ux>fO#l)^{L7gl1%T>yl^=ik4E_buwY$&@O1mwAy(;J902dH}B+$a~;7B`Xlsn8y zV>!Ufu@|zq?z)#@c347kQD1oaW%!J`D`5D3udlR4G<&E11?T73YecVo%ywWYuQ{?? z7t3q5AA5X~LgWfKIoF$o`#s@lQu{DW)&s~9_N#GSg^MZ<{4HLp4dlo+=CJp-VN>DT0nB045Di|n?4R^>3s_(qXQ^QYMsjw|6RQ*F zg6t}O;d8mgf)YmOUbf4z&I5LgyLgjeLYA}k^Cqx?exUaBLGyS%P>3gCO6y60Fk0vJ z%N;3-ln*BJ{J)23@BdyhbpwM#`x#?vH_dio-tUR|WJuu81-1 z+J%`CIt^9zX}P^lDNqq}MjpNhPUIkZm8xdH%-zLgAfvQ}zcbCg_gV z^p;b=dB#6-&)_e5z2FGn&DZw+z+moL=iLu{8?CUwkMOAG|NMUj4g<}++EYA`K_0K) zB+2 ziZ*Uz+!y$|OsrKT(DrTmK+Z?iu@u8PbN__fo2Wkg3S0bt+jjHC#gHZmLGpY5ljoDx z;jX7-D5{$@9assD0;amayP(28C|mwHrs`^DhgmjPs5t=5^d2$eug1Be-t~LNu2(cS z08MO453m5=DbOfiDTBvdBzv0Xx-5s)#~!gq6oEs2wQOnob%ZoNKhSHxfv4=d=3#+p z{C6Sv9AE8xgcDevqh4E_*zzgRIAk=>mnAmOo2u)0ZxBFVwoH30M;Q8czo-2L z^R-Lx16t3UWzl=yF#LeO_);;gWvAb#G178j?B+ee67WU0@iI@eF4=FV`Fl$9W!(<5 zoYJ&9^&swzsRbN$3lEM5w2q&Mt~xIRfNcvr%-wBP%d70N?*eZF>}=z&fuA$_GN&}@ zHp+4^_ClNkM9*XUA}1pASb{ac@`$hc0=|EKIk0z{{v0G96#O$@Q<@;&y>YuEvv2Tl z^k7yQu1q%NG{Jw9>=V^bR-d$%J^iV^-LP6foomg8x(oBHOi&17b?aZO4A5^pZ3lxN z+SN@?Vs#Ej7&+F4jTaB+Y#LK&$s=!i>7D$Ati5L!1hzr54R;e6Fuc z=9B)fXq#bcTybDelEve+oYU?Q4QV$)%{+5#dSGe9yV>SGvh%y&{JZm_xo3Vkg0SZ_ zf0q-%-03h6*K&(o*L6xhM|{-V6>=f~6fK36W*T*Kz7B}Kb8IjdJ3F{r6$gYkc)2yw zGPQu11A3whMUlu*w9VzHz(l%_G$1A7|N4Ii0q2~)?huk6TSJPi>)2@h###m8pmT`P z$z!@~+wHgMI@fu#T*rPRcXXz;oO$me0=aX~1V8JUAC^slyZQSlq4~SKA?PrdBl$Nr zNpFethU9zj3_vne+>iStK1J@yGFHi*Rh-pZ3#_|3?f8dc2hHkeau!VU|0T zf(ffbc$ZcIVXuG%iOK{4%I6`&k^S;Uxcb=R<@*b`qfO+8*#lnPE&W`-9Xol@ zmN%5Oz614MtH0w8F<+ZOGHBM5pU(KJGp{KjQ1j|oVk~DZ9^QXf^MsMl7dcC8&>4+{3b+H~4$}68n>`*Us|HMPb^Q4}>SyQl8t0Bi7m-JnNh2Gmfx_@*Cm;d0}>Gw{op} z?K{|ZOY9z3D94|cOF+k&<4S&5zu}h9?$d#YHck8y{1c`N zy;EI3=nel$Vz_06d40=Z#43{!bFB4P1QHv!_=O9bzrMx89X4M6ezf`tv=4xFNe&p`X*3DJ0z7d%&HHWXq;!XLOwfO z65^nRtn0@)W1$*MC_By}gZAQB5AOJh)tV;xU-2f5uhH-|tG*T&Tr!V`B&vaJBN<#X ze^~Eb>fv+R1?fC`#~20N$t85|n!n2#G4(pE4SSlMIUpix_r+yJn;|0O2Ei|?^3Tt+ zui@gG8d7D3(xye+PB*6* z5xvgY|Dv}i-Ue2E;oXLLLc1(vMr;E|y2m-}1z6u!dQqQtOBB%S^F&vj7lfafT^q7B zhE5u#Px}n%fu5))9oS)w|Ho?Qb=pR%eHQb@!=@hsN~XQR&*}sJ8nA=AEXyfoyRH-B zXPsR^Dx@Cg|gbaa18<{K_H;nE*E)R;V`$CHq`VM$sbuI#H9qC-`xQ=H>8|w#telFP z4~hMaIpJ#oQCgK-1g&1zEzUR)5^iWZYEEMC*}AoKA`?%*1oU}q{!@4un5JH572M*U z)ak+9V14q=#U$1`eosgj7XB4t5jkQ zq40RpC6{`jQU!xj#$**m{@U9uT$g8`4Zx zYpbpp1OAy0RPI~0(rqG-XyU=?w|dx*eaFKS4^gZ!b`E}^@|%GoX^Mv4uJs z7j-*Nx{sS*_*elG{v#D0c6sB-&7FUO9VtCzZ;sRTARI`oC>sZ?0in|T(0j&7nrX&IbFbdR>6#kL|LVjj;AWBP=i6KdrUL@6s!6Tt_$$V&2y4i2I#ptHXW4KjGWD z*D^(%XTfrcF>w!gh)_KBeA0UTS8=U=LwcC&w-javaPSxML>C5cbIB9uDdL2XfnXZ& zU8}M0_{tga6tp9lZDI-RU-2xXhxfSnt9}lScTL@f^W+b1FnZ97Gtdudb4vBDs>eRJ zm&gvA34Ye=yo`4#u-_Mao?5<2{J_6*tZ@8uS*HS5z@YTnsnHoxIO zvL^-S0HDk0W`mMY$*>g)v- za8oL8ptK*rZJQm)KDY#@xudo;Ul_^u)Hq3L{bU{6@FDVII6Z2YzmIb>8wyvPR+GXa zLL1u&fedC_Is_Z*!5&u&1AQo1H>A!N2Lm!TahRAEZ!XSxa#RCfh6Ktvi1@^D+SJ2b z;XhGac8xj6_Vk5}S^}Z}_sF|?6!9X=)8nk2a|$m&C>QHmu@1Dv(e(m0<;njD&5_gu zyUrH)E7Y2YYqI@Nvc9VgW?su{`tLlQw-u;=q$L=A9kC?ItLurYx!||Eq}GSia1`M% z%fgj{Ct9s59S^_~TWc5QLL_DNQLYP^U@OjHmVl@9c394AANQc4nXaZK3{&0#>&VcJ zNS5k`lItSkicJNa6OT_nhC%V^upglH9=C7`LfWwZ6+ar!OC7xh*-X?(L!#45+xn(jk^Cq%l89EMG~aE6kfz+oB|Kdf64L{m_S zVQWW%{l@T*v}1GK($kKB&XWfQeXX^_(@mJE3f^!Zs}o_5#zETwT){vH6)@@%`s_Y{ zFSYZ7JEX29Bzp*xK6wwx8#?_N(a<^n*XH+PBg#Y#mHeJmy1%Naoa8@oW+LkINo#q+ z?hNMba=~pztGToNN{Xgz(Kay2sb$Os6U{aee}-$vM_}#{ZgL&uYf)@O$BP@ku28 zd=RU7yP7}SEuD0gH~x?7Te-jKQ;!o{UhwSQ4+IbHi&XE;SNzzceSJL{;p2Sqz%A|D z$UGbMrhJ0aQCkY;02ws;(*T!&cDPHa1Ys~7$;++lc66IB=HRinJet2Ke8~8&aom{4eGDiMQw{8VCDZ5c z;+H)X5 zI+KvCsm0s>l8yc3TwD15im&RZoVbsTH;F0f2cG?>*6a4eB93nF<3i`ffg0HJZdH>5 zz+iOWz+v`zTr%8yG;t+|0 zDOQ@}YO@;Nr2f5==E7S{aq0o=$uu<*EF2MJpk&f0T^Z35@-Oej|yyOUto9L zO{M{NeU`FbqANuWr7RbU>$bdrVcutTpyfhfv*qIcakuks3iNfv^5c9D{41Z~maBhk z6s#b!sqX6t!# z^Gmep>siZnZkoTZvU%J`FvFnr;dmA-2f{}qEp1O}v*qIcao4<-3!%?b%fauD6AR{o&lBVG*b=x= zmJgZk-LAigU09d@{`!sw_nx~Ko5SK7!B04R!v@YL@A}l8j;70j8%bart9gk0Rn7E! zK8nnT&P8^-hSCkzNBFTTY`>5lzL|~MTotbQ38W@wjVRPPE?nNUNWCi#$-}zlJET8w zqwf!MJpT=5_<4*G=TCZ=L0$ArkohU>ryuAYqZ}nfT1`hEUrU?tc?4WczP%`)xqC&k zK4%^EPKW}8;sMkQYh(isZf&@usUGy~SNJYQ5&Od)jx~r$;`%Hr(Vh=$L9ZdhlWDda z_cpc%G6B86bnU+7yKqA5=6R;y({1?sKJ$LFG~KOy;9q04Oc!OTygm+sy{_mi76a0k zq8FgYjJaH)ln%kB;dgA(Z&1Uei_sv|hXPTLKY8bZrFrWd)-5lI7l&&mZfT?3@u;DE zVW>UqxQcP&RT{WS;MkF9%%8(wggIQ&csi*UZ7Ad6o#ph^c-+^DqsN<|oT2pc>mt(u zhhBLztoIKTTK9P1t6X3+!FN56rKk5zt}*`G&)3Mkj$Zw!)Am;0F?|@ffVAUhte-Z| z4{_t8^J|92@AFjQ)D^}37T1w+Can|#%*Nsh1)cro7f9_t%Z90IM%aA)+Dr`LK944E{9oy>UEagyKkMSnf9{R z!`ZkztWTe`J5iJCChB!55r)7Ew%=914204fRG9z;f_)?E>#T$X|zsx^ma|Y47Z(I!(w4EU%sUlJ|c&& zjKt5s<0rp`NXscAz=Kd(x;iYbZsJcmBFbpZE2_V0QIMUVys&Fi3cHo!U-EY>H;*f< zFE>duv5R-K)yY-n40_pD_~p3s2zM~x<{c7xEVPd&d$B^NhOF>|`mqlg?=1g{(O)5v zHY%Djv3TPN?Azu(>O&$Q@M~U@GylP3Hoq9{`DcP%G_PBu4-=505w{)kdO&z+?B3f1 z20&)XVF6zda^jMcbvuB|;|A1U5Y?5e0SzE%1`vpuRg=(;N$CwasdsdW85;i zl-Z@KAnACnCltP}y#N~z5yJ=O?N2DNM|1&^1oma))g)r(lf0710r}zwPa9lH59w`+ zJq;Yy<;ArLD9{iMd2lNQL*Z}$6gO-H)!2l)ow*zQZI^WmUWNhxT9+LmaO)3n&~YuJ zgZ`#zmOiZ+<_K8U@r=&I7u`<`m7rvC=BpR7`tbE%xrtZPlm0{s=5E^(YyAW~;cK;s zp;!ssCI{&xrI&<${gJIq7y^QDlF%_c6lg7@gE{F3@6`Q?9-MS7!DsF9gRd+6ExvI4 zw|I{Hd;I*Xe$eOV@ikFNM&yCz3pK(Ytphg_bY1k}xN9PmY>XUakObhE0rJCii8`8_ z^=&6AQw^kGf7p0^1-9M{;X7pcRh^N1e)B;QidXU>|6>?VIkxuIr;jA>7Wzh`@uHw87(G^=28TbW(L&M82(7}x*H+Bw;c`F zll3~Hal@TM(~*%U4hGlB%grS`oLZEWT2DzT6+?3JcrYkG1x9ovz+Y!Sa0jFkR^23F zn(C&BNuoZTc6Z=5H{exM!a{-n;|D`tx-h^Pinv#xjBz*ialnfjGF|0VjosF?PKAZU-io zhPX9>Gdz5($xRX_xl+m?X};|08qw=1?*+)~s%(%!h}?O@5|a0svJYQ|4RwbsO#g!57X@3hD z|2#z0y9faiZ%Ccn59pskDh$8~b8HF7>=NNG8jc6@(8TZZ06HohZquLk0OPSfD$E)3 z$bY2~3oz(w^YANPBPhn&lM@dU8YgDjvT{7e$%WgMCIorC#=#XsPB1#`k0C6Nns`(e z4>uDuGSr9`<2w1z)_3-wM__x>Hc=IQcGm=4?vd%YCa?=MN7#?#XV$8YX`<_SX@gwl zSKe@Y)I5)E0(UGTaA`hLL-i5AaqYU|hqR{a$W9t8yYB0KT0?=lKWuQxMe7LR? z$JGFd;03kLd!FxCc-SIgoSNegEAun5@hTDS<4GuK#NQJ}=Rs>&JN6|Z>xDQ}<>jj{ zfJjXIB57oK$bKO$YzMl4zcuBPcKn7D4@>eloyzhp*AahY+D%6&$zFThwExezmB8ME zqa+3#mkxn3UiH*LU3kCIM_&OUcTM)Okd5;FrJMIpULTlu$7%Z04yGjdDkmq*nJ>sS z&&l|5fIw?QB50maYA%lsU-Q?P1UsNJcTP&gjn$uS+RY9Z{xnG&RW^nXGsgv=@@tQ^ z6R5-W7rMeJT?PQL6tD+~W4$YaJ=MZ>exXMg&kqdWwsGT*ggv*1%y8kqw8|pHX%g>{ zelH^4yoF?C)5x_5f(REuG`x7=jj&$4;lt&p6##WoZ$qXttj8W` z(O8z^RZeNqv5}$32%VoNAo!gGg{FFeJw{dZ#YqzYX-~i_vEbLCa*$03*S0)ezWaf{I%~4_N=R?Q4i2sCQoZSZ2>>s zcXzqmCa@!jsv)mvyy=YdQ#bATEmgF{A!a0gNtm9t&3VS>N8#^uhq`5Ib)H@#&ohym zap?Gh4sui8|u?iy8Gi)OpD{=tU5kq-MQf_vr{FNq?*>p1AAA-S;%}v83o2 z2Vn5V3G?7T{#1SHLx&p**!lV97{~u?kSiy~(pOzNdBQWkUiT%*_vWBD4}Aoegqx-@ zQSf{XjROI|_)WXQE3o7PUePHnNw`ilr-lP^AC))ld(+TP5vk_oB-9LFW}zgn{CR`H zKh`f4h|nZKf**~iS;yvtul5_HaF7^=q`G8iCkBkaX?c%b!LkbP=7k%Uw4!a3tCBmqDi+FOhU<#s~B=KT) z*W_EcV~7HHo}Jf{-!9gXa7HP<%NcPqa!2K3l6eP(!)_Q~nVnZ*jX>8smu9~2-teyk z4Uc&%o!sZKn?eD5Hw=7T`-E@A_Z`H*367?Oa&&&=Z({=sF`stSg!}?RbR&)( z%vVia(~Wo)*A?`OlS)tgx?Y-?qylUtV*wXUaOJOj(mEeyE7#dLM!nA>PT#yopu;ra z@{n_|tEa@X6dIjLdMOryq6TBq3n?LQD-moYo=9MZ6mV(eNd<|Yz!8dpHFDS(-S!JC z%M!X7ClZ&q2~eI3;nU$9v3W zQNVoCe%uFl9QXE-uvYJ4#MgUCfJdJb9HaEc~41!XXMW;-3OhI8CfFA@zr`i8i+99GUIiDcK-&B0u~=FDC%WyCNYa(_qgLjg=O_7{Wnc8u`E!Of{k*@F z`6_FU8?{k=*Y*63$@iD`*(wcw-aX+zb7**U#qG*CCoykY zoDaiY=joUasRY146MYiHFD88Ql}@5#St9yj3 z(;x|uCw}51_1#q8DzWxXJ}Hj;<7@9=`a9zM5;dfZr}BT}V>pQYM?9T}#FKh8apj35 zZN|o^?Zc!VSQu|3g`q@zApeek9f$M65T5ZvfrB^8Z>I(v5W$oPu(F|l)#MwP-gnWP zu5;M$%(IBN{})p6tWyw7c8w*^^qfF}fC*luK^dx}>rtaHvs99WFMbkEb=wfY~V z2`cjwA8v{P?B6=f8F2)xH_~Se_>L#;4tmkYqM~VW(dSnP206pP96$MuGxM4Q`*8y= z0%Z6D4K8x9D=$d^u_A-ymH3`bjVf3kw0o8?vP1k_7M+au*1dPEktVX8jO9Hn?%HtcU zD3ajXMyq|tytuCJvB_X#Zi;Py4aceqzYT4nV2S1h-p?d)b$pzP2Y&3tgesB*Y(2?#`=uTpQ3GNx33S$iA_=ZPFqdrhQ~ zZsR5ZnkhTyoeX=*tyb63-~t_5(?&<9BeECnUlIY1%c}tQrH>*9}UL4likG;AK+Yg0xC*UwFp7P35B&Tt{X8$WVH zr~Bcti!Ry3g`Q)`A+oOD1fvW65}h#!CAju$b+#Qx5Y&4k1`5_=tQG;o>3 zzC#LMHBC%1$R1jch9DK-`UY@ z6RCR128qUrmD2LWWe?xujwcy%H?T>44Ce$h_N+x#wwWI81jprq%$Om{(^ z3~vZ-%qOJJ)y^MYyX%McndEbF5}s_FJqy!`I#R{~a&EMQA*A-3WbeD#BS%51eJ6P& zAC9o$;(hg$XrQ~7^+VpM7Ox^Ds|=MsCr18u{ix$~m=?#;$@1X(6-v!lQVQOr3E=V~ z6^Hc&&|)xPB?7EBtP`3zax@+JPxv z{cThH)wsl4&C{5335{fQdtHME)8#n&3ODFSZ{j=*7Mv3yF6YWl49?^rJ-823_8hR< z*71^Bnvp|(iX~^A+SkYVVr-FuA9L=1X%*vGXnbr2>-}|84UNd6ca2Z;Grw(j!!I1y zQiDaxO>!}Fx8+_41QQlg^5C(aTStIvL<4&8PepNH_6d&zPD(bO4bck;Tb`F;gk2yE z=}3=0hyqw%M_`G*D3K4`aF9F4g@b>ejA7W<**y^m|HE@g4jvxpneJN;<>ylH?KMji zzzll=@{n9YnY!0Z(*zWKB_OQiLgm9PMEOa&!%4rVablm;p7%C^3B4JJKyrb&`Xl~@ zZ#OjFJPS~M1WxHMZaeo|o$=pcHQoHfxfF$%MO~0bln+~|E z(fxu0>!bt$b6;@43=vPg^f4KzCm;Y?Biii1y$+ANIK%>HpV%=0|M)9d|cN?K93?zj;C= zPCte2^A*Ul%SjlnLJi{6HDgr-G*#ymT)fE#CiCb*+t$WqSQnrVV?jKo!liSqXu%< z_ydXi=v>5?Wd7on7w7S0o1EZ_>@i2&yhAcX==iZ2%&c11L5e4`_`AsF15dO{p?dZY0~9{M5rNMX*4uS+;-`|WmM^&%Brgj*X^ zhyx^EJNN}d(dWDYE}O0yP@%C3VVh3QG}#fXs@IEkHHN7Rx{EeP%Q-3fF4Fm+LfdN7vt$hrimg}STvG$FKsK0iFb<_>1;C!9aYX!ibH^yJI zjuRc7mV5q2TC_Kb1eP_fK$=k3D`;sCiBR1XHxx=xHH~rCEp)nRAFs1UMNT6YZL2&u z`T`)Xl97H`g>otMEIUy0*>J`!qkH1T;o-1&Res8FeI0J+fT!_zLF}91k(0w!P04{m zuaHV`EP}xT0~nj(r8<)cIJJdGoO%F9tT{zDqv7>_ET_&}rdsKwtNBiGmjPh7$@Y7Q z1#&yAxGLLrU6qdJxg$NZX)B4ge74k>Q>^syOX%}c6#Y5WIp5Z>lzPE&mFqTTQ(XdHKL;*}&ifT#xpuyYk? z@IUSq9Yaik?-}s=!80}lUM%znzJ0>M4qNCKNr5)`iAXY#r}=E$m*`nIC<6=l(WPe6`4t#q zgQoh;LGzG&<4dd@C84xgNG(x+Bf(;q?NU}`ew5@Acrc=FNQU*Ri$$>|7G^Z%o1^cJ!6mxwcAwZAY1%16({H+R zXGGYcfGCNvx@n0c_)Do!Q=+h@T{rD;)pbr1xpb$fPfT8`qS7lW>JQ=~3uVf}TnTg1|}CmuwO!&}5KIt&S@SdWEBOHyPyofy^8C7mm1SMNmZbCJHvv4^TwYJe-S7KK zi0^O%z9xLf5El@xZ{+tYPFm!N7L&nz_y&xMe3FiL=4gWDXdLOS914q^(1kDj@Bjn6 z*b*4yzV(gNYy+#_OZ!eMTcp zGo1i&y|rwF;>~+l^t#(L=)gfvGQhE0898wopo=#7r7l%-9tqabos?nOmZ3Z*DR-9> z;Jd+Yy_J^acM)c9pN9DLuu9{}!`A^HS@}&L#Q{^a5;-tMzn%*qSx9Ycs>`-O5*bQd zCtyQ@9gu@k|CKUcU;Fhx!AZgEOm_3dTK%GHdvGRg#nT{g)=lq7i20h2gDPLHufmi} ze;rAp!H_5F1{8mnV{1UtGtft?mE#?txj*l`zHzVjWKmM2h5F+pM|PM}$TfRf@&J_f z7w*)szIgN3I>VlJFZk0Z^Eu>&*p=rgHw<_DIn|~B9L*&lqM^|bJZTEi6BntZJG|^G zu;gp^s$b;Ej~gvKytxieWIEk97j8F$)~N$5T8y;^pwhL;mx)mM!3Pcmr0jCS_7Ai< zS_V)$lGF;=E8mLqtUv%5nv;1yt*?&Lx^w^q3dw!}1aN>z~;vmj87x@xH!YB7Lc(2C1CGDre5 z0zr%B64pkmBT4l4hu1gmei6~dM3U)v)+fpGW*w8O`HwO@n2_^t;o~Bwyd<~qRe8sM zGADNvM3NyI5FKseUfu~gWdyfJ&4Hl9UGR%`wXS&LgR?~;Fl2)w`WWJ5;)Mz_t%qal z3qzjh(;rmPA*K}4C(-y#fY#H0jeH1pqv%{taIh=>D&cbQ*F_2P;0ceDCL#p!CcWz( z_Lc7hSANL6)^oC-3^<(=+oXOuZTaS|QpT$kDx~w9`s=RqD!h?iofif>@80mQjw>AY zO2Y+fw|gUt0Rp<4CWyOtL6FIJEgzahy&@M~=YEObNsjZS_|I}xe#oi&OHL|SsCmBy z89#c9mDkzDrw}YQ4)|7-_^$N-_|Jdm%_xeEuaDEd@%SLekDmT;u=0O5=4pU15r^v@ zeVgWYP5*+lhGgj#&G>_(s4*Jpq$D76a z4L}T4KF~58Fl-8>vCA3hmhK-2T_OLFy^!t_2B0u6cLDC^AXIn|0Qnj1*Y( zC$Ka1x~|0GMI%x}{dg`RO~nBK{b-z5NDj@upHJdCQdbY#CyfmU>q6Y$%ClSW_ZOCITAiH5{*Gs*--BAJlG@y0yx;EmA^?{&sI zCt!%nC;s@<4ix!%k3L2L$p1MiW%jiuk}&egU79hRT1|h_X}~-%s7`Z+Q}s11Nkfa} zTsEIU5US%w--!u>0!;=<=-d(G3)Hn+I)89{edErXxR}hTM3I!N!lalAv1rT`)eGclFYFDoHQr)i#8#jq0DM=nqFUkyS79^RgsHI7kJQF2+0wF@DiV6R}Z` zt9D~{*M8C-`Si_uY5JB27^~Mw*=yscw&pM zC;TH0Fm)ZnhMU3P#eW*7$seMk%1m3f}boj;? zL9%{xJf$l+h3EvsIq#MybI%jbXb$Y#1|Z- zp<@jyzx0g&zCc007d7}@GJBMzpU&5bm5ZQ~3sWZER~5~4l?Sh*Vi#bg(b&D=XN_CS z#`9HA1gmt1(LZnv)95L0$zeI|DLMeWj$EA&;*~sQ{m>v@$%RJOImyL*KXhK7_=%_B zl7PugA4Qv7bz3N% zFEYhEU2teD!wUia4un1iXr0t{n9BXJZ`OlrebTNmV{YA-xQ$U>rO=bn7%FAnpH$x3 zMt@H=5;rFd&-e+Q2tds+aR5{>e2fM^-DC`f0?CH8!cG3a;xRpVF~*HQxOCGGJwA$~ zHtm558#=(0v7lee4IwhojAULV<4TFiAZI4n%44!-y3AXp5FS$f)lquMu%~;zp29Kb z6Ef~m&W2&!j8R2>;KuG*{0gWHeslIe+i6ig&Q<6`lStiT}<i%!#g_@TyLh4SDjfjWeDlq_#tq$dZu$3N<+hU^=9j1sFNCO5PhdL{x&ig7IqfUQ z1fQ<&W?hxFP9}}}#sUg7%jtAJh3T@$4>EYTk|Jh6=yH7v0`cR`Qb!s-l{psc6NsLG zd(P0y(T8q*m8cv+ldT9nzkadMjD$T(PUomTYCP|I+V=PTc03=9$obp*2RhDc;l%9u zX}?Jdb1855SKl36Y2oz(`LLCk{Bl8bVHHb z9TsneoYXc@7bJI$n6)?}kbFWk0$n|EAE>vz^ITxj43w$HePb;H!-~s1QD_#s^2&Ds zIaqypEe{jj6-hGmxT(X9K2-Sm1BYl7)$g15&{v;yxY-00GCE9&xq%=WjB9&(p@VO{ zhfrgj7+gtVDLbL?sA*Vdg1#Cc0W>9oKKP}__(40IudGWD?RZ?LzR!t;4+A6!av_W> zbnsK2j0HtCbW6vw)v)O>E~xif#f}2Z+8&XhSdho`WOl*;OMfMNvgN<@r^r@Leq ztDU1(Reay|MltR9H`bJB5srjrhECNZ=in>Lz*c{*r&?6P+Z^r{3-Yw?cK26u=}*AiHXf zsi@+=^Sj{eC+-nkPuO4Wy9@4}NvYNh_Lrfa=gLs^gEMZRYuFNS1wbG6LyZcc>nQB_ z%)B@GI59qEf|z(ZACfoglDNYTKBj}4ZE&MOG#C2Pg}iI@4Ukd6#np@#I!V~O={npJ zmMyYf_8ld?Sd|FWAJFPNl_a~@>M1Yl69?72AK2Tw9+KAqG5m*d;*A@geutiPkiiF- zPxEr3tii)VOgHUJppwHI$cV^~3o(<@4}p52WnM_I_8m0Ggoopoy~j81ii3-Y7FUus z)F`tT^k<~=Zus+}CPPZ)C3%_14L^LvzT>%b_a`X13GO_u;~jEvx`Xjvv0G2ojnX$? z6oR!t%xV}z$uy+*F&zR@IsgSD1s$Vj5+T{(8wP%rT->ZHFZ|l-ml#8{uu((b%|Wyq zQ>!eEX7?xu4%P>gbI+!`@3@->y7!zAPBR=UFVn6a}Fvdq=>c)*)ENE|-!ci5w?ax2sWA?aN!fQgH;?NRa zz#%^bR-a?2Lc#k<7%;|9^{Ln#U?(IcW`Uv0*{dw7%QRmS&G6gN;?sfExg{_F&Q|1) z`iBznk4%^f^v=|NIts<|WwyxWE-A!cI%1yp;0<-C5H2By8Z+fFdl@7 zq5fsnULx3xk5C)?cA|~=x~T999E!kGQvl{tv>}{ggoPXZW;^g}Q#z8cGt>&~aUgSn zZ;|b?b`Zb=uJ)TT+)s1t#ZsO(WZ*g_+xU9k5Bze!VY+ZknfuL&mN*Z17mxd4hEJUF zdtM@$&Ic*)vZW!p&0xIS)P|wRCWnyO- z^-lbfPNr$Nj(sJ#N&%&hF?i8>eo}-kUh{b#{PFKt-?({ijQP`fIoz0uR+s};6O}|B z2T%tjD(r@CTgHK<8oPy5-^}MEA{g@VjXM@|y(nu;I?Szd8uUNVbKXn-0aRX+mst$A z)BJZ~cWzr87F{PTC9>HeFS9&1dLrn*Y^UqWyo1d7i+kP2m<<}k#{d^m^zkr5_uHh= zv_m#M4RQ`yt@8>X*O6CdIVKU0@JGX72qvJ|unCr^^P{JeQBGEi6DWk%x7Ssk=W$?R z9X;SR{M5RQru0&zVYxaq6b8&lUSc&3~8U0(249viN$O8J#v#sf|6 za?!b*dCcM$R^_LU8vw=&|LmP37_Ffm+nR*_cYVepe2_a`P2!1sDE|%^zS!pP_&#}^ zr@zD-1k7)0;E1R5|A9~8{BN^Bucj_;>ajJDoBn|$-1I|-_P_rid*1Y>8m=&l05$I=i*ypoEX6dHXdt30D{nXjw) zF{oH$y|q}=m;&2$C%q4VnF7?9n4RGm(U%it<=AP+1%)NVu8oCRCBoq+50z^us7w9h z8}~jbx_scXBtU9I(Emtt-b;P~wY*DyXUWJ7_7i@uy=dendFGxMVORr6BKHv6XOf$x z=uT3vRmrrX+9)}3!D2wVL9^J5qyxi)@#$J<2WiWICG!j#X^r&V&bHPs$6=F zN})K4J(#b1;)B$*S4jpYj$R-;_!dd{?$8u++ktL$r>-ijBzaEJ9fgQ{SQZ{QFI2PK zceLLm)58Kguc_~uA0kfpweOUdL=2?-jDgnvagCm)C?hcn-xTfaQl$fI zG$BS0*do>WN~9mwpl(Bdu&$OK3nJMDbTVJ6V7Fmf^YzuQbN}S|$~^qA@5 zB5F~$5))x{i&R0r&b|ngtV`q0O*SX6=4o(th33F{C&TKM;~iXXl9MOv6Bd_UunEZl z_@6dxn%-}394)|ZeQDlJ6yYAm>5Z*e$Tgam0oPpeNhV}EDnCs0Z$0TLF3g>2#<*2@ zXAVBFK>sjb1tnh$T*^l26VN1kJ(0zWfPkI`nxb9~=7>e;dA`YSCOeP&Vct4lwXPa> zA(;2i)McBz=e=1j&uhJoXuRc>@`hh9$sJs2NeWBp>)IE936X=X^9HB=ibT+M^(R*x zAbCQevv0flO~~DZC&0VGfzB1Aas?+6+Eu=Y>2!B)z@o8SG0-@*p|_i+xIyfjPuCxu zW51x4IP^JpYCk(DJc_6%`IS2ex!>vuJF|;? zc#j``tS<8N++g&a_&}&qBY~v}-~P(LB$@U%*D2{>UERq94&>`H4Rc-=cHhnTX|oA< z;B5l%Snw8Lnom}2f*&@9;u*(RUGe$!g0R)GUYeHVHs0dD#Xu?CuW{42CIk= z{bo%Lp)4KW9O^Uok()2;WqzP~(~yTZ1VSrud*hB5D>Q%6!eXOQDqBffe(>PD>trHK z<_E(7PWdgV94Llc7iDpohJd36@L#Qw1F7QK2t*d0ay{wD;+^w%y zWuz?*EJI0NgONXs(Yi!Ah!E?Df53X)Z^|pAcqJdPz5t0=a&c8&k}zLg zPZsyr`6~^{jF+sc$`pg^iaNQ+gs4H-0ogWVwl1MgD;uQ-KzV--pt?!U))?*h51{7? z(Mi&CN)Hw^mjFy2L|h)^0?^7YY7x*L2Za#+fXkZ_5YqG~KL4TJR$;i#MLhLO2X660 zwZ&NFhQ6tL0sk-Hq zf(~&21#1u;(v^g+FV5bVd-z6-jGH>TgD!`0gjG!(h&d1)```bSKzsN%5O_v`HEL^gI#O9rUjR+dpPz@I~LyZJMq{= zzfdU=C9s}c7p^e9TG#Ca&jUD|Qx7Olz;fX=N%@zAo#&HE#SLXoq++afCBIHS48$88 zpyRoQe%Xi@D9tv?F8qW$lSDQ!I)`;V(4H&A1B3#eqhDBx82e4d|JeYUi}Htj(RTZ8 zDuDC;Xk9AF6aHOZW54A-d^Anxf8gM7O;>VuFQnGB&X3&jI}b6>EIAVXL_)0wng{Kw zesotlE+6ooL7axO2!*zLpO%yJ!6U4i{{-9*;I8IwUaQF-hRNmx0@~`uy5eJ%SXS-3 zfvO%~L!u9yu76I8c*IPB(-|tMQl~H=l}*7j+mo}aOb94Yl0j{)dI>tluVDXVzmJGK%wXc>)Jv`qR`7PKBJ!r z43S>tPoaKE049BUP)S}GYi^7eV;>G{s41~4X=H*1!k`Au5!N*eB}3pkqGBvWh0xVZ8{(yt

?Y>LX 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 BERz5L literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/mine/user-agreement-icon.png b/smart-app/src/static/images/mine/user-agreement-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b5850dd0e554a19e49010869c7abf61089bc94be GIT binary patch literal 1545 zcmV+k2KM=hP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91Dxd=Z1ONa40RR91DgXcg0Mr_#3jhEGb4f%&R9Fe^SZ`&SDHV*+4;3mc^ovqNK|-{)M9~il5hEtK zToTC&3i+T|p@KpR_aO}d14gXzyi0bRdAskjx4F&j{i%ZF!S0(kZ{E!B&6_vx?E>tV z`g#ECs}8{I>q{6Ec}w)#xc!QiPA}KPMqPlKrrCf^O^=X`!w8sUU=1#~EdrWAgRW3E z`?Y0RTh)RN1Zo~T(FJ*X10cKNHDH>_7&LCi8A}3??llOziNFMe*q$H=HVA2f<(7c( z7l5s0$hE9l)+F0-icHvOZobFPM-EvFQNZSr@Vy=0NbBIK0C=PkQF)h(Cg6H#Gw#*5{Y`sdcCA_ zhq)I}&oKIl8wUuDjAD|##`TJ`gz%j;KXXm-eJ>aAC(M=yR5$?~m5||P2cW?r#Op?O zCs%*6zV@KWgaW!amwG@H)>_;Nm7J95Hv1l1WY3$W>=>n(KHiG2{hu^L0HumkN_>nu z<*Db4LM?q5gLjQmJlY5sfnbp3V>0I8W!m7Fo5<(jwO>!8#C6prgh$KkZof=j(FXW| zL7rr31=1ZA6Q15G;%zcpvq(s)8K*d$f zK%2MVj0fa3dmA2HeGz-)VfsEsq<48oOAbaVM(7R*21+4M6oO>IIKfkEr!b@2ie{c} z^NA(#TU7}Lir5-bqa<%B8TR7O4!QGoc^TpGnRs}or!p!SXh=PX9FtB7o|wL{pc}Ix zb$i8X2Fjb}x~s4){x0oWTE!zL6Y!?f@#@78imo}2@^W4!fNrs77%<*GMy)v;CZyeH zz#tj$j?hxrD<3*ksCjpw(;%)h`-m@}Cd;8EbBK*Nh7TnBX+k zCT-3F>t4Q}W{}deus$Rtf-ogn6w0X+%Rdjhic( zB72nb*^!{-_Nu5Ds0@~Wph%IAm{g(QD5NYA=RcyW)=axL-Q<;cmK zZV?%$toi9(`Ep05n5qh>s89#M9nCMHjpsRNV_vmRb00000NkvXXu0mjf?p4Rz literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/mine/vip-background.png b/smart-app/src/static/images/mine/vip-background.png new file mode 100644 index 0000000000000000000000000000000000000000..768717547b415909427317d9c2ac8166d8ae0414 GIT binary patch literal 6524 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
  • mo*JT#2GeOeelKZ~F9u@bc{uBdnc%0g1Y8T;TI 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/pure-list/employ.png b/smart-app/src/static/images/pure-list/employ.png new file mode 100644 index 0000000000000000000000000000000000000000..48ed7b3311d18854a2ddbe007f031fdc5a87b73b GIT binary patch literal 16521 zcmXwhb5v!2+jln3R1+rKnCvFolkJ*p+jdRXRFiGn*5uQq$+q78yPx&`QD@a!XPxif z`_c#3iBwXML`C|71OWkoDlH|Z0=%{YKluo7!0(>slCQuEq_c{o2t@TX!4U)m352wm z@OKaWGheF|f)!W&F70-2FLM@L8yJ`*O(_tGFviaHUt%sc)cP2Fw~l`q zx014xoo~sbDc9@CnXl}KN0Q9O3yh;-gjFy|jI*}PAuu3Fjqy(T%vrqMHI^#C^xem* zs=v>@mh?8+AhZrA6C?ayI_{3Uy?b8t$b4SeJE067`*8+m{NHcpA|oRew9*Db5)!IU z4nF=WVu>rSxF)L5VTfExq73ARfO0^EzK;#n$U*rkGW1b}DOWx1)fyDinUN#AY`^C( zA%v=F65>|^>|s#`NQR6Z14$4B3TfPq+PBPbCE!ESYG6N#FIjQJzRJ_)s9>4>FgG{< zd%Zug%iMK~p&u1b9QWCB^}yj);366Y1%)BO%#)PVloTdQg>LFDA9a8Q_@M7N5;}g*jAa?nKk$pvC)XHzm0HLsHv!` zFaFetW?h)r9X<+TI|!4k+PEbe;XXtbw!*a6=b;9Cf&46zwoj|KGLc54N0&NYUS2+t z##ppctyeU|e}m#;|8F5d+HodVz}VfL>*(m{6SHn>e#pR%5)Bqo`ounH;jl<46lEa6 zb0j#7wz!CpkWi!hY07>JxVPQkJWsYN_66&qy1gIHr8G2Fs8I$qB|JLKp0pZA;7wfYSVL1v7pBVWr_n?erOem4@CtlIul!=V-R-Ma&+sr>zd;{m z%*?<+w=~AQs;?CrAabw38(%(H*wY!q?a;|FKHdfYc zM(kED7Z(@sbnPNbjQHJm1`&jA&cnY~kE!ud`P(;8xl`tjDm8(EIqnqU&-Phyv^J`7k>1E~ZB57tn+4YE}lML;JZj?c{-s-&%XX`73NTEc=RDvt9 zB`Il$q&OudB~07a%i$sgpwBQyu;;izBs6x&`BrOk+ysJz(L>en zW)q`6xXuYCtrjo@xx+S`9Z4W4*I#L=MsjLP4G(`MoDg8~2nckIafgGO&PkQ#PzJa? znR(*Q5h25Q3u(rmwY@kMPJ!pYu-;-%ybpp|A?wYVY_cO-#J#`R?vYE|4;NEL;iI<3 zl@L$c$9#xdbJ9TO=6r3)dpj+6YJ1Jcr-D%rc537AbUj(Njz!`;F37_%@VUCuWVqkb z)gp$2hfj|x#9iz3ycse-FkTwU&hw2fv>nLLk4-qk~1UiZpBK*cA!Pq$2*$lOR~+XCSC!-{0RK-WKoZ zbZD@!)YOR6%%0--kQJPjv4o^3Fj^}%QfKsN!O+mq542I&5%`aYBDFTF^_VBiRrK&p zl%cc&X&+%5P2cF8>d%@%}n$m<+svlFmqmgJ0@vT9^$fm+&EZLo1x z)Ryhrt9#=84C^v7GLG_7+-RaOcpU!@7N_fbmCZ|iz@rgp;>AjYI<@H$@6C8noDLu6;S-+gey~W*-e6u;v$j^;<#U=6B1<$%$X7wT_op zQ0VS489_r32P+EZ`Rjs0DAfm0`rs2%H?^I~GvtV@8lAr(V2OLq>l>`N$|wEOGOSQ3 zb7{?(V4Zmk3k$P61KA;zDSk!7(-^FnXIM z=B_E5QqH!ZtE;Px!+M$hE{KrV#j>cpT=pbZb>%Mc{QP_YpUW=W##FG=6@pL5=kXHm z&;xvj8a^<>WxKYxIF#c~FqM||0QG*qZvWuo?k=>$KL!p>p*Yf{SHRT76}&4`WK5?x zg49aW%OQ^og-+pxbar| zeen z)6ng~gDZK=P+t4`n{N_@RnbCV7!E^@g8yui0`w1;EhO&K?jREWdt)p#6#c(;!2+u_`1NMnEQIn8?X%wR zz+=vH;0+JpQKU*9Ij9I7a)#FFa?GMsqzkdU1qg*WV_z1_cudU$?Wo4Q9(iQ=oWWZKS81Na1v47 z-tR`C*U`y3^Zuu5E9wAus!Z`Te3Mq^S*sRTwrlX~cZ-HqF#${F0OceKLc36};RdQ! zpM#qx>g;8PN8)C?O)r=3z?Fm40O$^Rgh1L_UM9AHD^dG3vs_e5@eEz22NwZX*hC?X zYTYrxhYe?Wo^%g=Dq#>4b@JFni*atJZ9j41%%LL!52K*7Am<^$L2N*9p)l6almapo z>E4So?S^KpE>p{p-_c+s;{>ak+R~m>;AM272Psi}-ri@77AK&cVT#P+@_=rC45~n_ z=r#3`lTjl?%d_o@=^=O)DE;||o269tecFDr{qB3i8N8amJ_7gYMwrnpkL^@>dG4Qj zGg%UFp*c1~`UGUSv9Ue^X(?vpAWwyWk0BZ%Z)3hLle-yf26F5@wB&N3cy!v#Pb1_|FU|^smrL?v=?(o%jI#3VW&UgBKfMr;vY_ZL}mdlwAJY;-jBy;o@2Mb+N zbZ$#P)N`^@Q_+-7|6d)9E__TVFTdc5h8_8HnVLag5o%&P3d|bCPq;!zn12Tc#pIGG z@`xHr9WBGAA8WYZ}uFDPg{Lh4VYK+J}i4rbqsJPHsc1Cme zK4@M4-QifWnzAXo)%=v>lzIFDB?Op^CCp!hqa701Z~E2Hs-+AQwaM#d)^aO%3e>ry zGrUSN+p?t#TyKkC4bXZ%XELHsUL7x0m?-$#_65O;;&a-7-FVPZP%4utj?i>leSO-i z(VH=fl&u+AM($2lBx#DrZ*N^_2+(9ROQZ{wq%t!ygl9vTChD1@3OPABOWfSuHU3_C zjGas@ovyXicZ)Nlrix+>DK3f{@Q(B;75sTg+}hg8GWd92Db4l0Uk%sdGk1g$8`*W- zo|Ci1`7byE9bLa4u108;Dbavgp%#p%sIidtfojRVG#)Fy?r_4a*WOsF%M`4DI;mBw z_u|*93WcGlTm21h1uZ7>LU@f1%(S?$(10LK`zfs;av`_Lr)ZLHmuYt3$fqEPfKPqr!-Mcts=FZ&~>3xSuh$?1(q?kcug`^_*x4h(W@){NON z>!X27oRAjL$@Rz-$UmmIj0+&lU!D&06g_g%Kp4Ux1&$L`vpmCZh~QlPc{^60pPORJ zo$7R{OwBi@|4l(FKqgupK@bw4kI!M~g6@FK3}|)PhBQvQsOb^d)apipJmYkrC&ft#1JVwtzpt(7#PU24kh1D)zC+* z((n56XkWX0?=`hrcR;s@s*EMc%f~0lX}9r5$)|j&B)WLYUDHqphG39?&XT?4#H&e2 zexaIECeSe6>EU^D$NgV3_nV7ePrtR|W}CBx$6TQ}dQ>4opWA0{tu%U)Z0Zn_)X_(i zcmcRRyEJ+NTyz*#=75D@BLUqu*iU9Ng|GMr*n{a-!0d}mo`}Gz0}j$m{z~ zQWgW?4~*M%*zk$l+gt1k1D{x+(D?~P3^gNo2ne;!h%Au&=(>=^MQS57Sy{oBVEy@AlQ;>zXeZaryr zX~?ZvqCmhAST7DlB(Taam?yr`LnYjqTtgn=JMt)?}vMdqB*`+VZ-76 zXc5}3KT)_!xiz417EZc=>Pbyy1kMoKA3u=PBQk|Y9Rh^+5yA($>KR1ys-KZMpUo*` zS{!5sVn$wIZ-1mexR>&@s+0wk#bl+I6hp<$Y=gmuYjyc1W2R0K?m_(f4uQUxeelU? zS-5d|-|3p-HS`RLX2U;=LoPYo8S&UNcnGKZup@=uF8JGq7FUl_7k1qYuWc>kbN-Y=gYpnKE;3S?-3lh z(n&GEfZdnx%FztEG=@@)<8d^QFjQP|efwJ4rmUQDLUL;J5INN0IPFBOkc|)@8=J9= zCSz4YTvOnhuB7I=x6$TYbaP~8{;j$y%>t{B(%09QyR-Etj5ZbcFz{!0&H2y!ReC$k_%LA z|4tX%{I?g;Ne?L$3cR=!^Vx54CJm7r1dKrfHhf)2fBxVyrO7AmF6wZH$t$3sqZ60A zBMEaaS874$rwgdSnNP@C04VY^7OYr8R!lSQ4h@-~oF*;0e-sBC%UQoOLdPvoLLFsV zZk=%VHgXm{{R%U+$-uK+&TYEGeqQi_R|i_`KIJD@hhJGIs0k@9e*nnn;6Y`aE!TY9 zurjR)x;&gXi~XE*6s@$Jj%m%dhk%pK-a=3J9ms?rx=DB!ybQUL(FI9a82xjEes9lT^|8oj3OTjm;0JOAyuI4n+YRHx^xEwtxV?p1 zw}Bjrj3%|YarWi0aY5ZU{(3UUc@jPJoA>_aXNC?L_{oQe1dk7FIbBrcSijxwid-77 zS;BkR*b7YW0g(&!ZVY?U*FX5Ud$$FQ2iza8=iz8Ws_Z6^Mw`oYNg(eApW&In`Fi7tGKX^;Q%aN*C7g|v$K$wS2wh8ApUY5Ch= zp)uhMgWZCH<5FpjKdU5~3qV0=G9I9zh4ppoJ{g?nI%zh7*N8$I?qbO|5f4w;LjAUf zZGZo(y*&yA3xvBL11vxOsyZks%Y>V0<<7baOs&E0{cQ=xMYhM6x&gp5Z`QLnWunxg zJQDWL0KOtu!*L$xgUP-&7SzAD0O*#}#>FK;2JZ07d*w<;3*~P;;K#&TH6WrY1yiA_7Fiy>~)!nzym3L>5Xy2Rtgt#O&(vB2^q7_?1q7O|5#x)_hg&dkF>*Li$)Bzey zkuXOYHrXkmp*2hqng1xAbdOz1yy1V;_+|Km`g~n``lEB-U^ejVtt{A(j8!^qA+(<+ z*=AR$Vgm2sh3?<-37X1fBLq|4lIW@R#O_QXtQ|zHN6@p_AF747Acn&(oR) z|7mkR6qk*tQ_$1X>oLz@cGde(-7?g_Z+cfdQ8_MUx)5BZKSVJRZH|_sYN%1q0X}pr z@9b_B!ML!~)=(JWjO480FA3e~<2CSG31pI7kg0EV_0YP8HEFQ?##m4=8-ipRNcW%- zTmb4V!%Mj5$>-ewIS7It>GtAc*tpKU^SRz{=J4i21q6d>z1PBIPkcAdQ$Vus)TW7i zz1|qm;qeoO2-*jP>1qv4JxML}Bn?`~;AHpS9~@Xa+#?Ox(odP7DC#jFqe2B-y+ z#{w{Giqi*t1V3U(5FUfSKpH>Vd)U%!yve3B>7jai3pmri1idFw{uT^D^>p(a644m1 ze_g@^+OvL})Bf9z!=J`<{4hwtpX~&U|8QJA0~Gb058gKMhT+tl4ySWoHkihzkhsUp z8`e)jGv;ImCvvkWg#ZB(EmN#QF5GCQsa81m+e*u7cxRvk@!koA_0s-Nk30Z&wjI2_ z1K-TCtJV=JvRE>#)%B`K_-;46>UDT(EhIo@d&POUWbwop7yN^t&NW^OK=ul8L= zb~XV56p1N%p;=^xhfVtd_oalYOr4RrsRy63y&e8=2o6y%iyr`O{bLByFFJ3g=PlWP z}yBg5pQqmoNyjAEOF?Zpmq-B?jc1Gn5+P7J)4P zwHB*b{UHj-nK`^N2E+Dw8ORo^_|N{X*I===YzgoEmK`PQ!TiUQPiHtL>tbRfkGN> z6zFuw(RxvjoVNix)W%?%C=g4)i*?d73My*V0{fYyCjKb@>x;T~Em>btS$TOVUl|#_ zo<0SpGgN^(*1k&@NbrC&Jj!HTiT%r)ybz2m|A}5r3|maB@6kEQn7vHz&C{zFz)ovI zUq!#!QAJ?iD!2*GEPR@h~?piTb3BwQrp=zn@vMV~o%=@)>WGKu}3Q?nmo7-3XVp-txvW zb>2*m%~=mkR82Ex<_`97njDod^;i0z?X-|Br7I@Ld(RoQ*zkrqz=Xy89UxIIE-}TT zCrGzcJkWM5tuSrZDt#HTkUmyb*ftj7P`+kORl~doLuMKpmBaIO#bIWS*qz-$t$ihH z8rS}bc`HfF@s&EvsQ0@i6hJSBFC5)+b^Tu@`Hk#M&NS2e@+!2|E}Y^VR@XK}#7+*5 z$o3yc`{tz2QnwS1MtCf2%6)4oB9)#Kuwb2pjjqp_b+v=U~g})X1BUe z#qDRFzc6SSB;vuy8wiI|Yct8Gdk|w7*_7#Jef$lUrAJUm+hGTLVS% z7{Se#B0}>1$y|FESJxb`+d0XTgC^m$u=8`f)-8GGd&c+!SmjZv#}ic2{BZ}zc*`zEo=PuH?R+7PNRLbO(oGWeXMIsH-|*1GvPi?bO= zjQq--7K<$tVUu0Jy3|PZw**9nf#wyN-c8r{s|L&g}}J2G}r-u4C{6fWp*(xdMh> zCveQ($q6H_q$!DFXCL}}P)+@Gmm(x(_v#VHvr35H*5(&}nk zf+w0Mv%-M~XdoQ3U60~uTHNr~rULhpIB)*N!I)FjHDO}kF9BpsRZSW43TeY_2WlW$RO?;Qz9|-F^LfGqYP^`pk$x>Ypn`G3^=4@q0VRUHJFdl}Bf}u^Q~g zxcC6Vd>ie+AH<^c39|)fkDG(3IY4a|+Svbtdhdfn= zRKE41REg%5V0V4k>^R<}?hj>)#A#hTM8T5t0r(er$Z7M4z}k9ael1Ol$JJlvDy@d$ ze^IH5s2UAsqHXsPHfqzB82fHGxa~Gj+Kx@`w#7F&Lm!g z8791+pP%m^^}$qhKx_W4Hl?kvq1vm}%c4-K-DY_HFIR=Pl;Q~2nF6EErN4cSVHqs0 z%rLxrW&fln3+L01Cf?@Ojt=D9<=vqO8TlzYTxDctMtQ?7YEv9t5(T9U*HpA;Am%d(il@wT$Waf{qQ)1V zK-*&%-v%*El)C7RP_GRN0MpiS#P$^*c6e1Q75}1NQbx4wC^x3%!kz7Ez9+Q%nUbam z!aQU5IfomyL^Csw`Ptc@tAzuyV$wR(e zPI+k|T|e>Xms4HKCH(>}PP19v9-@;p&kuN21iLeT&~K z%zwwMXZS!f-{WBtXh;QEuX)>9-S|CD!eyfEHMUNoDlp%M%r&kL64OP4- zlJ;Cau`b!=G|kdHHZ}$|D(x5~WUHaLHbxl%qPc%+ti`_rg?ttn#RJm-jha^99v|Dx z!Qs+MZ$+M~nI>ukC?xcq(LdsS>W)Do)sz^B8XmvjD6+D%U*);rG;4bGH1!EijJyAJ zE@uIsNS>mS3^~pcV+`n)cDc;8Dxv3_8-49VkTvH z@V`^)BXNblb*%Zc>Ao|z)P%iJEV#Zc$x-df`0XKVY-*H!uMW(Ir_&;wm`DVgnY%tz z;>5n7G{S0}Q_8&i{83{mDxujK-KTf&o&Hb*{T4gIe=PjO=D#0#D!~1r$RE@-Xcw#8 zl8`{`4V^;VX0cJafvw(8cTHGE44fO_Rb}j1UvG{8Gr~?jb_9=Rxo>&-Gc^!neZ}SH z0}5*fwTJ|hc?TLL*o{CUEQ$R2$|n$nWeywNiVD}>(nJ-F&G_Zu>*qB^V`VIK0HE51 z7#1i!;tjAcOg?Vkl=y7)_(hNc#0)Qyy0V z?melX8L#pCt?YwqXTEwwpBfd)Rt8@*Bx{;^NFmKTRpiWf*yr#pG8peuI0#_R|KDGjK!1o_kB0fOn|-kJBs)tHXXzY^I7~W%D~{QwqnKIfAoEj z%8y?vwA`Sz>sr}SXPbo?fJyGTJ^s^2cwJIrg@ZtvR<4Svt<8Y#AEol+I5^BG8w+N~ zj~Ta$Li&ZKSQ2PLpY`v`mLJiH_z~SOn4< ze%5`81Dl@z^Q#fKyy;+zK|OA^a+@%3K;-iuJ(K6plcG>~vhwLpH{)INHxvm+G40Wx zNtRVv{I{vWXR;vRFgWTy`6e+5+R9CDfWlK`?d^g#b@{5s9-{itdXyydZrTKsvCPcC2( zXeGgE-#&?;QD8*295YhT9EmBv?wx^SYcy{s+|=ONtrRS2Pmm)^1SM$&7FJh1%hmf! z0B8|J6SXYvYyj{QZshnUl_nZ&#~JL_cV_WuK~aFR`o5;0rkC{f9@zn_DVe-;>zU<% z5wj!!zD-0P5iK2=u#MINUpi{)Kg__R_58w_m zWr}qPzpB5~7V>|*-b9+RW;DFVnn{2~PIrn0Jg49yS{*ILf6fIv5oM8bbCZ@q(O0@a~)>e?sokc121 zXq(fllY#e@cNc{;-9o@jzHm-p%o3?s5MzXU0niN^!63AbyV7L=(g?q`MG4VLb8J!z zwcc&Nm$TeZWE}N7oO?K!ewF)adKQ_(=I_PJvu1Po94j(xg}NsjBso^0(>QVb72N0(Yd?U#AM{L-5MaJLx8e z?U+Hh)!u~XwL9Tzw+Zb!!@eL@Ky!qsGY6xe_7i^pqd&bK-b=KB@VjvcHF`Y1X;xNDccWhZ0ptvXvaYG-+%Eu*wI2{`|C7 znA5scrBf#@#!xzV<8Fou1j3we+pBkTcgO1xLX5cyhL@*$X!T@uE1)C`JclD0WN}b=_!$ zJ9_?V2c*Lb$pO9#er$cFuq#}amb?4Il)cX`eoLqRmKM~sVK%x>vaq0JDJuKF$U*^K zg7%J%iq|hq&xZI0$!P_jO#n>T+uJLYMq!2gl7mb%uJGPSAw8yTKsG2ERp^nU617(= zl@VkJ^P3Z?n0=CkpL^$|kvRcn zQ1@zF%Ng7o2#7#W8vig!0K3^+N9WtFF(X3%%(7~W$GY+HR12W-&MD@or-zPr0Gdax zCHq=5w}IYDM`z*ij~GO|k1&Bwcd=3Ko3nrIe)HB1!I}&m;(ac47}s5Z5pjXf?KA+V zb{{?3=9&NG-wS|e>^l`GUd-Y^*Xx~a+`#xO6pYljh>yA@0>h3e@@*zylrr~^X6q}Y zSr_fZH6Osh=62Fn>5K7oA=u2jZF$smQ%YxMXJp`={riV-(ynjT>w2B-(WLqSGZK$- zu65SSY*M)msksmM(jFoK{r%#Pe@D_F*BYmy0N*}TR>NUr42j7A%X00#KtXY<94Z=` z;9jg5@*H-U=U1xmk57D+;0mH8OB zm-)3mK443!D+w&7v!5>X6LyU2T60v8Gz4?oXH^a)BnG`dtMKB)RPu``*P!Irg@7~x z^(BxtC7OSnXjg|WRl+(HcMUIEnHm`X_Pbm7i3iuQrJI-OBA|v4$nipAXnXyfzF7UmmgC7!L~JjS>U!;q zALiJ(nvbgiX>sLxP_h%qSYK0v?!|4B#OQmfeAIHc)Eflh0SA19UkJ!pyvTX3v(7LP zNAsmLX>9MqsFdd%E8vif{L)hy3m^;qr`fvm$29{ebx{hu7NHqIt(BDOTbjPfPQKit` zNm0?oYGVp_2(KuQ(p*h5uMBSI;^uChdiDZ~M-3UnXX%A!CcA{yAqLH+^yRqcqxqqJ zbNh&Bu`Akl&_W3xVA)plMp@4R7Kfz35X*RhP5mO1AI(G)8;0hU zH_)2K1~v;+o72BwrL0k0M%95((-T-{MU5HQ}_#`2|NRB)VxXjX!#1& zIbfHICI4HTE8jln$e}W$&^63dgFqW%Qc+e~60j?#+2wV|*-_2O#^!trm{9-9C@oI@ z1`ZpmLbM)n*oPH*YQaG+glqHxA7(`GKffcMH~mRHM7+3qy{?cIu2C|a3Z_3l=aKsK z!0LULefMgcSU{o}5RNH07bnk~A%`f;?EJoR7o8z@AO<2_u{N=^v}`J| z!mb(7BujiGWWGtx@yM;4Tb6A{@_phj6a;)+0Jo6f*;<^tCb2vzGk`$&r40A&mys#K zHtPB>d_4OiS52hP$kz}RoA6B-D351F)d741e*iyc^Dfn^+prGNG2rw7Dv<-Z|A z))L6P#EYRuoc|&Xf+J#v_`>Hkr2zt9sIBTKqysvaWhr!Q*XpI$RYus&lJD6L%qMu4 zlBcJqgM~M(j*(i~P>3MB?rds9VHtW=01qORJ!Fmi7ZMhk zvJ7M^8ylNOyn7niw>ekBKulSX(k$BDLR)2w>z(j8ddSPQ!v=Plm$I$@jvG3H)7_TOyiM7T0Tx?aruK=a=i8h6dhVvnn_rogcXbh8(~#76cy3Izb*-w zTxzS93CNfgcq4d37{?B8vQA+X0b3w=M+Uvn-vWQSk-Q2a{uavt-C>kFSPF@Q^`hS61YXoSRR%-{Qjvmx2Hark%0o~RCMq?0e z7J`3%;RVv<&)g?_J9&9MEAbiP*m;9t)OW}Tv0NJ)gqR?SiHPDhS{+T)adjH{@~4mt z=#O;*D0^kJJg{*FFoum=q~T+e?OduER%jLj$~AD9w;mrKciJ%QCWoYN*JP+n046pc zsKVbI3F@%d$+&D>t`21dkZWPi(GZ}R4QZvaT6uA# za`MFzU)xT=kEXU-C7QugD-0b^FO!cp*bThlFie~OgtUVbs&%`=z1ad$0SNl9){^P* z>1D;7R>Zqtx~Pf0zF>G_6)af9!gBO)P5@hOD!|2Wq8fpYj(%w1bwsH&1p7`P=;NUU z2+?68f1~G*!Pa(=?i0gQ6W0Y#*x#b{>Kfh$4o;{euq(B15UHo=&3aL#lWrqQtkhCr z!V^dkh%aHzi2!$Vae4WPw)pK}eZ(&py_)_sot&we6~wsy;NW0Hhe@sIxa`9llC4>? z3*FH_sSd)GTc0~&294>(BbNX34+gtndfyQaUT}N3=ou8zj3eoNuu!7rqVKAfY`M!) zo-Z>Od4?4sc_j26J!eNw|IC=@Kz0G07&rC#1~nvK6|DP^F0pW?{c~X%g}iEp#riVo zF88|)Qr6iv`5-4xgC{!zaI|}WTe*A5`7QIC0`Lm(4pj*92J1LnhY#!+EB&gF65!_G z_}uc%>~iZzW}3C+X*n~b`;}l5V~j0umv<;-(|+oU3Zcllvni~}j~38Nk|plfGm!t9 zk)G$NDnFL)Ifb9*zi860mf+88#Q}Ksp)-SbH`v-2b>)rzKid0&^_m}y8m*ff`>yS) zw(~m<9*wJDxL=DjsWQmGvWnNhPVIlKq-kjx?uDT495AFBR9dY$b%Lj#OuCaOa;}mo z@ua$;;n5h*|NYY}ET>E2@q|?etkkA+T1y*>?bYe?M=sTRqv8hC+}O>jMm7)(clY<1 z)Q#0Aeh{+XlYZ&sBU@ur+v4Q9Z+Ti+v40VlJ0!GH&EHL%*slmln5)uhQGg?)F-*L% z%xp$6<+j5yLufX_J#;@?bB)v>G%EX?DC4U>-sKez_dN}W?!H)jE;4bH2j~V98my?* ztMfBXxkqe=L;Tg4tj{>VoZ2?l5e&!dlKuWhQuk7CVJtIZpFBYnyJ#_nkT^`XSCf+u zv{s*}W|qhsw7XbkKJ+8GKQAZ>5dxF?KbT=k0^fM={*Za`@j-6Y!PQ~^BG8K|Y5~viRWdp!W!^eRK8wA-0h?Lh zC%IIp2JY=O4zsDD0h0%OfhnFikrs!ku8gI&z>b=(BfsF1ZC=kHdn%^>vuG^&l4zMI zU;{81S3e6#ZyxXfqYu!2B|HBZU;Q;_#oJybM+)tSqYwY|Jfbb9sCc-J`sor#>L^BY zb*~=m%^+A!r0{_VB!hpSB(*k?k*R^`05+1y&lWwqV2It^l(Eu(WWrrP*y;0iXms3f zfA!}U`F4|EejKYlNo=4bb3{&5+6JsTp*<@10eA6wJ+iHL%u?{Q&_99;IxNrin(joW zcP>AfVvcCo95O8+H4NgiBt*0$0vq7JxX!7v*!3T6IM*4Y$VS0e@Eqj*_!d^SpblI` zz=B9Ras3Fmnnpa;2x{c3ANX$f9JmQ;G=}3v;S4;KvA9;h3e+>?WmI6%qawBf#F_nX z3Td1IuJL-5Nf!=-*1Vw+DxfWWUa#_d#3NVKI$(_l#;i~;Z|?#>n*THY0%zdupQkB4 z*!F$c)Ob49=qbO}$MAf9P#u=vcUeA^r?zT)A^b6;$(jLk*Id&Pl*hA3zn&1l_Dg&1 zg4XQF_|mwKa`GD&`Wie!jy+(15Or?a5oSEyoR3Q`L_Z-$3bp%Amr4nYC&*jMxrT;t zQ?PHMpN%Ic(?iXt8mB7FM4{r)a!eze-~ty2mtn;kLI#X<(JV4DbqhoD8}t;5RV1@A z{*1UjsrR1meG>namZ6%~Jw;O-D5ooj(56EFH;i)HOJ$)kl(Q=f;L!@yHwYii?~TgB zV6zcuX5st?23R7qo+p<|PeN`7 z!{9<1a~bE8wkdkglAa#_=^Hmr-yrxl&lns6-VKJVS_`Ng3>;Zca zU$eLJuoxu$Z(LX<`|9?LVRv%h6lpQMeDX?S&00LCMDdaY9yS@+Ny^G; zjQ||LUN84&he4+miOmdvoSW*mNV}I7>Eh+(Rf!i4_sup@>erswO`j<}m7uX1G%rIIJXzD5zgr78te$>R#?sj7VI(zZw$ZZs z@nd{)q}uAsDY)1i&qM27zI9>ejQ~AV#3Zu>(!GA#>&d7XCsLpXs2-DY4Zkf!Zn)^)MU}FUfK{z~mp$8~i;ItU-5k(#>-UyW)KC#> zz(ej*kRcD1^dH5(;#@Q^mmyQUWmQ7l<9Zd^{_*}otcnF2lCuQ=O8{`a`nY!^wv@3x z<(PJi4+!F;g>&&LI%Q+Av9ZktLdzPAuu%`Agi=UzMBXKS2~qK4LFlMS#@e!tIr}vm zd_n#tR`7gqr?>P|^iY0UBh2Y=1DE?Iq8;kbK1RnR4OPP|drDHas6qlny1#?gpE6p| zspi`GX$xueV@Gy#$4t7O2QF$EK8dj2IWVErI3XVEfSA>)9M3j8TDUMGNi;puAR*qP zOj$i`s=I&lpK#kNI#^$l5Vkw*k5fgXE4}|Nit^Jnr@dN7pc1$U3xIVG%~w=0C6?%iEM3VIe;~<0ZQ=Q8F)f^)@c?C) zW1d7|+vq)B8S3D*9i&ZiFm!U0>_{rbN^$U?{f~JS*`J9fnNF5GxbZ-3oU4-YeQCFM8zQWwAih&YS_is+(lQ z3XwKl!3N)#`jyP- z3>Mj*o4b;V#d*9wsp;`E7R-d~y1%H#a*#txJSQh7$4_vb;*kzB3K!};t1 zxaLKymn&C|PZTLbe26tK0LT3=j*uqF48X|8|8~1DpdWp4&*$<{S65dIW zxBeX#r|E5B?*If+`Gqjg-xD5OBw17U(S^9?r}g2PJY}9QjZ;lXHc=8qq2|VHj-{)0 zCL`mP>`46YgkKAK+m&SEn}V}PE_fel{a28=sgS9~6cuN@^j0por>^*zj4xT>`ig!| z>~jKrVxqrJJ(FgWGx2Ctk&K-wRp!k0vKrFk#8=8b4rl4?1lU<@1D1Zw1=m|VLtk@2 z4%YRfVx$OA|MqnkZu^h{d)AYAB?PcE>swn?Bnqr3Izzn&nU%J*xL0l4m@+^v`L=#r zcGB$I7v$yjD$IDz>I_<`c6vw&Fq!*y)eNjIa=48{9UA`?TVX%jSgz99p}5}v9WcEn zQ)4uXKXXYwF|fnZs;4V0jXDs}jlO=rl>d@ZslCEtYEwH|L_+Kw=BpSm7sj-;ri=J#<}t5{2FuBBJ5Q%_Igi zXWB_SUw>1WjZFTHS-^@uN;Y&dP5g)kEGPWPbfd?J+yGY7XCqj?mFm|S4+Q}u8*Geb z*@3ie(@bYB&NSfQf6`YI|53FssnA;$8c_6aI2NB?OnGpd@Sy$+atYAZF0i#Co~lu6^z^5}LXldE=d<{cy4vSTUt}}&06L}qxCdVYXBwR?RKVp21u;WY%~19 zvV{DFf9H#3$AF#PK|pYi1bDv!nPLq6T0>zewIvpP?hU*I`w`|gjC`bCD`x%9N9_(a zx*18M56xcNj-Z(jV1EZkyhu6ubU516RnUe;pG8e=Bwt2Z#(wK8cO-x1)&#Pqt5B+I zE_f0xi6XELQJ11y;US+3`3%y6eBv7GJEd0Ie^Mh2DU44zu@DpeWnF-C6f9KWe~ZiH z6Rb?G%Hqnr?DEjD^%}?M(?sVC=4C=L_-Jb>Nz)BSV5++R(b!a*-rEN>c^GD7DH4ez@HPl(aRsqz5yPPW2mDDV AoB#j- literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/pure-list/maintain.png b/smart-app/src/static/images/pure-list/maintain.png new file mode 100644 index 0000000000000000000000000000000000000000..5e5cdba7160559f6bf748106db2f72b3b98c3ad5 GIT binary patch literal 2939 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/pure-list/obsolete.png b/smart-app/src/static/images/pure-list/obsolete.png new file mode 100644 index 0000000000000000000000000000000000000000..6ecf5619be957686d31b29ff2a6d486dcc990866 GIT binary patch literal 16598 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/pure-list/orange.png b/smart-app/src/static/images/pure-list/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..0e799ed2fbc0f88b85850aae31836bbf1b52ea49 GIT binary patch literal 3110 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 Apa1{> literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/pure-list/overdue.png b/smart-app/src/static/images/pure-list/overdue.png new file mode 100644 index 0000000000000000000000000000000000000000..fa98a9c208171bb3b9fc230dae7536a4934f5c77 GIT binary patch literal 16683 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/tabbar/home-icon-h.png b/smart-app/src/static/images/tabbar/home-icon-h.png new file mode 100644 index 0000000000000000000000000000000000000000..b0bcca0150dad4a8551e7fa5c2e9345456c0be81 GIT binary patch literal 1101 zcmV-T1hV^yP)Px(2T4RhRA@u(noWpXRTRg6CzA{+tyZzNc@deFf(sEpP;ueL(n^tn(8Bo9p&xna zIKrR^rQ%{X+M>9sb(&1a5nCx#MMb69DlQc1MvCB~&_#thHyuAvX^|o6%aNCHBz7iw z_vR%N9p2sMfBxtE?z#89``(MN%!e#f6_)7c!)pbQG! zf%2;gUx>2T6y!{7{|JMwc5q-yuc}md4`JgXbzDMt%;e={HzB(Qc;lq5%mjQa@K6hY zs={E|m-o8`*%iQB-q7o-X^sorXHj@fQxwWO<&cHeS<-R9ny2 z8w=1Y>BGQBz%_A-Xd0`W4r*+e8J3^g^=}){o6t=t$AJEJlUv0pXM+^$XYz8+N`Hl@ zEx_zSeNs}q1@yI()Hz1D5D4pLcFOmzvCe?Gq7JKY0G9l1!0*6Djo}h$!jsOZ z@nwHhzSe+an)W>21_q;ydh)xn&lF@&tK3Zi?=EVlEW8VB>PhjINfnA^Uv@QbWRa{A8c^Smh=gMBNpa6 zj4y9m=>Cy-6FP$OdQ?oMk86L~As3@`^S`?R&K zY0|;Q39(&9$r4>;XWC9)vImnr*y6%&yNr@OnC!vk%P6_XEX75J8r#h-nX*2o0lA_M zsnp-Kwj5pUpjXt#5#EU^qW*=*m#tB{e;p!9Ixf)k)x*5DT4m+WBXY^s+wG`!NH<8W z{-GsusPbYh!%>ll=fMhnY1j1@rK>7cX1e}8qB+3{A0(r8B};j4!)gt(*bF1gj6|icFfP z5$+eb!8NI^UZJLNUX%|^K|ZvNYt*#`*iNEe#Uy~en)y!UO*+`Ane3I%vhUzu@;!k_ TTH(g600000NkvXXu0mjfH~$%e literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/tabbar/home-icon.png b/smart-app/src/static/images/tabbar/home-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e93090f9181ce64c20c8f4496f22171aa6e1df GIT binary patch literal 1178 zcmV;L1ZDe)P)Px(R7pfZRA@u(nOkTaRT#(r-`Q;IC2L#6NL1R+?#?9*wF-)g4-&AnQlubMFtsV_ zL#+yxQWWc}7*u@mRs>No74HyGydI777kLlFQ#9%Tjg5_Uba$_Pj0D{W z;CcYRfp8R(25sALqs9;Ow{--4-@l|(k{^R;+x$Y9d0GSsips~ih!3)(|DYSxEX&fPs;#Zw`h~# zBLH0&sW`&WFQF(ZG9b=B(VhX;XHp+4xNZx_N&) zF@FGHWwXgud<@P*Cbl@vdS699U(*zz>lW`Pfwus3G?P@@LpYrvxjCE7{;2EK26Xd< zy~Ok?aM8a8oRJl|t*0mZtq!CXU@lj93PjK9Bxt3UfxjprcG#KqpR2}I26Wxx3nXwr zHE_Fh%v=_P0n5s~r;;NSkeMl;KXHh`dsG5mBn?YoUyqf3IV@j8z~C--&9!Ua0nXp$ z7GEP8v`yn+qr&O}j*oLPmGVCVVf*4Eo2!VyuRB)e;d(XJ1nwG;qB7`M&z&ANc60bIRA01w+{dY2Ypp>Xo1a;37Lz}feH%Asf7Sx5CH6f3 z2?jr>P{^od8g~&lG0~YwUiJt9w-R`bZc+Za~$RqL7pY$nk{ sd1AnY>iJgXjYqImJ-JYEmi-9+4fwh1NG&O|WdHyG07*qoM6N<$f+mkCJpcdz literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/tabbar/list-icon-h.png b/smart-app/src/static/images/tabbar/list-icon-h.png new file mode 100644 index 0000000000000000000000000000000000000000..d51fd7e00e1302457c19678864c039837dbd34bb GIT binary patch literal 813 zcmV+|1JeA7P)Px%=Sf6CRA@u(Sv_b|Q56185=B9wh?2h73=X;p;?}{zp#`B8T-*dLG%p4fx(JGc zaVQEd1%;SAp$cv;g6(7m2M1Tt&2HNJS{kHaK{08LyqG|3tLG-~Co$YNJ>I$ZJLfy! zIrm=PB@FmO1I`bI;Qy|$QP3#Z=NT|1sw0qH;%gw>0dQDnyfCH;#$A=8M2MPrNK;gW?7zXqR~&z~!KU>@xqU za%d_jt~SA;c^=wd!zBX7nDEZa(yZ^i)qf9z2C`#5<9fRfEthW-W0Zl)_dR&FK1J)g z{y`UI56nfR~g*$D8j3PT3Y-f-s@$R2;`xR36TwK=o!4%lrwzG5?(zD+F9n zIeIJN0P-R;T;!vPBt8H*@CP8{mdern_P2DAPf!S}C;+C)BRGi$W{7a{FLShdR3vDX*dxNQR$%cC zsw#($NG?T!c9~fM>6KkMB*rfeFa&!g9{{7E&Ng96)Rbs+88AI)dhqu_S8tm1%=Ezw#H*4kBC2|}(tw@H%mS;8^|L+-%^BILs;(MAI<5zh9N zf>JP1*kdixC6)3KIlCnp)*lZqi2^G_$OlT1rJ z|2|_(Qb@ALTB1@gQP>SZvrTleO+-M<(&1qqZ}{zxBQ0jieSjf rL<(mJMw;Fjz>R`2Bso$S1FzsOKM_et{WcXw00000NkvXXu0mjf7y)Kt literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/tabbar/list-icon.png b/smart-app/src/static/images/tabbar/list-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a2cb055114bd0f633890c72b5de79febb8d71844 GIT binary patch literal 864 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 literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/tabbar/mine-icon-h.png b/smart-app/src/static/images/tabbar/mine-icon-h.png new file mode 100644 index 0000000000000000000000000000000000000000..1ed44317c9eaf69b205ac179eb7212b259144e23 GIT binary patch literal 1063 zcmV+?1laqDP)Px&;Ymb6RA@u(noEonWe~@IHM6MUp_0gBdM_AUqi7=GWa8BWkr3E5Sptb~?EwyW zP>cyamTc4*NFWdbGb?CF1mwVi1ig6HgNb@DsPV;RyFm{=A(Gf#q<7g3nw@@3eJ$f= z`r2RpzyGhQA5+yM%++dvP`7|XTJbzy2VO`D zRnV-e@@5#ajUkB(#IbYV)N z5&E*xg_aXQZ$#Il9C2Z2N<-KXJR?V~nr6V;4(hxcBEEu&C#1t;4CT(CE|)BtX29O2 z4l2B7G0`ekVBMH6$1U1sK(DC@+@QroO6;+~m-QBHGhnT$KME|dm}nKNa4z)ac8j(d z&}-^NV7A3XO6;Y;mpK+~GhnTuzlm_O#Y9T%uYoV~E!t*4uc^rs^e&5uluPt%=*vA8 zZ5M!V1CLuwq{O}x`0|8B+YZ>!wFsjY6D?zv{-7==E!t+l1^aaFtXX^mcorkm#0DsR z*ZoDG7^^k)5rM-_0XyZV+9Z_AAKSp8z?Y|7B+Pt?PMMf!mrfz9G8t1&2lMIgxOQnA zDrtCod6}43kjzg0A9+xSL>Lan81Br5_Zqv4_UpZsDz6F*bi06Q*_v+dDKM`{hX1`*;SZN{ z)3z!&es2lGNynYzA!6YLCDsZ@qL`s}2E>H{7ah=b)e477>;YRP5J-vD?;u;j^gM*w~T+;4JHUhv0(FAvx%*w7ad-YCyw z`^qtFJ@3m-E8uJuJ{4Hjz7_Y8s++RPWWD4Q z<;>T_)b@My#@bD673f#!vo^LxvBn$Wi9ZjGhJUdmt8$b2`2mYM>X7wazz!)y+cvrt hY&&%w5;)^4cm*ZiGe}gIFtGpt002ovPDHLkV1hsZ^)3Ja literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/tabbar/mine-icon.png b/smart-app/src/static/images/tabbar/mine-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7a0f25da2646725def51c447b9deded02768caa4 GIT binary patch literal 1106 zcmV-Y1g-mtP)Px(3`s;mRA@u(m`jKpRTPH*b1Rc*m=3N-Fw@mlw`x>SvI)2rgou(cXndfeE?g>T zMDP*9h~fhTmx3V*MiS6T5QB^CbrB>BXQu1X)ve$x+-b&`pnZ>2l7=Cqx~lqAwVk17 zJNN(Z|D99Sx6UPO@ju$)e3$~>>>ZwVaN5BMufX&Xl{6@hW5*b4AHerB!v*2?D}IdM zh!7dj*}m$Zxyx~4$v(rhwRA9wdV7rNzX_uKK<-h*U_Pak^^WV#|5P<-rGU(=qNw*S zgI_BEc0Ef9`o7lo8$@KP0<8>?nXMq|E)(#OC>-Oo*3AP%)ED_&6ITWphTYE?{CpLm z!1&bj>=&!>sswN?>^!MJUse%l;9XU6)j#x3sL z+}uTpZv}wKW2A6G5+X~>1_yoLJ}L2*1BS^-0v?rw$kZ}Uc%J>Z#9Iy+Bt0VRmW0Uc zAmbO`v*#t=V!$9w(s$%mNr)lZzddd5lz58)+d=0~B5FuNWNY~kPq%K9cvk?Jq`#n^ zB*YNyny2kMCEjAdAWV({cvcc3OG}_*S~s7Qc*_Cf?tU0vmW0UEDq8fM<|&D{7;t6f z_t|YTe+2+nde8&3-k9C-{~z>ebytJ<8H?2Cl1g8%otRIxL9i-6wh44p>*fnp6iobx z4nm~kQW$kl19(spjDc@Gx4AfR<5CKh4!mL9dkf5O15hPF`yg7<&iv9u4!oOTR^#|? zWz=B;4iuQ|nSigAGDjT8`MG3Ka+g>3h~8+Yl{j`RW9?HJmrekkRjPl+x!EqAa?3i# z1+{i?j2xL;i2yV1J*6Ms7dGFUT4a6ax_5L&E!IeYQS@ue@IOlcrNih*9wh=B27hJI z%;8Z$ONR@B_#lxw%7AE2D*eZxFWKqxJ42Z-YXBLD)GC z&=YxPWBotj3(vK42kl(IwYBcNvN-*jF8gg+H?P?~L#<}B*&DV|E?~Red6^UyeyQuG z+U(CTFZtT}L4f5_|p0F zg739yQC2637K09c)XXG4qBZga9oQ^*_w(+`zmrV5u|{w0H_QLCqK`%Cv(cm2HAVTfT$; Y0k~RQNEkl5tN;K207*qoM6N<$f;X29kpKVy literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/uni-modules/uni-mescroll/mescroll-empty.png b/smart-app/src/static/images/uni-modules/uni-mescroll/mescroll-empty.png new file mode 100644 index 0000000000000000000000000000000000000000..ff333ab4f9cacd464b9ecd317c163bbc2dd10ba1 GIT binary patch literal 7118 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 Eg5kbG`v3p{ literal 0 HcmV?d00001 diff --git a/smart-app/src/static/images/uni-modules/uni-mescroll/mescroll-totop.png b/smart-app/src/static/images/uni-modules/uni-mescroll/mescroll-totop.png new file mode 100644 index 0000000000000000000000000000000000000000..62534c4d4ff98408d36ffcf9e5c41b7534c9f614 GIT binary patch literal 288 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 SYs}WS&%*SCNx89m_ ({ + // 读取config下的默认配置 + ...state, + }), + actions: { + reset() { + for (const k in appDefaultConfig) { + this[k] = appDefaultConfig[k]; + } + }, + showHelpDoc() { + this.helpDocFlag = true; + }, + hideHelpDoc() { + this.helpDocFlag = false; + }, + }, +}); diff --git a/smart-app/src/store/modules/system/user.js b/smart-app/src/store/modules/system/user.js new file mode 100644 index 00000000..af9126d1 --- /dev/null +++ b/smart-app/src/store/modules/system/user.js @@ -0,0 +1,84 @@ +/* + * 登录用户 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-06 20:55:09 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +import _ from 'lodash'; +import { defineStore } from 'pinia'; +import { USER_TOKEN } from '/@/constants/local-storage-key-const'; +import { loginApi } from '/@/api/system/login-api'; + +const defaultUserInfo = { + //员工id + employeeId: '', + //登录名 + loginName: '', + //姓名 + actualName: '', + //手机号 + phone: '', + //部门id + departmentId: '', + //部门名词 + departmentName: '', + //是否为超级管理员 + administratorFlag: true, + //上次登录ip + lastLoginIp: '', + //上次登录ip地区 + lastLoginIpRegion: '', + //上次登录 设备 + lastLoginUserAgent: '', + //上次登录时间 + lastLoginTime: '', +}; + +export const useUserStore = defineStore({ + id: 'userStore', + state: () => ({ + ...defaultUserInfo, + }), + getters: { + getToken(state) { + return uni.getStorageSync(USER_TOKEN); + }, + }, + + actions: { + logout() { + this.token = null; + this.setUserLoginInfo(defaultUserInfo); + uni.removeStorage(USER_TOKEN); + }, + clearUserLoginInfo() { + this.setUserLoginInfo(defaultUserInfo); + uni.removeStorage(USER_TOKEN); + }, + async getLoginInfo() { + let res = await loginApi.getLoginInfo(); + this.setUserLoginInfo(res.data); + }, + //设置登录信息 + setUserLoginInfo(data) { + // 用户基本信息 + this.token = data.token; + this.employeeId = data.employeeId; + this.loginName = data.loginName; + this.actualName = data.actualName; + this.phone = data.phone; + this.departmentId = data.departmentId; + this.departmentName = data.departmentName; + this.administratorFlag = data.administratorFlag; + this.lastLoginIp = data.lastLoginIp; + this.lastLoginIpRegion = data.lastLoginIpRegion; + this.lastLoginUserAgent = data.lastLoginUserAgent; + this.lastLoginTime = data.lastLoginTime; + + uni.setStorageSync(USER_TOKEN, data.token); + }, + }, +}); diff --git a/smart-app/src/theme/index.scss b/smart-app/src/theme/index.scss new file mode 100644 index 00000000..edba9f59 --- /dev/null +++ b/smart-app/src/theme/index.scss @@ -0,0 +1,254 @@ +/* + * SmartAdmin 独有的样式 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-12 14:43:01 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ + +.scroll-view { + white-space: nowrap; + width: 100%; +} + +.scroll-view-item { + display: inline-block; + width: 570rpx; + height: 128rpx; + overflow: hidden; + font-size: 36rpx; + border-right: 1rpx solid #ededed; + margin-right: 30rpx; +} + +/********************************** 宽度 **********************************/ +.smart-width-100 { + width: 100%; +} + +/********************************** 左间距 **********************************/ +.smart-margin-left5 { + margin-left: 5px; +} + +.smart-margin-left10 { + margin-left: 10px; +} + +.smart-margin-left15 { + margin-left: 15px; +} + +.smart-margin-left20 { + margin-left: 20px; +} + +/********************************** 右间距 **********************************/ +.smart-margin-right5 { + margin-right: 5px; +} + +.smart-margin-right10 { + margin-right: 10px; +} + +.smart-margin-right15 { + margin-right: 15px; +} + +.smart-margin-right20 { + margin-right: 20px; +} + +/******************************** 上间距 ********************************/ +.smart-margin-top5 { + margin-top: 5px; +} + +.smart-margin-top10 { + margin-top: 10px; +} + +.smart-margin-top15 { + margin-top: 15px; +} + +.smart-margin-top20 { + margin-top: 20px; +} + +.smart-margin-top30 { + margin-top: 30px; +} + +.smart-margin-top40 { + margin-top: 40px; +} + +.smart-margin-top50 { + margin-top: 50px; +} + +.smart-margin-top60 { + margin-top: 60px; +} + + +/******************************** 下间距 ********************************/ +.smart-margin-bottom5 { + margin-bottom: 5px; +} + +.smart-margin-bottom10 { + margin-bottom: 10px; +} + +/******************************** 表单 ********************************/ +.smart-form { + height: auto; + padding-bottom: 120px; + + :deep(.uni-forms-item__content) { + display: flex; + align-items: center; + } + + :deep(.uni-forms-item__label) { + font-size: 32rpx; + color: #000000; + padding-top: 28rpx; + } + + :deep(.uni-forms-item) { + margin-bottom: 0 !important; + } + + :deep(.uni-slider-thumb) { + background: #fff !important; + border: 10rpx solid #1a9aff; + box-sizing: border-box; + } + + .smart-form-item { + min-height: 100rpx; + height: auto; + align-items: center; + &:last-child { + border: none; + } + } + + .smart-form-group { + box-sizing: border-box; + width: 100wh; + margin: 20rpx auto 0; + background: #fff; + border-radius: 16rpx; + + .smart-form-group-title { + width: 100%; + height: 84rpx; + background-image: url('/static/images/list/form-list.png'); + background-size: 100% 84rpx; + line-height: 84rpx; + text-indent: 30rpx; + font-size: 32rpx; + color: #323333; + font-weight: bold; + } + + .smart-form-group-content { + padding: 0 30rpx; + } + .input { + font-size: 22rpx; + text-align: right; + width: 100%; + } + } + + .smart-form-submit { + border-top: #eee 1px solid; + height: 80px; + display: flex; + flex-direction: row; + align-items: center; + position: absolute; + bottom: 0; + background-color: white; + width: 100%; + + .smart-form-submit-btn { + margin: 10px; + height: 2.5; + flex: 1; + } + } + + .fixed-bottom-button { + position: fixed; + bottom: 0; + } +} + + +/******************************** 详情 ********************************/ + +.smart-detail { + .smart-detail-card { + background-color: white; + margin-right: auto; + margin-left: auto; + margin-bottom: 15px; + width: 94%; + border-radius: 16rpx; + box-sizing: border-box; + padding: 16rpx 30rpx; + + .smart-detail-card-title { + height: 70rpx; + display: flex; + align-items: center; + font-size: $uni-font-size-lg; + color: #323333; + font-weight: bold; + margin-bottom: 16rpx; + &::before { + content: ''; + height: 32rpx; + width: 3px; + border-radius: 4rpx; + margin-right: 10rpx; + background-color: $uni-color-primary; + } + } + + .smart-detail-card-cell { + display: flex; + min-height: 80rpx; + padding: 10rpx 0; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + border-top: 1rpx solid #ededed; + .smart-detail-card-label { + color: #666666; + font-size: $uni-font-size-lg; + } + .smart-detail-card-value { + font-size: $uni-font-size-lg; + padding: 20rpx 0; + } + } + } +} + + + + + + + + diff --git a/smart-app/src/uni.scss b/smart-app/src/uni.scss new file mode 100644 index 00000000..538a4648 --- /dev/null +++ b/smart-app/src/uni.scss @@ -0,0 +1,133 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color: #333; // 基本色 +$uni-text-color-inverse: #fff; // 反色 +$uni-text-color-grey: #999; // 辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable: #c0c0c0; + +/* 背景颜色 */ +$uni-bg-color: #fff; +$uni-bg-color-grey: #f8f8f8; +$uni-bg-color-hover: #f1f1f1; // 点击状态颜色 +$uni-bg-color-mask: rgba(0, 0, 0, 0.4); // 遮罩颜色 + +/* 边框颜色 */ +$uni-border-color: #c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm: 12px; +$uni-font-size-base: 14px; +$uni-font-size-lg: 16px; + +/* 图片尺寸 */ +$uni-img-size-sm: 20px; +$uni-img-size-base: 26px; +$uni-img-size-lg: 40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2c405a; // 文章标题颜色 +$uni-font-size-title: 20px; +$uni-color-subtitle: #555; // 二级标题颜色 +$uni-font-size-subtitle: 18px; +$uni-color-paragraph: #3f536e; // 文章段落颜色 +$uni-font-size-paragraph: 15px; + + + +// 字体 ------------------- begin ------------- +$main-size: 14px; // 主要字体大小 +$title-size: 17px;// 标题字体大小 +$small-size: 12px; // 辅助字体大小 +// 字体 ------------------- end ------------- + +// 颜色 ------------------- begin ------------- +$main-color: #1A9AFF; //主色调 +$main-background: #F4F4F4; //主色背景色 +$main-font-color: #444444;// 字体一级颜色 +$second-font-color: #777777; // 字体二级颜色 +$border-color: #EDEDED; // 边框颜色 +$background-color: #F5F6F8; // 背景颜色 +$page-bg-color: #F7F8F9; // 页面背景灰色 +$title-text-color: #444444;// 列表顶部标题颜色 +$item-text-color: #353535; // 块标题颜色 +$main-orange-color: #FF6C00; // 橙色 +$main-orange-background: #FFF0ED;// 橙色背景 +$main-green-color: #1CE36D; // 绿色 +$main-green-background: #E5F8E9;// 绿色背景 +$main-red-color: #FF3924; // 红色 +$auxiliary-color: #CCCCCC; // 辅助颜色 + +$toast-color: #A1AEBE; // 提示颜色 +$toast-color-low: #D0D5DB; // 弱提示颜色 +$weak-background-color: #F9FAFC; // 弱的颜色 +$gray-color-low: #CCC; // 浅灰色 +$linear-color: linear-gradient(270deg,#2e9aff, #007ff2); // 主要渐变色 +$error-color: #F26158; // 错误颜色 +$answer-error-bg-color: #fffaf9; // 做题选项答错背景 +$answer-right-bg-color: #f6fbff; // 做题选项答对背景 +$collapse-bg-color: #F3F6FB; // 折叠面板二级背景颜色 +// 颜色 ------------------- end ------------- + + + + +// 样式 ------------------- begin ------------- +// 这里导出的样式在APP端无效,APP端不要再引用了 +:export { + mainColor: $main-color; + backgroundColor:$background-color; + error: $error-color; + mainFontColor: $main-font-color; + auxiliaryFontColor: $auxiliary-color; + mainBorder: $border-color; + secondFontColor:$second-font-color; + collapseBgColor:$collapse-bg-color; + toastColor:$toast-color; + textColorWhite:$main-background; + toastColorLow: $toast-color-low; + titleTextColor: $title-text-color; + grayColorLow:$gray-color-low; +} diff --git a/smart-app/src/uni_modules/uni-data-picker/changelog.md b/smart-app/src/uni_modules/uni-data-picker/changelog.md new file mode 100644 index 00000000..8aaad241 --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/changelog.md @@ -0,0 +1,77 @@ +## 2.0.0(2023-12-14) +- 新增 支持 uni-app-x +## 1.1.2(2023-04-11) +- 修复 更改 modelValue 报错的 bug +- 修复 v-for 未使用 key 值控制台 warning +## 1.1.1(2023-02-21) +- 修复代码合并时引发 value 属性为空时不渲染数据的问题 +## 1.1.0(2023-02-15) +- 修复 localdata 不支持动态更新的bug +## 1.0.9(2023-02-15) +- 修复 localdata 不支持动态更新的bug +## 1.0.8(2022-09-16) +- 可以使用 uni-scss 控制主题色 +## 1.0.7(2022-07-06) +- 优化 pc端图标位置不正确的问题 +## 1.0.6(2022-07-05) +- 优化 显示样式 +## 1.0.5(2022-07-04) +- 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +## 1.0.4(2022-04-19) +- 修复 字节小程序 本地数据无法选择下一级的Bug +## 1.0.3(2022-02-25) +- 修复 nvue 不支持的 v-show 的 bug +## 1.0.2(2022-02-25) +- 修复 条件编译 nvue 不支持的 css 样式 +## 1.0.1(2021-11-23) +- 修复 由上个版本引发的map、v-model等属性不生效的bug +## 1.0.0(2021-11-19) +- 优化 组件 UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-data-picker](https://uniapp.dcloud.io/component/uniui/uni-data-picker) +## 0.4.9(2021-10-28) +- 修复 VUE2 v-model 概率无效的 bug +## 0.4.8(2021-10-27) +- 修复 v-model 概率无效的 bug +## 0.4.7(2021-10-25) +- 新增 属性 spaceInfo 服务空间配置 HBuilderX 3.2.11+ +- 修复 树型 uniCloud 数据类型为 int 时报错的 bug +## 0.4.6(2021-10-19) +- 修复 非 VUE3 v-model 为 0 时无法选中的 bug +## 0.4.5(2021-09-26) +- 新增 清除已选项的功能(通过 clearIcon 属性配置是否显示按钮),同时提供 clear 方法以供调用,二者等效 +- 修复 readonly 为 true 时报错的 bug +## 0.4.4(2021-09-26) +- 修复 上一版本造成的 map 属性失效的 bug +- 新增 ellipsis 属性,支持配置 tab 选项长度过长时是否自动省略 +## 0.4.3(2021-09-24) +- 修复 某些情况下级联未触发的 bug +## 0.4.2(2021-09-23) +- 新增 提供 show 和 hide 方法,开发者可以通过 ref 调用 +- 新增 选项内容过长自动添加省略号 +## 0.4.1(2021-09-15) +- 新增 map 属性 字段映射,将 text/value 映射到数据中的其他字段 +## 0.4.0(2021-07-13) +- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.3.5(2021-06-04) +- 修复 无法加载云端数据的问题 +## 0.3.4(2021-05-28) +- 修复 v-model 无效问题 +- 修复 loaddata 为空数据组时加载时间过长问题 +- 修复 上个版本引出的本地数据无法选择带有 children 的 2 级节点 +## 0.3.3(2021-05-12) +- 新增 组件示例地址 +## 0.3.2(2021-04-22) +- 修复 非树形数据有 where 属性查询报错的问题 +## 0.3.1(2021-04-15) +- 修复 本地数据概率无法回显时问题 +## 0.3.0(2021-04-07) +- 新增 支持云端非树形表结构数据 +- 修复 根节点 parent_field 字段等于 null 时选择界面错乱问题 +## 0.2.0(2021-03-15) +- 修复 nodeclick、popupopened、popupclosed 事件无法触发的问题 +## 0.1.9(2021-03-09) +- 修复 微信小程序某些情况下无法选择的问题 +## 0.1.8(2021-02-05) +- 优化 部分样式在 nvue 上的兼容表现 +## 0.1.7(2021-02-05) +- 调整为 uni_modules 目录规范 diff --git a/smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js new file mode 100644 index 00000000..6ef26a26 --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + this.$once('hook:beforeDestroy', () => { + document.removeEventListener('keyup', listener) + }) + }, + render: () => {} +} +// #endif diff --git a/smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.uvue b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.uvue new file mode 100644 index 00000000..82031e1d --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.uvue @@ -0,0 +1,380 @@ + + + + + diff --git a/smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue new file mode 100644 index 00000000..179a4e0b --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue @@ -0,0 +1,551 @@ + + + + + diff --git a/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/loading.uts b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/loading.uts new file mode 100644 index 00000000..baa0dfff --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/loading.uts @@ -0,0 +1 @@ +export const imgbase : string = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzlBMzU3OTlEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzlBMzU3OUFEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOUEzNTc5N0Q5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOUEzNTc5OEQ5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pt+ALSwAAA6CSURBVHja1FsLkFZV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' \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js new file mode 100644 index 00000000..cfae22a4 --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js @@ -0,0 +1,622 @@ +export default { + props: { + localdata: { + type: [Array, Object], + default () { + return [] + } + }, + spaceInfo: { + type: Object, + default () { + return {} + } + }, + collection: { + type: String, + default: '' + }, + action: { + type: String, + default: '' + }, + field: { + type: String, + default: '' + }, + orderby: { + type: String, + default: '' + }, + where: { + type: [String, Object], + default: '' + }, + pageData: { + type: String, + default: 'add' + }, + pageCurrent: { + type: Number, + default: 1 + }, + pageSize: { + type: Number, + default: 500 + }, + getcount: { + type: [Boolean, String], + default: false + }, + getone: { + type: [Boolean, String], + default: false + }, + gettree: { + type: [Boolean, String], + default: false + }, + manual: { + type: Boolean, + default: false + }, + value: { + type: [Array, String, Number], + default () { + return [] + } + }, + modelValue: { + type: [Array, String, Number], + default () { + return [] + } + }, + preload: { + type: Boolean, + default: false + }, + stepSearh: { + type: Boolean, + default: true + }, + selfField: { + type: String, + default: '' + }, + parentField: { + type: String, + default: '' + }, + multiple: { + type: Boolean, + default: false + }, + map: { + type: Object, + default () { + return { + text: "text", + value: "value" + } + } + } + }, + data() { + return { + loading: false, + errorMessage: '', + loadMore: { + contentdown: '', + contentrefresh: '', + contentnomore: '' + }, + dataList: [], + selected: [], + selectedIndex: 0, + page: { + current: this.pageCurrent, + size: this.pageSize, + count: 0 + } + } + }, + computed: { + isLocalData() { + return !this.collection.length; + }, + isCloudData() { + return this.collection.length > 0; + }, + isCloudDataList() { + return (this.isCloudData && (!this.parentField && !this.selfField)); + }, + isCloudDataTree() { + return (this.isCloudData && this.parentField && this.selfField); + }, + dataValue() { + let isModelValue = Array.isArray(this.modelValue) ? (this.modelValue.length > 0) : (this.modelValue !== null || + this.modelValue !== undefined); + return isModelValue ? this.modelValue : this.value; + }, + hasValue() { + if (typeof this.dataValue === 'number') { + return true + } + return (this.dataValue != null) && (this.dataValue.length > 0) + } + }, + created() { + this.$watch(() => { + var al = []; + ['pageCurrent', + 'pageSize', + 'spaceInfo', + 'value', + 'modelValue', + 'localdata', + 'collection', + 'action', + 'field', + 'orderby', + 'where', + 'getont', + 'getcount', + 'gettree' + ].forEach(key => { + al.push(this[key]) + }); + return al + }, (newValue, oldValue) => { + let needReset = false + for (let i = 2; i < newValue.length; i++) { + if (newValue[i] != oldValue[i]) { + needReset = true + break + } + } + if (newValue[0] != oldValue[0]) { + this.page.current = this.pageCurrent + } + this.page.size = this.pageSize + + this.onPropsChange() + }) + this._treeData = [] + }, + methods: { + onPropsChange() { + this._treeData = []; + }, + + // 填充 pickview 数据 + async loadData() { + if (this.isLocalData) { + this.loadLocalData(); + } else if (this.isCloudDataList) { + this.loadCloudDataList(); + } else if (this.isCloudDataTree) { + this.loadCloudDataTree(); + } + }, + + // 加载本地数据 + async loadLocalData() { + this._treeData = []; + this._extractTree(this.localdata, this._treeData); + + let inputValue = this.dataValue; + if (inputValue === undefined) { + return; + } + + if (Array.isArray(inputValue)) { + inputValue = inputValue[inputValue.length - 1]; + if (typeof inputValue === 'object' && inputValue[this.map.value]) { + inputValue = inputValue[this.map.value]; + } + } + + this.selected = this._findNodePath(inputValue, this.localdata); + }, + + // 加载 Cloud 数据 (单列) + async loadCloudDataList() { + if (this.loading) { + return; + } + this.loading = true; + + try { + let response = await this.getCommand(); + let responseData = response.result.data; + + this._treeData = responseData; + + this._updateBindData(); + this._updateSelected(); + + this.onDataChange(); + } catch (e) { + this.errorMessage = e; + } finally { + this.loading = false; + } + }, + + // 加载 Cloud 数据 (树形) + async loadCloudDataTree() { + if (this.loading) { + return; + } + this.loading = true; + + try { + let commandOptions = { + field: this._cloudDataPostField(), + where: this._cloudDataTreeWhere() + }; + if (this.gettree) { + commandOptions.startwith = `${this.selfField}=='${this.dataValue}'`; + } + + let response = await this.getCommand(commandOptions); + let responseData = response.result.data; + + this._treeData = responseData; + this._updateBindData(); + this._updateSelected(); + + this.onDataChange(); + } catch (e) { + this.errorMessage = e; + } finally { + this.loading = false; + } + }, + + // 加载 Cloud 数据 (节点) + async loadCloudDataNode(callback) { + if (this.loading) { + return; + } + this.loading = true; + + try { + let commandOptions = { + field: this._cloudDataPostField(), + where: this._cloudDataNodeWhere() + }; + + let response = await this.getCommand(commandOptions); + let responseData = response.result.data; + + callback(responseData); + } catch (e) { + this.errorMessage = e; + } finally { + this.loading = false; + } + }, + + // 回显 Cloud 数据 + getCloudDataValue() { + if (this.isCloudDataList) { + return this.getCloudDataListValue(); + } + + if (this.isCloudDataTree) { + return this.getCloudDataTreeValue(); + } + }, + + // 回显 Cloud 数据 (单列) + getCloudDataListValue() { + // 根据 field's as value标识匹配 where 条件 + let where = []; + let whereField = this._getForeignKeyByField(); + if (whereField) { + where.push(`${whereField} == '${this.dataValue}'`) + } + + where = where.join(' || '); + + if (this.where) { + where = `(${this.where}) && (${where})` + } + + return this.getCommand({ + field: this._cloudDataPostField(), + where + }).then((res) => { + this.selected = res.result.data; + return res.result.data; + }); + }, + + // 回显 Cloud 数据 (树形) + getCloudDataTreeValue() { + return this.getCommand({ + field: this._cloudDataPostField(), + getTreePath: { + startWith: `${this.selfField}=='${this.dataValue}'` + } + }).then((res) => { + let treePath = []; + this._extractTreePath(res.result.data, treePath); + this.selected = treePath; + return treePath; + }); + }, + + getCommand(options = {}) { + /* eslint-disable no-undef */ + let db = uniCloud.database(this.spaceInfo) + + const action = options.action || this.action + if (action) { + db = db.action(action) + } + + const collection = options.collection || this.collection + db = db.collection(collection) + + const where = options.where || this.where + if (!(!where || !Object.keys(where).length)) { + db = db.where(where) + } + + const field = options.field || this.field + if (field) { + db = db.field(field) + } + + const orderby = options.orderby || this.orderby + if (orderby) { + db = db.orderBy(orderby) + } + + const current = options.pageCurrent !== undefined ? options.pageCurrent : this.page.current + const size = options.pageSize !== undefined ? options.pageSize : this.page.size + const getCount = options.getcount !== undefined ? options.getcount : this.getcount + const getTree = options.gettree !== undefined ? options.gettree : this.gettree + + const getOptions = { + getCount, + getTree + } + if (options.getTreePath) { + getOptions.getTreePath = options.getTreePath + } + + db = db.skip(size * (current - 1)).limit(size).get(getOptions) + + return db + }, + + _cloudDataPostField() { + let fields = [this.field]; + if (this.parentField) { + fields.push(`${this.parentField} as parent_value`); + } + return fields.join(','); + }, + + _cloudDataTreeWhere() { + let result = [] + let selected = this.selected + let parentField = this.parentField + if (parentField) { + result.push(`${parentField} == null || ${parentField} == ""`) + } + if (selected.length) { + for (var i = 0; i < selected.length - 1; i++) { + result.push(`${parentField} == '${selected[i].value}'`) + } + } + + let where = [] + if (this.where) { + where.push(`(${this.where})`) + } + + if (result.length) { + where.push(`(${result.join(' || ')})`) + } + + return where.join(' && ') + }, + + _cloudDataNodeWhere() { + let where = [] + let selected = this.selected; + if (selected.length) { + where.push(`${this.parentField} == '${selected[selected.length - 1].value}'`); + } + + where = where.join(' || '); + + if (this.where) { + return `(${this.where}) && (${where})` + } + + return where + }, + + _getWhereByForeignKey() { + let result = [] + let whereField = this._getForeignKeyByField(); + if (whereField) { + result.push(`${whereField} == '${this.dataValue}'`) + } + + if (this.where) { + return `(${this.where}) && (${result.join(' || ')})` + } + + return result.join(' || ') + }, + + _getForeignKeyByField() { + let fields = this.field.split(','); + let whereField = null; + for (let i = 0; i < fields.length; i++) { + const items = fields[i].split('as'); + if (items.length < 2) { + continue; + } + if (items[1].trim() === 'value') { + whereField = items[0].trim(); + break; + } + } + return whereField; + }, + + _updateBindData(node) { + const { + dataList, + hasNodes + } = this._filterData(this._treeData, this.selected) + + let isleaf = this._stepSearh === false && !hasNodes + + if (node) { + node.isleaf = isleaf + } + + this.dataList = dataList + this.selectedIndex = dataList.length - 1 + + if (!isleaf && this.selected.length < dataList.length) { + this.selected.push({ + value: null, + text: "请选择" + }) + } + + return { + isleaf, + hasNodes + } + }, + + _updateSelected() { + let dl = this.dataList + let sl = this.selected + let textField = this.map.text + let valueField = this.map.value + for (let i = 0; i < sl.length; i++) { + let value = sl[i].value + let dl2 = dl[i] + for (let j = 0; j < dl2.length; j++) { + let item2 = dl2[j] + if (item2[valueField] === value) { + sl[i].text = item2[textField] + break + } + } + } + }, + + _filterData(data, paths) { + let dataList = [] + let hasNodes = true + + dataList.push(data.filter((item) => { + return (item.parent_value === null || item.parent_value === undefined || item.parent_value === '') + })) + for (let i = 0; i < paths.length; i++) { + let value = paths[i].value + let nodes = data.filter((item) => { + return item.parent_value === value + }) + + if (nodes.length) { + dataList.push(nodes) + } else { + hasNodes = false + } + } + + return { + dataList, + hasNodes + } + }, + + _extractTree(nodes, result, parent_value) { + let list = result || [] + let valueField = this.map.value + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + + let child = {} + for (let key in node) { + if (key !== 'children') { + child[key] = node[key] + } + } + if (parent_value !== null && parent_value !== undefined && parent_value !== '') { + child.parent_value = parent_value + } + result.push(child) + + let children = node.children + if (children) { + this._extractTree(children, result, node[valueField]) + } + } + }, + + _extractTreePath(nodes, result) { + let list = result || [] + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + + let child = {} + for (let key in node) { + if (key !== 'children') { + child[key] = node[key] + } + } + result.push(child) + + let children = node.children + if (children) { + this._extractTreePath(children, result) + } + } + }, + + _findNodePath(key, nodes, path = []) { + let textField = this.map.text + let valueField = this.map.value + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + let children = node.children + let text = node[textField] + let value = node[valueField] + + path.push({ + value, + text + }) + + if (value === key) { + return path + } + + if (children) { + const p = this._findNodePath(key, children, path) + if (p.length) { + return p + } + } + + path.pop() + } + return [] + } + } +} diff --git a/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.uts b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.uts new file mode 100644 index 00000000..372795d3 --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.uts @@ -0,0 +1,693 @@ +export type PaginationType = { + current : number, + size : number, + count : number +} + +export type LoadMoreType = { + contentdown : string, + contentrefresh : string, + contentnomore : string +} + +export type SelectedItemType = { + name : string, + value : string, +} + +export type GetCommandOptions = { + collection ?: UTSJSONObject, + field ?: string, + orderby ?: string, + where ?: any, + pageData ?: string, + pageCurrent ?: number, + pageSize ?: number, + getCount ?: boolean, + getTree ?: any, + getTreePath ?: UTSJSONObject, + startwith ?: string, + limitlevel ?: number, + groupby ?: string, + groupField ?: string, + distinct ?: boolean, + pageIndistinct ?: boolean, + foreignKey ?: string, + loadtime ?: string, + manual ?: boolean +} + +const DefaultSelectedNode = { + text: '请选择', + value: '' +} + +export const dataPicker = defineMixin({ + props: { + localdata: { + type: Array as PropType>, + default: [] as Array + }, + collection: { + type: Object, + default: '' + }, + field: { + type: String, + default: '' + }, + orderby: { + type: String, + default: '' + }, + where: { + type: Object, + default: '' + }, + pageData: { + type: String, + default: 'add' + }, + pageCurrent: { + type: Number, + default: 1 + }, + pageSize: { + type: Number, + default: 20 + }, + getcount: { + type: Boolean, + default: false + }, + gettree: { + type: Object, + default: '' + }, + gettreepath: { + type: Object, + default: '' + }, + startwith: { + type: String, + default: '' + }, + limitlevel: { + type: Number, + default: 10 + }, + groupby: { + type: String, + default: '' + }, + groupField: { + type: String, + default: '' + }, + distinct: { + type: Boolean, + default: false + }, + pageIndistinct: { + type: Boolean, + default: false + }, + foreignKey: { + type: String, + default: '' + }, + loadtime: { + type: String, + default: 'auto' + }, + manual: { + type: Boolean, + default: false + }, + preload: { + type: Boolean, + default: false + }, + stepSearh: { + type: Boolean, + default: true + }, + selfField: { + type: String, + default: '' + }, + parentField: { + type: String, + default: '' + }, + multiple: { + type: Boolean, + default: false + }, + value: { + type: Object, + default: '' + }, + modelValue: { + type: Object, + default: '' + }, + defaultProps: { + type: Object as PropType, + } + }, + data() { + return { + loading: false, + error: null as UniCloudError | null, + treeData: [] as Array, + selectedIndex: 0, + selectedNodes: [] as Array, + selectedPages: [] as Array[], + selectedValue: '', + selectedPaths: [] as Array, + pagination: { + current: 1, + size: 20, + count: 0 + } as PaginationType + } + }, + computed: { + mappingTextName() : string { + // TODO + return (this.defaultProps != null) ? this.defaultProps!.getString('text', 'text') : 'text' + }, + mappingValueName() : string { + // TODO + return (this.defaultProps != null) ? this.defaultProps!.getString('value', 'value') : 'value' + }, + currentDataList() : Array { + if (this.selectedIndex > this.selectedPages.length - 1) { + return [] as Array + } + return this.selectedPages[this.selectedIndex] + }, + isLocalData() : boolean { + return this.localdata.length > 0 + }, + isCloudData() : boolean { + return this._checkIsNotNull(this.collection) + }, + isCloudDataList() : boolean { + return (this.isCloudData && (this.parentField.length == 0 && this.selfField.length == 0)) + }, + isCloudDataTree() : boolean { + return (this.isCloudData && this.parentField.length > 0 && this.selfField.length > 0) + }, + dataValue() : any { + return this.hasModelValue ? this.modelValue : this.value + }, + hasCloudTreeData() : boolean { + return this.treeData.length > 0 + }, + hasModelValue() : boolean { + if (typeof this.modelValue == 'string') { + const valueString = this.modelValue as string + return (valueString.length > 0) + } else if (Array.isArray(this.modelValue)) { + const valueArray = this.modelValue as Array + return (valueArray.length > 0) + } + return false + }, + hasCloudDataValue() : boolean { + if (typeof this.dataValue == 'string') { + const valueString = this.dataValue as string + return (valueString.length > 0) + } + return false + } + }, + created() { + this.pagination.current = this.pageCurrent + this.pagination.size = this.pageSize + + this.$watch( + () : any => [ + this.pageCurrent, + this.pageSize, + this.localdata, + this.value, + this.collection, + this.field, + this.getcount, + this.orderby, + this.where, + this.groupby, + this.groupField, + this.distinct + ], + (newValue : Array, oldValue : Array) => { + this.pagination.size = this.pageSize + if (newValue[0] !== oldValue[0]) { + this.pagination.current = this.pageCurrent + } + + this.onPropsChange() + } + ) + }, + methods: { + onPropsChange() { + this.selectedIndex = 0 + this.treeData.length = 0 + this.selectedNodes.length = 0 + this.selectedPages.length = 0 + this.selectedPaths.length = 0 + + // 加载数据 + this.$nextTick(() => { + this.loadData() + }) + }, + + onTabSelect(index : number) { + this.selectedIndex = index + }, + + onNodeClick(nodeData : UTSJSONObject) { + if (nodeData.getBoolean('disable', false)) { + return + } + + const isLeaf = this._checkIsLeafNode(nodeData) + + this._trimSelectedNodes(nodeData) + + this.$emit('nodeclick', nodeData) + + if (this.isLocalData) { + if (isLeaf || !this._checkHasChildren(nodeData)) { + this.onFinish() + } + } else if (this.isCloudDataList) { + this.onFinish() + } else if (this.isCloudDataTree) { + if (isLeaf) { + this.onFinish() + } else if (!this._checkHasChildren(nodeData)) { + // 尝试请求一次,如果没有返回数据标记为叶子节点 + this.loadCloudDataNode(nodeData) + } + } + }, + + getChangeNodes(): Array { + const nodes: Array = [] + this.selectedNodes.forEach((node : UTSJSONObject) => { + const newNode: UTSJSONObject = {} + newNode[this.mappingTextName] = node.getString(this.mappingTextName) + newNode[this.mappingValueName] = node.getString(this.mappingValueName) + nodes.push(newNode) + }) + return nodes + }, + + onFinish() { }, + + // 加载数据(自动判定环境) + loadData() { + if (this.isLocalData) { + this.loadLocalData() + } else if (this.isCloudDataList) { + this.loadCloudDataList() + } else if (this.isCloudDataTree) { + this.loadCloudDataTree() + } + }, + + // 加载本地数据 + loadLocalData() { + this.treeData = this.localdata + if (Array.isArray(this.dataValue)) { + const value = this.dataValue as Array + this.selectedPaths = value.slice(0) + this._pushSelectedTreeNodes(value, this.localdata) + } else { + this._pushSelectedNodes(this.localdata) + } + }, + + // 加载 Cloud 数据 (单列) + loadCloudDataList() { + this._loadCloudData(null, (data : Array) => { + this.treeData = data + this._pushSelectedNodes(data) + }) + }, + + // 加载 Cloud 数据 (树形) + loadCloudDataTree() { + let commandOptions = { + field: this._cloudDataPostField(), + where: this._cloudDataTreeWhere(), + getTree: true + } as GetCommandOptions + if (this._checkIsNotNull(this.gettree)) { + commandOptions.startwith = `${this.selfField}=='${this.dataValue as string}'` + } + this._loadCloudData(commandOptions, (data : Array) => { + this.treeData = data + if (this.selectedPaths.length > 0) { + this._pushSelectedTreeNodes(this.selectedPaths, data) + } else { + this._pushSelectedNodes(data) + } + }) + }, + + // 加载 Cloud 数据 (节点) + loadCloudDataNode(nodeData : UTSJSONObject) { + const commandOptions = { + field: this._cloudDataPostField(), + where: this._cloudDataNodeWhere() + } as GetCommandOptions + this._loadCloudData(commandOptions, (data : Array) => { + nodeData['children'] = data + if (data.length == 0) { + nodeData['isleaf'] = true + this.onFinish() + } else { + this._pushSelectedNodes(data) + } + }) + }, + + // 回显 Cloud Tree Path + loadCloudDataPath() { + if (!this.hasCloudDataValue) { + return + } + + const command : GetCommandOptions = {} + + // 单列 + if (this.isCloudDataList) { + // 根据 field's as value标识匹配 where 条件 + let where : Array = []; + let whereField = this._getForeignKeyByField(); + if (whereField.length > 0) { + where.push(`${whereField} == '${this.dataValue as string}'`) + } + + let whereString = where.join(' || ') + if (this._checkIsNotNull(this.where)) { + whereString = `(${this.where}) && (${whereString})` + } + + command.field = this._cloudDataPostField() + command.where = whereString + } + + // 树形 + if (this.isCloudDataTree) { + command.field = this._cloudDataPostField() + command.getTreePath = { + startWith: `${this.selfField}=='${this.dataValue as string}'` + } + } + + this._loadCloudData(command, (data : Array) => { + this._extractTreePath(data, this.selectedPaths) + }) + }, + + _loadCloudData(options ?: GetCommandOptions, callback ?: ((data : Array) => void)) { + if (this.loading) { + return + } + this.loading = true + + this.error = null + + this._getCommand(options).then((response : UniCloudDBGetResult) => { + callback?.(response.data) + }).catch((err : any | null) => { + this.error = err as UniCloudError + }).finally(() => { + this.loading = false + }) + }, + + _cloudDataPostField() : string { + let fields = [this.field]; + if (this.parentField.length > 0) { + fields.push(`${this.parentField} as parent_value`) + } + return fields.join(',') + }, + + _cloudDataTreeWhere() : string { + let result : Array = [] + let selectedNodes = this.selectedNodes.length > 0 ? this.selectedNodes : this.selectedPaths + let parentField = this.parentField + if (parentField.length > 0) { + result.push(`${parentField} == null || ${parentField} == ""`) + } + if (selectedNodes.length > 0) { + for (var i = 0; i < selectedNodes.length - 1; i++) { + const parentFieldValue = selectedNodes[i].getString('value', '') + result.push(`${parentField} == '${parentFieldValue}'`) + } + } + + let where : Array = [] + if (this._checkIsNotNull(this.where)) { + where.push(`(${this.where as string})`) + } + + if (result.length > 0) { + where.push(`(${result.join(' || ')})`) + } + + return where.join(' && ') + }, + + _cloudDataNodeWhere() : string { + const where : Array = [] + if (this.selectedNodes.length > 0) { + const value = this.selectedNodes[this.selectedNodes.length - 1].getString('value', '') + where.push(`${this.parentField} == '${value}'`) + } + + let whereString = where.join(' || ') + if (this._checkIsNotNull(this.where)) { + return `(${this.where as string}) && (${whereString})` + } + + return whereString + }, + + _getWhereByForeignKey() : string { + let result : Array = [] + let whereField = this._getForeignKeyByField(); + if (whereField.length > 0) { + result.push(`${whereField} == '${this.dataValue as string}'`) + } + + if (this._checkIsNotNull(this.where)) { + return `(${this.where}) && (${result.join(' || ')})` + } + + return result.join(' || ') + }, + + _getForeignKeyByField() : string { + const fields = this.field.split(',') + let whereField = '' + for (let i = 0; i < fields.length; i++) { + const items = fields[i].split('as') + if (items.length < 2) { + continue + } + if (items[1].trim() === 'value') { + whereField = items[0].trim() + break + } + } + return whereField + }, + + _getCommand(options ?: GetCommandOptions) : Promise { + let db = uniCloud.databaseForJQL() + + let collection = Array.isArray(this.collection) ? db.collection(...(this.collection as Array)) : db.collection(this.collection) + + let filter : UniCloudDBFilter | null = null + if (this.foreignKey.length > 0) { + filter = collection.foreignKey(this.foreignKey) + } + + const where : any = options?.where ?? this.where + if (typeof where == 'string') { + const whereString = where as string + if (whereString.length > 0) { + filter = (filter != null) ? filter.where(where) : collection.where(where) + } + } else { + filter = (filter != null) ? filter.where(where) : collection.where(where) + } + + let query : UniCloudDBQuery | null = null + if (this.field.length > 0) { + query = (filter != null) ? filter.field(this.field) : collection.field(this.field) + } + if (this.groupby.length > 0) { + if (query != null) { + query = query.groupBy(this.groupby) + } else if (filter != null) { + query = filter.groupBy(this.groupby) + } + } + if (this.groupField.length > 0) { + if (query != null) { + query = query.groupField(this.groupField) + } else if (filter != null) { + query = filter.groupField(this.groupField) + } + } + if (this.distinct == true) { + if (query != null) { + query = query.distinct(this.field) + } else if (filter != null) { + query = filter.distinct(this.field) + } + } + if (this.orderby.length > 0) { + if (query != null) { + query = query.orderBy(this.orderby) + } else if (filter != null) { + query = filter.orderBy(this.orderby) + } + } + + const size = this.pagination.size + const current = this.pagination.current + if (query != null) { + query = query.skip(size * (current - 1)).limit(size) + } else if (filter != null) { + query = filter.skip(size * (current - 1)).limit(size) + } else { + query = collection.skip(size * (current - 1)).limit(size) + } + + const getOptions = {} + const treeOptions = { + limitLevel: this.limitlevel, + startWith: this.startwith + } + if (this.getcount == true) { + getOptions['getCount'] = this.getcount + } + + const getTree : any = options?.getTree ?? this.gettree + if (typeof getTree == 'string') { + const getTreeString = getTree as string + if (getTreeString.length > 0) { + getOptions['getTree'] = treeOptions + } + } else if (typeof getTree == 'object') { + getOptions['getTree'] = treeOptions + } else { + getOptions['getTree'] = getTree + } + + const getTreePath = options?.getTreePath ?? this.gettreepath + if (typeof getTreePath == 'string') { + const getTreePathString = getTreePath as string + if (getTreePathString.length > 0) { + getOptions['getTreePath'] = getTreePath + } + } else { + getOptions['getTreePath'] = getTreePath + } + + return query.get(getOptions) + }, + + _checkIsNotNull(value : any) : boolean { + if (typeof value == 'string') { + const valueString = value as string + return (valueString.length > 0) + } else if (value instanceof UTSJSONObject) { + return true + } + return false + }, + + _checkIsLeafNode(nodeData : UTSJSONObject) : boolean { + if (this.selectedIndex >= this.limitlevel) { + return true + } + + if (nodeData.getBoolean('isleaf', false)) { + return true + } + + return false + }, + + _checkHasChildren(nodeData : UTSJSONObject) : boolean { + const children = nodeData.getArray('children') ?? ([] as Array) + return children.length > 0 + }, + + _pushSelectedNodes(nodes : Array) { + this.selectedNodes.push(DefaultSelectedNode) + this.selectedPages.push(nodes) + this.selectedIndex = this.selectedPages.length - 1 + }, + + _trimSelectedNodes(nodeData : UTSJSONObject) { + this.selectedNodes.splice(this.selectedIndex) + this.selectedNodes.push(nodeData) + + if (this.selectedPages.length > 0) { + this.selectedPages.splice(this.selectedIndex + 1) + } + + const children = nodeData.getArray('children') ?? ([] as Array) + if (children.length > 0) { + this.selectedNodes.push(DefaultSelectedNode) + this.selectedPages.push(children) + } + + this.selectedIndex = this.selectedPages.length - 1 + }, + + _pushSelectedTreeNodes(paths : Array, nodes : Array) { + let children : Array = nodes + paths.forEach((node : UTSJSONObject) => { + const findNode = children.find((item : UTSJSONObject) : boolean => { + return (item.getString(this.mappingValueName) == node.getString(this.mappingValueName)) + }) + if (findNode != null) { + this.selectedPages.push(children) + this.selectedNodes.push(node) + children = findNode.getArray('children') ?? ([] as Array) + } + }) + this.selectedIndex = this.selectedPages.length - 1 + }, + + _extractTreePath(nodes : Array, result : Array) { + if (nodes.length == 0) { + return + } + + const node = nodes[0] + result.push(node) + + const children = node.getArray('children') + if (Array.isArray(children) && children!.length > 0) { + this._extractTreePath(children, result) + } + } + } +}) diff --git a/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.css b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.css new file mode 100644 index 00000000..39fe1c3a --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.css @@ -0,0 +1,76 @@ +.uni-data-pickerview { + position: relative; + flex-direction: column; + overflow: hidden; +} + +.loading-cover { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + align-items: center; + justify-content: center; + background-color: rgba(150, 150, 150, .1); +} + +.error { + background-color: #fff; + padding: 15px; +} + +.error-text { + color: #DD524D; +} + +.selected-node-list { + flex-direction: row; + flex-wrap: nowrap; +} + +.selected-node-item { + margin-left: 10px; + margin-right: 10px; + padding: 8px 10px 8px 10px; + border-bottom: 2px solid transparent; +} + +.selected-node-item-active { + color: #007aff; + border-bottom-color: #007aff; +} + +.list-view { + flex: 1; +} + +.list-item { + flex-direction: row; + justify-content: space-between; + padding: 12px 15px; + border-bottom: 1px solid #f0f0f0; +} + +.item-text { + color: #333333; +} + +.item-text-disabled { + opacity: .5; +} + +.item-text-overflow { + overflow: hidden; +} + +.check { + margin-right: 5px; + border: 2px solid #007aff; + border-left: 0; + border-top: 0; + height: 12px; + width: 6px; + transform-origin: center; + transform: rotate(45deg); +} diff --git a/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.uvue b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.uvue new file mode 100644 index 00000000..f4780f36 --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.uvue @@ -0,0 +1,69 @@ + + + + + diff --git a/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue new file mode 100644 index 00000000..6ebced92 --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue @@ -0,0 +1,323 @@ + + + + + diff --git a/smart-app/src/uni_modules/uni-data-picker/package.json b/smart-app/src/uni_modules/uni-data-picker/package.json new file mode 100644 index 00000000..a508162c --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/package.json @@ -0,0 +1,91 @@ +{ + "id": "uni-data-picker", + "displayName": "uni-data-picker 数据驱动的picker选择器", + "version": "2.0.0", + "description": "单列、多列级联选择器,常用于省市区城市选择、公司部门选择、多级分类等场景", + "keywords": [ + "uni-ui", + "uniui", + "picker", + "级联", + "省市区", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-load-more", + "uni-icons", + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y", + "app-uvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/smart-app/src/uni_modules/uni-data-picker/readme.md b/smart-app/src/uni_modules/uni-data-picker/readme.md new file mode 100644 index 00000000..19dd0e83 --- /dev/null +++ b/smart-app/src/uni_modules/uni-data-picker/readme.md @@ -0,0 +1,22 @@ +## DataPicker 级联选择 +> **组件名:uni-data-picker** +> 代码块: `uDataPicker` +> 关联组件:`uni-data-pickerview`、`uni-load-more`。 + + +`` 是一个选择类[datacom组件](https://uniapp.dcloud.net.cn/component/datacom)。 + +支持单列、和多列级联选择。列数没有限制,如果屏幕显示不全,顶部tab区域会左右滚动。 + +候选数据支持一次性加载完毕,也支持懒加载,比如示例图中,选择了“北京”后,动态加载北京的区县数据。 + +`` 组件尤其适用于地址选择、分类选择等选择类。 + +`` 支持本地数据、云端静态数据(json),uniCloud云数据库数据。 + +`` 可以通过JQL直连uniCloud云数据库,配套[DB Schema](https://uniapp.dcloud.net.cn/uniCloud/schema),可在schema2code中自动生成前端页面,还支持服务器端校验。 + +在uniCloud数据表中新建表“uni-id-address”和“opendb-city-china”,这2个表的schema自带foreignKey关联。在“uni-id-address”表的表结构页面使用schema2code生成前端页面,会自动生成地址管理的维护页面,自动从“opendb-city-china”表包含的中国所有省市区信息里选择地址。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-picker) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-icons/changelog.md b/smart-app/src/uni_modules/uni-icons/changelog.md new file mode 100644 index 00000000..620ab027 --- /dev/null +++ b/smart-app/src/uni_modules/uni-icons/changelog.md @@ -0,0 +1,40 @@ +## 2.0.9(2024-01-12) +fix: 修复图标大小默认值错误的问题 +## 2.0.8(2023-12-14) +- 修复 项目未使用 ts 情况下,打包报错的bug +## 2.0.7(2023-12-14) +- 修复 size 属性为 string 时,不加单位导致尺寸异常的bug +## 2.0.6(2023-12-11) +- 优化 兼容老版本icon类型,如 top ,bottom 等 +## 2.0.5(2023-12-11) +- 优化 兼容老版本icon类型,如 top ,bottom 等 +## 2.0.4(2023-12-06) +- 优化 uni-app x 下示例项目图标排序 +## 2.0.3(2023-12-06) +- 修复 nvue下引入组件报错的bug +## 2.0.2(2023-12-05) +-优化 size 属性支持单位 +## 2.0.1(2023-12-05) +- 新增 uni-app x 支持定义图标 +## 1.3.5(2022-01-24) +- 优化 size 属性可以传入不带单位的字符串数值 +## 1.3.4(2022-01-24) +- 优化 size 支持其他单位 +## 1.3.3(2022-01-17) +- 修复 nvue 有些图标不显示的bug,兼容老版本图标 +## 1.3.2(2021-12-01) +- 优化 示例可复制图标名称 +## 1.3.1(2021-11-23) +- 优化 兼容旧组件 type 值 +## 1.3.0(2021-11-19) +- 新增 更多图标 +- 优化 自定义图标使用方式 +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons) +## 1.1.7(2021-11-08) +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.5(2021-05-12) +- 新增 组件示例地址 +## 1.1.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/smart-app/src/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue new file mode 100644 index 00000000..398678ee --- /dev/null +++ b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue @@ -0,0 +1,91 @@ + + + + + diff --git a/smart-app/src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue new file mode 100644 index 00000000..7da53560 --- /dev/null +++ b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons.css b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons.css new file mode 100644 index 00000000..0a6b6fea --- /dev/null +++ b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons.css @@ -0,0 +1,664 @@ + +.uniui-cart-filled:before { + content: "\e6d0"; +} + +.uniui-gift-filled:before { + content: "\e6c4"; +} + +.uniui-color:before { + content: "\e6cf"; +} + +.uniui-wallet:before { + content: "\e6b1"; +} + +.uniui-settings-filled:before { + content: "\e6ce"; +} + +.uniui-auth-filled:before { + content: "\e6cc"; +} + +.uniui-shop-filled:before { + content: "\e6cd"; +} + +.uniui-staff-filled:before { + content: "\e6cb"; +} + +.uniui-vip-filled:before { + content: "\e6c6"; +} + +.uniui-plus-filled:before { + content: "\e6c7"; +} + +.uniui-folder-add-filled:before { + content: "\e6c8"; +} + +.uniui-color-filled:before { + content: "\e6c9"; +} + +.uniui-tune-filled:before { + content: "\e6ca"; +} + +.uniui-calendar-filled:before { + content: "\e6c0"; +} + +.uniui-notification-filled:before { + content: "\e6c1"; +} + +.uniui-wallet-filled:before { + content: "\e6c2"; +} + +.uniui-medal-filled:before { + content: "\e6c3"; +} + +.uniui-fire-filled:before { + content: "\e6c5"; +} + +.uniui-refreshempty:before { + content: "\e6bf"; +} + +.uniui-location-filled:before { + content: "\e6af"; +} + +.uniui-person-filled:before { + content: "\e69d"; +} + +.uniui-personadd-filled:before { + content: "\e698"; +} + +.uniui-arrowthinleft:before { + content: "\e6d2"; +} + +.uniui-arrowthinup:before { + content: "\e6d3"; +} + +.uniui-arrowthindown:before { + content: "\e6d4"; +} + +.uniui-back:before { + content: "\e6b9"; +} + +.uniui-forward:before { + content: "\e6ba"; +} + +.uniui-arrow-right:before { + content: "\e6bb"; +} + +.uniui-arrow-left:before { + content: "\e6bc"; +} + +.uniui-arrow-up:before { + content: "\e6bd"; +} + +.uniui-arrow-down:before { + content: "\e6be"; +} + +.uniui-arrowthinright:before { + content: "\e6d1"; +} + +.uniui-down:before { + content: "\e6b8"; +} + +.uniui-bottom:before { + content: "\e6b8"; +} + +.uniui-arrowright:before { + content: "\e6d5"; +} + +.uniui-right:before { + content: "\e6b5"; +} + +.uniui-up:before { + content: "\e6b6"; +} + +.uniui-top:before { + content: "\e6b6"; +} + +.uniui-left:before { + content: "\e6b7"; +} + +.uniui-arrowup:before { + content: "\e6d6"; +} + +.uniui-eye:before { + content: "\e651"; +} + +.uniui-eye-filled:before { + content: "\e66a"; +} + +.uniui-eye-slash:before { + content: "\e6b3"; +} + +.uniui-eye-slash-filled:before { + content: "\e6b4"; +} + +.uniui-info-filled:before { + content: "\e649"; +} + +.uniui-reload:before { + content: "\e6b2"; +} + +.uniui-micoff-filled:before { + content: "\e6b0"; +} + +.uniui-map-pin-ellipse:before { + content: "\e6ac"; +} + +.uniui-map-pin:before { + content: "\e6ad"; +} + +.uniui-location:before { + content: "\e6ae"; +} + +.uniui-starhalf:before { + content: "\e683"; +} + +.uniui-star:before { + content: "\e688"; +} + +.uniui-star-filled:before { + content: "\e68f"; +} + +.uniui-calendar:before { + content: "\e6a0"; +} + +.uniui-fire:before { + content: "\e6a1"; +} + +.uniui-medal:before { + content: "\e6a2"; +} + +.uniui-font:before { + content: "\e6a3"; +} + +.uniui-gift:before { + content: "\e6a4"; +} + +.uniui-link:before { + content: "\e6a5"; +} + +.uniui-notification:before { + content: "\e6a6"; +} + +.uniui-staff:before { + content: "\e6a7"; +} + +.uniui-vip:before { + content: "\e6a8"; +} + +.uniui-folder-add:before { + content: "\e6a9"; +} + +.uniui-tune:before { + content: "\e6aa"; +} + +.uniui-auth:before { + content: "\e6ab"; +} + +.uniui-person:before { + content: "\e699"; +} + +.uniui-email-filled:before { + content: "\e69a"; +} + +.uniui-phone-filled:before { + content: "\e69b"; +} + +.uniui-phone:before { + content: "\e69c"; +} + +.uniui-email:before { + content: "\e69e"; +} + +.uniui-personadd:before { + content: "\e69f"; +} + +.uniui-chatboxes-filled:before { + content: "\e692"; +} + +.uniui-contact:before { + content: "\e693"; +} + +.uniui-chatbubble-filled:before { + content: "\e694"; +} + +.uniui-contact-filled:before { + content: "\e695"; +} + +.uniui-chatboxes:before { + content: "\e696"; +} + +.uniui-chatbubble:before { + content: "\e697"; +} + +.uniui-upload-filled:before { + content: "\e68e"; +} + +.uniui-upload:before { + content: "\e690"; +} + +.uniui-weixin:before { + content: "\e691"; +} + +.uniui-compose:before { + content: "\e67f"; +} + +.uniui-qq:before { + content: "\e680"; +} + +.uniui-download-filled:before { + content: "\e681"; +} + +.uniui-pyq:before { + content: "\e682"; +} + +.uniui-sound:before { + content: "\e684"; +} + +.uniui-trash-filled:before { + content: "\e685"; +} + +.uniui-sound-filled:before { + content: "\e686"; +} + +.uniui-trash:before { + content: "\e687"; +} + +.uniui-videocam-filled:before { + content: "\e689"; +} + +.uniui-spinner-cycle:before { + content: "\e68a"; +} + +.uniui-weibo:before { + content: "\e68b"; +} + +.uniui-videocam:before { + content: "\e68c"; +} + +.uniui-download:before { + content: "\e68d"; +} + +.uniui-help:before { + content: "\e679"; +} + +.uniui-navigate-filled:before { + content: "\e67a"; +} + +.uniui-plusempty:before { + content: "\e67b"; +} + +.uniui-smallcircle:before { + content: "\e67c"; +} + +.uniui-minus-filled:before { + content: "\e67d"; +} + +.uniui-micoff:before { + content: "\e67e"; +} + +.uniui-closeempty:before { + content: "\e66c"; +} + +.uniui-clear:before { + content: "\e66d"; +} + +.uniui-navigate:before { + content: "\e66e"; +} + +.uniui-minus:before { + content: "\e66f"; +} + +.uniui-image:before { + content: "\e670"; +} + +.uniui-mic:before { + content: "\e671"; +} + +.uniui-paperplane:before { + content: "\e672"; +} + +.uniui-close:before { + content: "\e673"; +} + +.uniui-help-filled:before { + content: "\e674"; +} + +.uniui-paperplane-filled:before { + content: "\e675"; +} + +.uniui-plus:before { + content: "\e676"; +} + +.uniui-mic-filled:before { + content: "\e677"; +} + +.uniui-image-filled:before { + content: "\e678"; +} + +.uniui-locked-filled:before { + content: "\e668"; +} + +.uniui-info:before { + content: "\e669"; +} + +.uniui-locked:before { + content: "\e66b"; +} + +.uniui-camera-filled:before { + content: "\e658"; +} + +.uniui-chat-filled:before { + content: "\e659"; +} + +.uniui-camera:before { + content: "\e65a"; +} + +.uniui-circle:before { + content: "\e65b"; +} + +.uniui-checkmarkempty:before { + content: "\e65c"; +} + +.uniui-chat:before { + content: "\e65d"; +} + +.uniui-circle-filled:before { + content: "\e65e"; +} + +.uniui-flag:before { + content: "\e65f"; +} + +.uniui-flag-filled:before { + content: "\e660"; +} + +.uniui-gear-filled:before { + content: "\e661"; +} + +.uniui-home:before { + content: "\e662"; +} + +.uniui-home-filled:before { + content: "\e663"; +} + +.uniui-gear:before { + content: "\e664"; +} + +.uniui-smallcircle-filled:before { + content: "\e665"; +} + +.uniui-map-filled:before { + content: "\e666"; +} + +.uniui-map:before { + content: "\e667"; +} + +.uniui-refresh-filled:before { + content: "\e656"; +} + +.uniui-refresh:before { + content: "\e657"; +} + +.uniui-cloud-upload:before { + content: "\e645"; +} + +.uniui-cloud-download-filled:before { + content: "\e646"; +} + +.uniui-cloud-download:before { + content: "\e647"; +} + +.uniui-cloud-upload-filled:before { + content: "\e648"; +} + +.uniui-redo:before { + content: "\e64a"; +} + +.uniui-images-filled:before { + content: "\e64b"; +} + +.uniui-undo-filled:before { + content: "\e64c"; +} + +.uniui-more:before { + content: "\e64d"; +} + +.uniui-more-filled:before { + content: "\e64e"; +} + +.uniui-undo:before { + content: "\e64f"; +} + +.uniui-images:before { + content: "\e650"; +} + +.uniui-paperclip:before { + content: "\e652"; +} + +.uniui-settings:before { + content: "\e653"; +} + +.uniui-search:before { + content: "\e654"; +} + +.uniui-redo-filled:before { + content: "\e655"; +} + +.uniui-list:before { + content: "\e644"; +} + +.uniui-mail-open-filled:before { + content: "\e63a"; +} + +.uniui-hand-down-filled:before { + content: "\e63c"; +} + +.uniui-hand-down:before { + content: "\e63d"; +} + +.uniui-hand-up-filled:before { + content: "\e63e"; +} + +.uniui-hand-up:before { + content: "\e63f"; +} + +.uniui-heart-filled:before { + content: "\e641"; +} + +.uniui-mail-open:before { + content: "\e643"; +} + +.uniui-heart:before { + content: "\e639"; +} + +.uniui-loop:before { + content: "\e633"; +} + +.uniui-pulldown:before { + content: "\e632"; +} + +.uniui-scan:before { + content: "\e62a"; +} + +.uniui-bars:before { + content: "\e627"; +} + +.uniui-checkbox:before { + content: "\e62b"; +} + +.uniui-checkbox-filled:before { + content: "\e62c"; +} + +.uniui-shop:before { + content: "\e62f"; +} + +.uniui-headphones:before { + content: "\e630"; +} + +.uniui-cart:before { + content: "\e631"; +} diff --git a/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..14696d038d828073edac09ea4e5ba1dec2f58115 GIT binary patch literal 35824 zcmeFacbp`3nLl2is_w3i)m>GcbC?b@J*lUsyC;X8*`1l4%{ea{*j?DXWCS+=x`1Rc zpd{rG^~9_Q2$&HOFdXOI8BR}IPdz;YC>~S$eLqz_vkNSWzx%yjzdwH8-F~X8D}KWB zdBXd7KA+(j$8iqs7$m|vZHHYVCsJSej9$Dvt$3ZLw|by z;14;@w1?yD*X`bS*{-|aee@R`=jrCS!}shtciYZf`HFYq+J6UC_uzo|LsJs_kAj-^ z?7#5RE3kv-{hH(WEA}1SvF%~|_jrzz{)l5E`?pUw>Y24^H?#cMO-kvNd>m;s2%o+Xnw%@Bmm3d<`kX zajga$@=qE3$-a!E#Hp?L#t6f46MGkad+;CEgR5KX<$7OzxIS8c{uIU^jb>;= z92uh{ulUFGJH1?#i*rr*&vEbO-o@R)y@z`*cPB>lJGpmow{tggH*q&}w{W*|w{dUh zZs6X`9p#R3$GI$bg1d^ln!AR33-?y;B$wi@<*wtd=ibI$!ClGidlPpacRrWq_HvuJ&D<7lD|ZgJjoZ%c;C6E7a=W-py8@VZNAvet};)>j2ZV9)PTZT4R&aL29a;v!2+ybtRo8Tt75pI;5$Bl90 z+O{&05{0_AbEzlcCG_5sKj+~Wv-j6a8<6x^>DphfotYkI4_sSfX{Imv_hOq za7iu(2^B%h1h^m<;#5xJ+-NNsqDA3sXnhCdoeMI_!infF>X+GT>3)upr27B+KV2h; zPc)k0KH^7%z-L^&#UOATS1%d_-s9@vdLnQkSMM+g{K(Zi4FYF!^^!s0QLf%)5V)1A zmkk2na`j$=z`NAdDBTK4}m}4p*Nt2xEw=FEj|FiK|Z=gmJ~y7a4>R z#?==agt5lep^b?!>bUw+gE0QM`Z9ws61nPmqHy(d4T5ap>bner zl;P^T4T8Mk>U#`=U#}>T;l3fPY@&&SEqV{Agj1K)e{7%#nq{v zAjmJSPW1#ql5usaCkQf)t5ZEekZxR^>Is6JePQANKmd${Re_9N zeC6uL41%QP>cpcU$Xu>|!XQXru1cp2INNKK4d&=Xw!?FK<(aP`{_g6`nz?=T2jgsZ>PAm|gW{w{-{ zS-ASU4T6s0>US6fZNt^yV-WNXSAVZT&_G=MPJ^I}xcXfNK`U|fyA6VV;_CMp1Wm=& z?==WIi>trSAZRbH{(gg?$GG}^20^27^?xu3x{a&fZxFN`SO0)P(05$@0fV6VxcUbT zf)3>BA2JBqkgI>#Am~M|{*MMhLvry<#|W8# zpsl(3BL+bibM;3Jf(Ga6pEn4)oU1=(5VSg1f7~GGcdq_~LD2ME{R;*`=X3Qh8U*dn z)xTsA>;SI*WrN5Ms(-~G*alqvs|LYJ;Obv9h^)2xlLo)$d+Z-;MVAEdX#cd!rA+u^&| z2kGtbPuK_P?f*RXLDc^GzYW}X*{$p^{Q3NoLc4Ia@SG`V+G(nr`^$h#Zt<|>1cFgu6+wbk&_QxE4$0o-ooH^%vo!@r#x!x-U zrB%{*-Rs;hdWJmD%T@WkieI@=`LlXN{k6Bpd(8WkZ=UZ)-*5Z_{`dO7A7~BSAC!U{ zf{%vgh29qW@9;qQxyXjdGts{26R}|28UJ!(AaPf+kldHNBl+!=HFaa^(X^C4l72E{ z&0LuIYEyU9eN8{fPG;}Qem~cqdwcHp`E~jG3)RBqh5MVO=AF&YwRl@@Yx1lBKJ=n!0v%-P83{Ia)ryT<`Ac zez5yrD=y{I%1*ZHB{6B&F%On+4ufLzEaaK-sRl9SU zR65teush7E75bTPXGNB__;6WQb&z%E=$Dy(bm!8R18)08HA{1rz1{A1JG2Yj3U6Vb z%{E)2OqOQ8Aqw8m<#zYWsrFPdzyc{Ymg-31!$0EiXjkW&CBIwsWLt8dwV7P*R-fv2 z%zP+7mj;u`U;tMplT=)cS(N!GuR+T6L-H*LOHr|EdJ#p5xfzO?5iQsaWF!`2aTbu{ zd^t5l*T}UYR>@ZTS(o2yDYAUIE5S19Tz8eFLzS*mNj}>}Z znJ>kgMYpHW!*FBokVj!mbT4ee^Dk49cI{8`QjGV>sTL*(_O$vJ*`M?;lKZjM9?-tT z2K)X2vXjOY>UNnuN992*X)Ra*+X+X>_@)1dBx&|&6KxS87VC|*dmY}wz~qYQ>G{=4EM>OT z_-JZm^iz>s1fPoWb$vJ=iR8oV4&&!yx?WcGkK7?qTW(Y5txPNW3A^mWfykzOU_`Rt8;j2@w(M~Hd?c@no94BT%v!4 zdyQXe&iKC3_(HQA{B~Smkiu=yPSD5Toq!KqrFt!*Ii1VP-PM{Xd;I}(SG88jq}y3H z`l5^>lTW4d=1kh+MVC~B6zv33be#Wc%dn6t@~po&^X=l0(BIM$Qu$Uj%3qtTCFAA9 z%^`K>yM8Z!;@VI;9=Q3KmiNYRg*&VYTz|3OUP)^Qi^Ft3-;Vpgsr9Kb#=`2#WOcZb zVoUKP+n3WFX`Wre*2VHszJwz>8|jl$L+D7nPE=(X-zE-&UKCZ^h1%{bOI#J976n_1EwEY}Tb2cb}_ zLPD^6TBnPx3)e4fZC&`BBU{+MZNpK8zjR>H*V-1fwl3PRsFk%X>RjhANv2VgiJ4rc z>Uy){wgBuU0QX%Qk!T4Q!yt{wiwrKsLHhpt!kHc&pGrMq;x#v8S9qQFURXE`! z|6N!qy=2v~&QiX+1N|bVauzr9S$tFj^j0m-FpRM+m;4y`V#Xr+Qk7iZN8LcO8Jq{9 zhJA=R;S$D=*xDjmU%1t_z?vUxHm3)D;YCXmcB_9Nolkcbrdd2R^QTlSqVfeba0Qmec=Sp$3q|HgQ4b$W)=%4BT~d>3rCp}+4F#8{`e;??tfMT0rk88 zse}}K2;`&+UCn(DPa9?-XC!J_)I z!&#@QI^*r_ablg8siGQCP2;yYecP86+Pl}EzoEOmdHFW4lkN9aW6k3QU&z}vucRd8 zjwS6*pU*k}LhTP;=c?;H9O2?{L^7>Uy7>7n#ui>BNl4SogG_?hsK$5Yc z3~Oo?(o#Q+&QPfWqOLY-?E7}{DnZy0EIS?M39;71KAfqEljeBX@7*o%$J}NAbuQWC z_%?0$$3@%20xLT`L9btXcc!f^!*)knEhc+66CU>2U0S;wl9>{eVJ7M2I(14o4mIs1 zn>y7+vb&q)cACVtmt=h{of|YX7)cy3ZH(#dTSNm|cy9NGwdG2symrGgvpc)o@)fer zt6U)`KwhtWh0@)9#`$O0ukG&svd?p|oRAr=^x=Ype33HOPRC&{1j%M+4TAu^B!e%( zZ0I~0y)0z#?zwXHqvubTDc!sOquy$m#n(hBht*3q3P+9+L zea6l+RMFqkQ{drK|05iSjSwNfiFA}c_%kVqhe4FrxwW4S@nBv^5Z(GQ&NL*&5YIl; zzro48lB!DDuWfxRi>3MYT`sTJwM%Rte;((~rBmnPOl#)?oAxU@#e6u&rWQhfdW)k` zn|*$#H=iRSb?-0HvOVMyYgN3SKAvcp4NxmVb%i=iG zwJxz$9_)mw1#}+ES8`SUN$p5!WeFd4V`*h4E3LeMKWYuwH`#el$iCowTUg<>pSTnT zUBVRB;#BoLrt;sxJ=!}P_nt>TJ|~>83gS{5^sG2=z$S;-UfH?JrM_x2D>IH^Y&Mf0 z%(`^b%jboK<;CF4cqIlypo4~Hg;Yun_A(9MvYH`&|_3TdH$e9MBC{8+)72&kSGZ&bW&<>dV4 zmYF*WJ#dd_^#{od67nGRSqS6wL)y=7WV!Dhmo4_D6+GSp0_`Fhj^u-`2`zsA@|)BPXPW%@FL7 z8c9EKkd@<1Xd92TN41|e_f#`&0v~Hx;NLs{kkbRBBSPE#?PUt2vK&(O z+SUwvMhh*LOz9KuNFZpkO6)!1lHFwUswQUfxZQ%?X7yff3I>`a=>UVXt_yNuKoAH8 zLfL(g+6f+l+vi0)WYQ$fE5sQ?VDJQwHbJGSviz{cuK05qsT@ibTW(psV!?Dvhui5j z!4);DW_#2Z>}*T5TJ8Kxg6wGO=*cCdQfX*%dSrMilO3Pl*)iJFYnLQ@%^7WSFS)y~ zB`&}zM|n=YAY8=1r1M9<2A!NkW0Io~@R$8)aB5o%H9r+ZcPVPZg+JfZc4BJH!pUNh z6LUv$TUyzcWm^UZT+-6H zOY==r%TDuZH_Aa)8jT=br&05eJEHRe3<4^KU|7^$amXf?C!>_iRi3Sy0P|0EuWrwH z+?n>(-BT@v1rsZ?gW2rh)KF8?P*b9%Ww2P}|4heMP3>Q{p))B-$<7T+4@|9^SWsxu z7B;S&8q7Xd9Hgrow!jYl8@m1YD%+7PM`|mw9eJT+X?y$9%}YBvmVPUm*s~`do7(B- zA9L?yM>=rWIM*cGFTU6=x4eDR#@k-HcyIl5uNpgY~I3nSPuIb>RdaA;9s1aqwm8)!O z#PJsgJ`vTn>Wby;HswwPjn$q{wDq z0>f~-56`E;mbbAQqLkCC0n~=4Yp52ODtsJPfeT540aT5^(YdoDVQ38@DI?cI}^8 zvz__f%2hmY=MV@`J5LvLz4 z>xXl%nti6QoiFLnOpCLRvO%Vj#>lfAJLPd`U&h0Dw}Yiw#u4{39B}d_r}iinlr?Mr z+$bns_Udw?s*Ok4W*dQ7SQX_m9)wyp+TingLGdaoC`z1WX=mI|ubTBg@8LfS`Jr-2 z!lbilA=h0~k}50%UPz1nWbIWl%>dB6exCiur>xdbv9HkfCy(8854+;-yB{lz6$)cZ z$MgB|e7aPcUn)&Ox5c60w4b?RF70Q0$4h_y^Gn*r`LU(*^7(m7$MVCS^E>gO{xvYZ zyY%vqq=m%M%aPQ}6qt2@$w3y*ltn!E6Dou@@JSnrQeNHFwR#tA%IV%zs&||={AaYf zEAG^OW)vrUMc3+c*K~EQId^rJ_Eh53Ua^xoud$34cniOO#ktxauW>la6I*zm4)E{hd2Q66h0)$Lw7 z*iQEiywzsIkqKFnI!tOYYGv=*JFlZ>%cU0u%LNv6gxP4G=l2)1Uj&1D=WXFd9zXea z@fJb5BU;IcW^=nLb`??!Q_J+50OWNj_U`7yc%mcP-DEa~wB9-Ib8|zwd!qvL4H61^+dd_7MwM>jMeV|57FX#R9AKt5 zLtlFl6CqpXv=4gPFBJ$>CC{&0hgf}iLLtc6;Mwl=Yr49-yVk6KW_D+hNhk;=eG`#` z!E`XlzeE>2yKYUnySuz*-LrJ%%+tKt%>SG&9HeW~!G=uS0GkSCZ&rW1VJS!q#zVuj zYFJj_4Il|5*vX@h!K)B~qR>_BsXtuj{Zl^{4k9bf2FXRJ&SJD38N(QQfb2+NLUus`1ynL^4Co!UaJ7~PNYc&- zXHSzP*3IR{4~rP6R>Zu|0=K)1->~|n5onKy^pa(PbSVj_{VHtI@#M~nYqg*hi&|wHYIGEnNov_5>(fU zg_d;foWac!{FKd87fxE%u_yHXV4$&VB3oBA=rbvbitM%XLx@I0Cbm51)G0f;j2 z9598B<-lo!*~6_6vmeI_F??oj4f>~xodpLoqX@~Y;83*}GqWLI34V#hdy^)Ex1G?!>T=sg#v&XQQ;c0$=Okv%Oc8?z!>&T9jy33`JT>IFOu`HR<4O_Zc zge@()6D2aAb-%NvdH&?esRK)4R`d6d9T_hz8k*`Ym3pU!7M1WM?Up9P4xb!qdbT)F z#Ai+)UB&+w_Hz_{&Z=;ec>o{hC@<@Lh4}P5CQ`d49-8sa7L`EXxjvo zHUFj0Sz^k=%dM$g%DVhvCFZnBCli8{@+t23y-!lSDYq$cQnC);V72lolZk)8;S@yg zm|1mv!NhynQ*uCv+(#JLeGws$&PdmMPD%T%t5;k7Y2|a*xSA~2S$&Qtc!906uubgv zTkR5yGIPU6pgLqJk01-MP}IljFvXsR*f8I4=6E290kC-{4@4Owy#k*Kq6kqnf(CSZ z)~H$>RkY|f9seaodjGv1+1Dt$^Q;y0e#z;0fH#>^yw!RG&zrvBP|d4&8(ZZFe$mA9 zH(EtL#mrP;AG5AmgZiisy~UNu_|L3wlk1v?)U^LS=JibApK$oC*D*8dCpkVOm_Fn) zN0^zv&gyqO&YReJgn1#hXd_U)n^0?X#$T`X8?4G~d!u~mSM&$UNBv>Q&{@o=fHAOu zGB6nYL7z;Gn}U=C?g({gCL{^Y0YoK%kuc+de2Guv;5D7ZILhJ$@Qsy7CP{OT&rogmzo9@vsAU82>}yOSWrH<4x?LSHVpB z&snU=z!1oC`a4hrk+AH5pPW{b86B*l{K~U}7i_4DlQ#@ED19N5>bBUN?u?x9d0duY zzG<*$bpAl!{D7P-L_GnQZ25aIiDi9DT>ay6%H=d!fg;A;D{HF;Yq4lNwzIF+md-av z)kri-@qTzz;J@SiPkYKS9VPH`X+syYm1*;R-lQ+)) z7`Riul(DoFMm@u8YI?tiYlo?peR&Uj9Zzlie7d4N!xT1LA`D!!!$;xqB~^}b!AycsMHh;yncoNJ_W{@(Y>&vvMHY)3PT@e z;8y4{&XgW@>IX-#tNnR*SDTdcyYoF}VRgKfSKQ`UDXw*3u=5@-Ux;t?#G2glK}|~s zpJW4?_M|_>YhTfRWpy~L%*U2$zhXY@e`+@Hul?GJ@V{qcha_;aXQ)T^@;!Nv+ggZU zrluT%HWR~>qu^JYEva6HH#RNwh)g^9QXtK`v}fS1KIgDrV0FCv-TK#Cl>R^>fX{%e z+gI3poFCWm{V}vt1H^~KgS?wfXh8Eo5T?p_37U&+aorNv1E9t)F{Ov!^wGikk5QoS zSZ*Yn9myH{wavBKX148EZA-Pfx#!jApJW`}af-J5xEfZoBQR;yh*I5rfNngnxvBvF z*AIr(4`Uza^kJ)SX7O?z`O*!QH;kB*aU<%CKw&3HYd~;s3`E~L@6b4}$a(&%l;UM< z?8qBO)%jH;2j-m!b*R~-(iXgG{0Is@+ZR_O4weGnu0~%Nw%=cgZf0L$9ZI|r^+Z>p zqZ<2QYQg9>qZ9v1*i-vSYiDii;VnI-V(;n>U)Vpi@A$r9U)a~aruRtGNH#OPWVk6e z{Q9v_Ikuszhx)6hYeOusa&N!O=W`A28N`S7`uDE%v##v$W}{(Ujj+%c)cw@2XFq~MdZ)sml|gt5YQ`Z}bmdDFRX zJi=P}oY(0n!=&N0cO$$lvE3$wmK+Z6!zMx7emeSU;3miU=V5oZQ>Ljdmr~SSB#6#1 zIs)i+9Me5Fm?4xl1*IAwEt3JyLNw_ejBo|PJn-zgb8L$rAy8JvGJ0`D_r3KIX94tt|B`O~w4<>2Z$i{+wz)nF12dJt5^kJ$m*6`4-KxKnrLa^ z<*>@Lbn>F<=BzUjUdkS_TEArtSogx{v#xs77Sygt_odT)^J&AsTwc>vTpS4xdIR<_ zl(;Ilv?0(kwb~U?1=;16S4>Tw7fNi}QOM*qzb$C{mX(Qnts&XA@=+`MhsI;@EUGiF z$5@Xd7M!8HfrfNKu~9+jb5yjf$07~ivD^)Lnm1&QA%8ObrR|l0otNw!sI)J-G?lKk zwJu!z@x=>U+iL05rC)BFZfl!fPn$NjFSfn6|J;6jdbh`d`=%DHT)$|#*xp{8UbKGY zqN#mFTuG@ixO~~~=YlbfkG>;+O0Y$}FV*WDE zBdxCATb+5hU10+Ozjhhpv{P2WZ?&G%HuCe^743h5O^cg?+RMH&TkB^%s-k_(&%QJB zvOB9C&bd8Vc2idRAMNWhE|Gc$l zaG=nfQ8#!cTxhn3gTt|eVpS}0ci82RT^UuB+RD}EZQIiDE#Jh?AU?MUHd-V55^ts= z8Kr>$CC50IhgpM8wZ!?FMK7okH6s~IC*mfOwDuF49wbdWnq+G$@v33d-vXX+AqO~uyk4LLH5hJS0`LVf1mJj}VgaOQndN}U)Z%? z;(%RtyY@G(cG3N8=a~a;dewRwnEmIT*E&1W^mc^|K=~izzl4nRYJ-o!$ObYCpQzEc zhIRsirK>0Mhv)>*Mw|f3!U9&ebE8MJEuZ)o(_lqgR~;Ftmfbvaxs$Z3J<~HZT-$NT z;V#-7tDLew^UTCDXJ^k~O?$33Z-ZMdD$<5|wMT1%13iz{=IwGI?Od11$N@QlCiVhJ zM&7Y`4nc0mkZ)u*sU(wUalkojkX$*mYXd+HKoA33HgcQRt=DsxDBEfG^09$Lu2?Ki zF8t`isg~B3d}3g1c~gHn(?8LlVQJ(f897ni-FQ?Z`-ySkK(_V3z&g64wPkAIy1@g* zreJs^J6eEw3?sQP3eRO$ZX8GK4mlR;X;DgvA0#zOIohHBIU129K=Qd`-FV}-)*I(5K46vYvWsp-68lHv|2U~&(nGwhzV(^JLP*5cIkM`_1w7EK<-=CPaY?nE*t3y!wI zkp^#)@8mTk{8=-@R9(?Ytevj_ZDkPr$ep3`pe+fGU)x=&QX|Y3X-}p3W=6FpvhF-ymH9h*6!{Dz5QdK0gVYE>cQZz%r&4v~ztq}())L`+k7KiHE z8t>n>MG|dx$>RWDR@z2-wSztL=JjOV5vRSDYi`c5x8<5YTN^U(W}nz#lN_6x^7$s_ z$P@~hxXro6=3JFt<}#U8&)87){_2pgcLa~ndPf$?$_b~lkY`-JnX%@)cd&MUKshJA z%xcbO-%k&De>U%MHstmRJ+3^C8ds^Nupi)kB3n;ay$ROCGH8OT@CI3iok(Y5u?0N!?m-fZJ4q~NZyOq!#hi|T$09Uu2i~^@9i?{+`I?Xo zaJGkZzf*@e^?XC4gD7eN#nUAmtLA1to2yiE%hb3@T6e*EmpQJCb@XX>TFj=+4r49UCam?eRCeoz9h4%wKXd3F@LUd7JvBc1xfhFFg>P>hjK-l|Pt<=%ev-R-S9uqDpPNWNM zD`dZ-_+?|;&;>6D#{@g#V>0P}isc&C4pJxbPzQcNw*~;~p6WI~?(8z41gM&Xx^p2QTM85_N>^HXE}?wQ7p3t!NKSneEz- z2M5^4hqYT`NnH4FJTZKkHgXw?K=B=60z8IUa9InacZMcZpf_~!t{a9Bq!`&167nS7 zNv;kv{YzI>BJ~|zFAO+h$ZcRqVUDX&t99GTN@c}%5xE%goL7}RE=-f)1(VtB%D9A3 zxYB!nZzUWO@XKvB3H)1G!RyWCTaz}j8Y~v4TXxuzt@)fUDESz3EAd=s%i8#+1&f;7 zTAQaQHYe9Kcjn@XhxC+T102(Bn7=WG&9HH+dZsRoZo*UbkVIM^!w=1lVb}T#)=4H~ z4DY@cnHH}a!uz$~>O)x0RsBkJVxp?}D|U=+-*s-E&vUIW?zk3n&1mi!VudGAE-U&x z3>{X)SYC{*fGue6v?T%awwB8KNP^~b78n8nKa@t!OyG5`n#3GdsU(LR00k~R6ABgj=M0coPv(GBAq`KzcWDL}(kgUugjS)}jj8mFBgYaoDNPQRJZ2waHv zK|_&8Q0~Ieshz$S+G+M;_Gj7emz{R2`#pkrdj|iun}zqde5_#iiK(Whl;~3hYb23~ zSOx80c;QyNbU;-Phz`rG0&jl6>K9eNU$p`i6|9mhOIBf--@{9C&|-F7D>UV<$~Fnt zJM3d{f!Z&6^F{4;lgn>!K6me~yu)u2uC}RfQw7V_f?4Y^uSHgTcyjS%1m2VwaHu_f zJzj^u;V<-ocM`BJs+bdt2;A(PwVHYwV=>wW;uO-cW~3v)noyy_RFa=MD1{$_{sU8a zY9wCC?!Y-__w&e-D5bKzzuAG=Y_}9MCo;vG9h3s~1+V8KkN5N6vb)?81~7B}*6u}Rsi?{O;94T5=V zx(WJYt68|g>0_fdpP0y`lcG-%#7I0I5rs>vK2i1gRMBg*qdS4XOQNt5X<(;30lVuO zA=`9CQ&xD3!#;|xYCZC%!)-Q`)91)If?3&QA)c-0$O%z(O%q3(e2=n(MF6(winHzIQ3pdHk&O>wOHuo{j#acXvkqYR10@~*g)B#y$3MgnlFV7mNV+7z z0%qe7W@wSPGBO3LSv_IU$Vs%ADRQ0zq>4MMS>tNsPBY;lB=s7j0a6a>i)bx>z$l7Q zES^K=t5=eqvYE{T7FD*G2hA$G#HLyX%x0TS#ZU9hFU=O~c{bHyww-75^0!-5e4Fk1 zw!>||j8dvEv%6Hlqf3DxUpW-0VZK@Hl*Z!>Ep;*M_c} zd;9I?GwNbIwNd8Y(-lJ(&(1e}60^-quz^-_+Yo8J0KH4CNTN=f+>sQa!!@2y_dOaI(mgWNV!zd$R;}@jYE4_5qTqCiCid@2 zN*4W5leKBA$!+#&heP4^uA%Y;2a_?rr=nO{C>$-@ML{j(wzjl}qCajKO}M(3tkSpa zOXg(Q%VpK2rD6rAx3#yLl|02>#o~-5BxgJk;Z2w@W`^fDtLIPf zcfb;=V#eYkv~-*g_-a++^n~tvL5urna?Md8Zv@ECyRu|Zl&n9SOu02dZd1Fs%+6dm>bFSm{`ZwX%8kl`L-lmlkDJGTk?mi z*lO+Bqjs;^XLL;O}5f!&y_-VRDNuw?+G}P}*AHyB3&Ob|}ZjpfxQZ;PlLE^5n=LgWQH! zXYs-kgeWH;?hMPHVkl?v;aKPWau?h&HEKJiM%82R%hb8kvzIt7w*@( zH^!d$2L)aqd2nnOvZTF|b_cm|&l@h>n{^lN#GDKF=7tM*0{)y4OCb!4Fqme<0AZV* z6@{tkW8_s1KQtG05IGH${5BVT(7iawcA6Zb4{lea>T#Iq$>)Oa3vlrd59n;X{XJL}tR4&i!RR(zY_P%KxPt>!B&C^XVX8xWel^SA>M^c{Y` zcBj>1bKo*u)xh;HMBmKLA;1tJWV2xvq;#V&C0o#@o*>J3fl37DuiWsO?0QBZ9$S%PIWlF+j zzfQFbq=)j|Q&!gB!uIP4tmoOnvh_ASf%OP&-?I=2tYd@cRF!}-uz!LT<$z)?N!qWP zVuyrp}p_HYH@^-$~n%JyaUs19a{oOW-XnRJH>n=IJ9J5Q@X)J!~Em0zquNQA4MAoSwcc04M;3A zL8CIko^b}7Tra%fYzn#l_(xZ$$@#(yuBM>#h3j#|`QnRC{fIM*BQH3ES?3F<Ip#3-^!ezNO^7}&K^cfhsorJa-UMGa#?0=wx>Wn2LpCL1 zJ$%F#Qf-G1*;Uw~hY#5pX8Eq4n+1%))7||&{nTM=M6n+_Y*)i{by&3@J`4{8g`30Z zn`xHjX^b9tCWMooL;X6^jnF@6F4*4Pc>$LTZ(Mx+-fq4MWBr6hbqF`xa<-cV2O;!2 zv|pLq86kKcvWjqeLsqq3VL4&OZ4R5o&JIB!+-#L$vNrsvSvieJ$XQ41S?fW#6G;tS z4b6?KGp0)KUW*bGG1<)sGLYE(4Quy!RayHs2Ak)#gAL`LoPLmGY-0yg0Nv*Q1Rb3 z=xgH*5>tIRaKRBYu zwX25JvC@?J1|Gn46ELP3jI7TFFsrawG2NoOmW43|{uVICFf3`$BJzuy{QqtDHHBxc z4@w@{m0;FIcDrly%T|&7##abRt@3d}Sp2fD#ifXk2&O*%a3tfi{|*p=8j$R^#oGU* zkR*D=VnGxhv8oP7lV|2%tS`Ter3$iMO%VY&(s%HGG$))eO#M6- z0ayn`fH2pyvw^ZbjTjfk4wz97cKwUXx^FKD;JwIDa5ATD-##1C3+NYLDI>PF0RbcI zYGsMzVgFrH`)D~-C*+;lJELDR2OHvrKox>eY}`*ZV;u=|#Osm04oM9}RgcvUaMo#a#8hu6+K~#%0k^~H zF*`kn1LH z;Nve(^k7O1=Ed|Rv~TFP#3fEeb=*05U;wLYRJXrryKYV#m}E!cyif{GR{IIQQ~lZ( z4Rc|gW%8oQEp+Rafo-+gwgK!T6Ke~OTGq|V>h~hX=>S*1T2{}-XkeKQLW~ev0|lNy z0*)o~9KYqjftmLmU}96bJW(z`5{m5&gd%~l4}^z8_r^m5``AD3+o!GC$9n1XL|Ho( z3;VYC`~z53)_ItRQl7RO=HmT1 z;k19GqXxR;Gq(^G<<_A~fdf(ifF^yvb{g64HB*Kbp8ChxoukG?vBBBtWu~)EESsd6 z>>pk@+1#qnY5(xTiIyV!mN66UkV*JCk_7dMXL{b;%fc{nazYs4d78C?7B`slHBFv1 z+BU{g$Vg7<9e~E4>j3!d-2uUZsMw(`Jv~_0EWo?4)fP3+Up~K}eV5%i^9SDbZI`WR zb2?p8x--orr-}V^x(AnU>6wNbaxLA(E(xZl3-hs5L}6N6#xBu*YXd%Mof1QCI_(Zw zSrFo(5kq(jR%4FAC##TzfK`!~t56e!rsWB2BOFoB76$KR&vae@mlNBd3oIgqOG~IU z%uhY$_zS+ehp|12F+##F$rCye^0=fh2F&zscA~VRvvb9E+B{-3=uBoHGy7S)i>=#b zb;Tu7v|6ON%eqT@VApxbm#4ILY?uj-7u+yU@Y|XGCjG7j19LoeoUiNiu39KAt!EZM zhUxGqEHz?&J>e3FzESqTYj)T&$p1J0YVnE{i?xv@D^@J=$PDDC#2J=+{&W03bWg;;PB;7hvvWm9$MS91tmynD9AGr~zhwH;>HY<@$!y%o zR`0YqS!3BReY$a%uv2omw2U+DddB6FoEhgeAog}=hQH5^J)Chq>r6Wl zRKLba$LIQ=c+-%{qm(0^)d8Keu_vu@0=_{1L!qI!v2PLchBXgvF3;{EABNnIt}0va zblT)gf4F4%@+I0Rv83!xI;EC9d)Q;UcmLQe+ef3hNHiO{E0T@k>u&ste-X4}16`_mqa{kIA(k46FRobffQ-zfis`s?rVn0oX@%LGh8_Go7RpV8XG%w)uDOw4pq>>bC>Enr@bb+RPV_}^A2527h^NaTO<4r zFhg<*qmIxu!(@al00dDtDfRe?F|~9Kaf7hH5{i(4`VsjR_sB3lf8_AElz6(WGkSis zttAi4s@dnUD4omOBj?9D+i)PzEVF;h7sFjWajY(wH2K517X4&vt$-hKxASXelW4c3 z%yyH>uC%eel5BS1w?+TmI`a{S=NC4MTNdpuw%l&D+bv1a?$kbx-3G6Y>h*g4TIC_W zX~OK8wfdp6QSjLLk@n_7qu^@Cingd;@E~g9iF#%WXR(|0!tFyi^NiB9&3wd3eyM?Z zVU;uB0KleGltxBz7kujhoGLO^C;)?Rte`NAR9>3HsekLi8gMpH{RGT;6w@Ns=J+Fy zHKztDJPWo)S`!|unIw6$QmhvPvJ}j%pS{Jzz1v({k^(B2nzi?vZK{WV z*rVF2Kk8Z4^CLEj|IZ`gls9Sr<}qtWJgVwpH=1Sb(tBEZdRp#f=Q5l2r-qEY54q|I znqhB)%TF!?sRWr8M4Zj)-JKCR_zLl$>OqA@h&NlXTPNg zQ*_YkGMlux;O=aZE$nJ`4_hsY+5={f$EN*GatA$OlSK-(GY@a`xIc!aZQL%CFQM03&~Oqt9bOIiiHT}ZB7mozJkZ(Z7HMaoVnltG3K z*6V5Govy^HRUZM*@uA|GJl7Q|hIsH?3OpqzdrQO^Vd6Q8=!e~@w9b>&!GKIWhY1Xf zW+-45LZmoAP zOFGP^RM3A8v1}16+0_e{?Ud6son^!2sFbBQXFQ2k{mqsB5OI58h(=2>Vz8{s%lJky zP?l1o7|X_ym8$!se*u=HL4KbdyCYm+*72PM2+X>J|BAzS7L+zN$N66%GU%ll?^y(B z@<_DHQq~>$=`<+J82NKyYJU4?tj^EbwB?fg9*6xw*sC)Z^AkzGSMt1H{+j z!rkCRIl)w!Mh42|=K0Hgo-g3lF8Rw}mkSD&!lgX&O|P~IGl-n`-Op|nEFW;*H*mj+ zH#^_u;%x_%EYG17``=`@?^m-Lf-v@Tk2p43*whKlVB{jsW+d+*NL%x<--}86N;VW~Y@Ho|?pi(e*wuu$wuRINm;8G@Bz9 zm*29`!o-DEuS?9D>`8KWM`{TV5;WSDVEw6vMWjO;gx&z!INY|RH6r>Xaa#0?3q{Fi z$+9H!_!7x#5@`{3TG0xypV8lMZs>kEyJW|_2BAJXW@-S1I-EdjnHYl=B8reGJ<3OM zdcw`~TAHtwUxbts*6{qD7hY3V4#gS6flK?hpv;*E>j+&*^#tJ~6AkanR-ba}-o zi)B*uxhxTT%fdEbIj@cm=^-sVMK=K#>Hq|5Z(q{Zwz!=VLXs4K!2?;7=#}s=G^ohj zsx`upfDe{Of1)uShmUX5XS@Y!c`;BE%XyXZG$Hixp%qz?H%B?I6wpIWy9u#^e+_vZ zV*n?`Ho?B3EIF?ibEg;C`WIt1-pP}Rp+YhoNhmf` zEV60G`badQWMfFU3Ps{4PxfrCme;ec>Ec~?wJ!Sg1bcJ$ijHJr?>z6md6>;NQ5YH; z@%l`*gss$4=xEC~mu$9BV7ic=9|)Njh{HQB*a0B_%zBYOi+R8(JeUrJrV2pB#(8v| zm?4plD%Uar_L-ACTdIo&tc&{w=J%erM5(Utu5Rf$d33V*oww)}Sy0_l8{6ldw=bUT zSkaAlUATQjd}_Mo?z>wT|JTHs@6_8eOD(BCI{UwCOZMxzA|M;`?{3U58zubpf_wiT zH05dj`0MQ`%rVaEwPWubL!7l8Sm!jPuVW?POPa?< z1D3i|_l0YOtmG35Omz>B_G%>8pqs<6Q;0C$XW)<^7Okza2?xKU= z@<+@TPye_iU9W_ens0D67Z#XITPIewm7TZng7A`HF}(;uW8^rVM4U}R%%O=QO~}tH z1EMm*9!P(h4T6X=61#M#9tH;RUqaUO*$f1(HFgMK`|0QiyJ@pFw0X1pE$j=MH*3S2 z8QXLu+T7ezV9mF9{e!Ai3b}2*%#N7T3#&7_2unTx+wiEkX_NNk#+x>={*4>8uWWj` zxd*p2Kkf4cYYNhXENWt1#EN{b@Z_KmE1Na!^ApffO?pqzyao(*vefj@7X?KK$;Qx! z$fM=O*bkJTeX^^zEMaxoV!m~oAF&5jr$bbJ( z80q=iOG>k%z34@lO~PtdVBto-y5i;nBi z3c)$dfSE>)KJ&%n&GEQT`?qYRvanLg;&)3NQ_Jvky1P5)i^cGhy+G#{R^CQGT4HZI z^H=*MwiddRA1KUP(iaQh`~ z21|Vlg1`&T(#1>0({U^;lU%X-Xvt|7mV}h+C273hEtD2 zohx22iQs&Jzr|T@TRE}SWLi*YcHThP(dluZf}3jG2>jTx&kKtm7yH;D8N{9gk#_$N%{|KjG&H5vd^(_itvM#_oQ#%X>{lEvQTG z#o*{|Zhp4B3CzE#lg7cO&Om^b1HoXRZPWLj$K8QH?N*eFJ7sz7cynJfKDv$hlCWN| z(kkm%+z*Rr@ED1}vXK0R$%;I|TE_eg%3;Khb|j(Fbzm!9ZsjceZ?!+Cn)8bX{B}p0 z?MW{0vm~^8oG~ABzG!7`zx7X%U}Q4Fwx|5wzUd_??Hxt86km2;cTbVovD^YXto=Fd zu=@uV<(qMT!qUGisomq^eNoqoR-fDUVst7L#;P{klS>x%`TQyE_F}F3yk&7oqWb|d zqU{@FN?#K{tD|?j=Sv-n=)#CacIEv3* zuUun)8h=wjiG*`u?H8|FY`=rv6k_3Qq%jt+gfx#5wnsXt5s##adW5c!2%OCr&{wE{ zl>rljJzUyUcwEYdT#qGE#pVT54@@p-!M_EQt40ak(ea?$;?c*YNZ$2W;hgSOQwy4l za~F;^uE1rlk;Q*oEAmaG@vvOIR+pjil%V60&Fg&7c-F-7YS*MAu+f3+UkG0O#SW7g zR^EES{-^z6D7D^sZr4c#=(@o-Z{`0H7PE*rkQ)*isA87>j0pZ?4W|k#S2C3bu?>9d z%y$iXSv#)(TfOGPs~KCfX6A#~`S2RuPCE4$TY)Nn#>3O{0Fxj~_)AZ;RV%^V%)QVKSQ^`H|J7YCrc&N=9+}wVx}}4!*1G z)xPB~`m|@|?jJm4ahU5)li4h|>Sm|;p&v+Dwk?|S{HrY5Y@+Wx3J3FDUR^(ND zhyKbS{t1`Ew@lODccOWDG~)}74aAZUGoi!`<^Gb}e#Rq!wJAV@ukx zhF(-`6~~*|yW}9IC(6EJzNxKJYU^cIiBh zTz+1#i!Q4J>*p~R4F`IY>Cg`Rp&Ql|J{fFHE5k)=x*QgjUD2+D$#GE3vA=BI$OI05 z!vg5cDQDR4a;jdlZMdm95wMzAL@8#+!+|KzR)jNH65_!~R!z5sTH1#B!m|CvXlGxT zalY`7_A$1sQE!^_pVH_2>oujQ4g{1w%b{HJqnc#q!!tq8m>XR|f4+pehW~n-EkB4Z zv5qxsd(b5T+24}SqDNY(N3>p}E6^)exX8J&{GXb882(Vf!B_T3e{fLm3!C0Av;A=l z>jLWik;NQB6d?t5pjO*?opTIJRR>{3J=~{vP@{N_2#KCsf^t@=`{1MC557n&Tb45d z{{>A$e>eeny?%e3?v2;$3(c~5BcG-f;<0WTU;*k3uWGT*c1Bp$J0l`!4~CjBePCrc zt7h7QMRZ1Uqcf1+5E)|2w2u=XLa!h$|33K8VOX?!vXp_{Q3Q>|p>D8CZ2O+=pT(cD z_{@$yL;J>hJKAFLwvOJheMp!-arKoKIUE;VdG(2@3r0hsVlfyVy+F^=`yJ$i8@Vhw zpoHBNjWkT;+^b|l*+?0h6CUXD3N4(9d}1+Q^RskDk4a~K!)Ny^VeOATx6-7zz1kl_ z>VCEKzDuR8qXj;GGNH0PTttljskQy)Duad6}2VUpCg-o9k47+aIF)5%LX zzTL=-x{vSbM^=4lTUF%^QeR(6Qa6ok+H5k}(H^AFruM0rQ$C_|%yYn~N@Dw_4KE%z zb@YX3bSRxn_o{X}5gUy$wV0p}ME{8~2{YwTHV+S5`Dpa-Z`^o;9;ZJp4=@_0bNV;w zRkY{8U(YtSn;B+9FU+_x3vGF2I}CCPAB##2 z>(}$U3u8;#SmD{i&6`-)_TRh-a4dTE`t|>PIQw>9LjP%SB z)X@90(Ui80d`i`zx-Eb3v{HPei{7duLNKIAzcwNINU>3c&p;N zP<-DKC`zm>tX4#HkhQUseQ}~0Tq5YErP=AzOcr>0`rWf`<{(Djqua z=F!6pIDFK6Urs46E6Sj(%BSC!Q}Upqg7oaW4<(M?e<;zLESrD54_`)?kZe#5`cTJXaiYmW!4=>AM zD+XH*Q!ADg-eJ11%YOhR$=BeKDW@pY_WMiTz zC^7mgTg+hfJ{IM>FgSLIt%0;33qRqDiK(r?Iy>e(wl?}ezL=WbJyLfeT`I+twdgeI zEv0m!TPbW+XrGdzyRoFSmy&C7EcAbSY&w+e%IwGj#Z*&i0SWajg@mN@*OJapFSem>jX(*;D~r-{2$SN89} zGIcl6uD*4Ca^mF4iOKVCsqJ6M=k7d_&t~s|zUy8#n}6a?F5jx>8?fJ1!0qCl%%|#b z*g;Ws0NG&z>#w}bBYYE=g@gu`3S2h0HU?c6MDTPBplfuS367U9v}dErigUx?v_*TE zb3=GQ+^KA&zpRxyGt1)xSo{sGfmJS=#skg{f16=G4htLC1wIaYy9mO1_&(f77k|*% z_3NeI`@zlza29`rKlY3x6u?pJJRTRY1ia8(M>~&0-zT6^us7K% z;27|`1)KzD_6azJ936~yBq#8O5!~ksVCIGWM*@yQM)z|8OThn1z%t<930T3pw;L6^;Wry51HI!$wP|T?7!3bU8LnsAjog#P zEg@>Z(JrLi=D z0|deq3c~d%9Ov{B{B;tf0+`_YF-0>w%{dw(XaNy=HGDLzBgkM0hBXMj^RP535gazr zR!rtk(RSJan-4o_7d?YBm1i;e@4>cmFAmS2qvz=b+DGF!GI@~>&_SA@NjgM_=?ERA zV|1KO5H79J6rG~ebcW8-Gz>PM!(Q!Ube=TkO@qofWv@_`YGl$Z&5=cQYLHD1T_Be{ z@~KJlaF=+I7U|>k3Hl^`iarhX&`WfgUZE>EHvbIz|7YoQ^m)2YU!WWGMfwuGN;m1t z@IZTuzDl=YSO07Db@~QebcenhN$HyFk5){}GRmo{SqWi9w=LU^Eog}F zGoIo5W~1tbgj&W;sdvFwNQ zaL{{OId%l0mGY%E*R>b?n%S_7il1tQn$Aj0*9`t97)X@T*LWM*@zyhGlEzbR9!ei|?7b=8QUK zV-!P)>3Bw)2*<;(j-!^`nr2mG2Bg?SobIyJjh!3qy3JU-E4dxu`r{2BYA5jL4N47|Rk`<*UWB;hWs9T1DH_h1bkR~3!My?r_lWA!4W)+i! zNSa_Bg}2d^S4Y>=O&3|Hb+ggxKe3>)le&d+b5aE)ni~(ZQaH6@*0ri3fjH@CV69_m z4Fi-&lwxldFYH{26d0KmA&GP%tn!RRAdNOOXN0_zSyPM!s5HJG)19D8G4=~M7R1DY zZ)w+ShCWx<+&Nx$nGvRgC_yh*EUlVik1(?;J}-={*>!vX9wCB7cCBKTz$aO&4~8`f zV7uu50@WshDj3o%j|Od`CkTWUBuLvI#%5Qi5G1l|l$v(;DSbR$f7tXd&7;)C^hB zCW2}WS%(#qXyvDHv~1b76L*@H#j=z=U1LL<>&1DMp+jauAS@Ld`jbdo=Ka`{*<2Ed F{2S@rCxHL} literal 0 HcmV?d00001 diff --git a/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts new file mode 100644 index 00000000..98e93aa0 --- /dev/null +++ b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts @@ -0,0 +1,664 @@ + +export type IconsData = { + id : string + name : string + font_family : string + css_prefix_text : string + description : string + glyphs : Array +} + +export type IconsDataItem = { + font_class : string + unicode : string +} + + +export const fontData = [ + { + "font_class": "arrow-down", + "unicode": "\ue6be" + }, + { + "font_class": "arrow-left", + "unicode": "\ue6bc" + }, + { + "font_class": "arrow-right", + "unicode": "\ue6bb" + }, + { + "font_class": "arrow-up", + "unicode": "\ue6bd" + }, + { + "font_class": "auth", + "unicode": "\ue6ab" + }, + { + "font_class": "auth-filled", + "unicode": "\ue6cc" + }, + { + "font_class": "back", + "unicode": "\ue6b9" + }, + { + "font_class": "bars", + "unicode": "\ue627" + }, + { + "font_class": "calendar", + "unicode": "\ue6a0" + }, + { + "font_class": "calendar-filled", + "unicode": "\ue6c0" + }, + { + "font_class": "camera", + "unicode": "\ue65a" + }, + { + "font_class": "camera-filled", + "unicode": "\ue658" + }, + { + "font_class": "cart", + "unicode": "\ue631" + }, + { + "font_class": "cart-filled", + "unicode": "\ue6d0" + }, + { + "font_class": "chat", + "unicode": "\ue65d" + }, + { + "font_class": "chat-filled", + "unicode": "\ue659" + }, + { + "font_class": "chatboxes", + "unicode": "\ue696" + }, + { + "font_class": "chatboxes-filled", + "unicode": "\ue692" + }, + { + "font_class": "chatbubble", + "unicode": "\ue697" + }, + { + "font_class": "chatbubble-filled", + "unicode": "\ue694" + }, + { + "font_class": "checkbox", + "unicode": "\ue62b" + }, + { + "font_class": "checkbox-filled", + "unicode": "\ue62c" + }, + { + "font_class": "checkmarkempty", + "unicode": "\ue65c" + }, + { + "font_class": "circle", + "unicode": "\ue65b" + }, + { + "font_class": "circle-filled", + "unicode": "\ue65e" + }, + { + "font_class": "clear", + "unicode": "\ue66d" + }, + { + "font_class": "close", + "unicode": "\ue673" + }, + { + "font_class": "closeempty", + "unicode": "\ue66c" + }, + { + "font_class": "cloud-download", + "unicode": "\ue647" + }, + { + "font_class": "cloud-download-filled", + "unicode": "\ue646" + }, + { + "font_class": "cloud-upload", + "unicode": "\ue645" + }, + { + "font_class": "cloud-upload-filled", + "unicode": "\ue648" + }, + { + "font_class": "color", + "unicode": "\ue6cf" + }, + { + "font_class": "color-filled", + "unicode": "\ue6c9" + }, + { + "font_class": "compose", + "unicode": "\ue67f" + }, + { + "font_class": "contact", + "unicode": "\ue693" + }, + { + "font_class": "contact-filled", + "unicode": "\ue695" + }, + { + "font_class": "down", + "unicode": "\ue6b8" + }, + { + "font_class": "bottom", + "unicode": "\ue6b8" + }, + { + "font_class": "download", + "unicode": "\ue68d" + }, + { + "font_class": "download-filled", + "unicode": "\ue681" + }, + { + "font_class": "email", + "unicode": "\ue69e" + }, + { + "font_class": "email-filled", + "unicode": "\ue69a" + }, + { + "font_class": "eye", + "unicode": "\ue651" + }, + { + "font_class": "eye-filled", + "unicode": "\ue66a" + }, + { + "font_class": "eye-slash", + "unicode": "\ue6b3" + }, + { + "font_class": "eye-slash-filled", + "unicode": "\ue6b4" + }, + { + "font_class": "fire", + "unicode": "\ue6a1" + }, + { + "font_class": "fire-filled", + "unicode": "\ue6c5" + }, + { + "font_class": "flag", + "unicode": "\ue65f" + }, + { + "font_class": "flag-filled", + "unicode": "\ue660" + }, + { + "font_class": "folder-add", + "unicode": "\ue6a9" + }, + { + "font_class": "folder-add-filled", + "unicode": "\ue6c8" + }, + { + "font_class": "font", + "unicode": "\ue6a3" + }, + { + "font_class": "forward", + "unicode": "\ue6ba" + }, + { + "font_class": "gear", + "unicode": "\ue664" + }, + { + "font_class": "gear-filled", + "unicode": "\ue661" + }, + { + "font_class": "gift", + "unicode": "\ue6a4" + }, + { + "font_class": "gift-filled", + "unicode": "\ue6c4" + }, + { + "font_class": "hand-down", + "unicode": "\ue63d" + }, + { + "font_class": "hand-down-filled", + "unicode": "\ue63c" + }, + { + "font_class": "hand-up", + "unicode": "\ue63f" + }, + { + "font_class": "hand-up-filled", + "unicode": "\ue63e" + }, + { + "font_class": "headphones", + "unicode": "\ue630" + }, + { + "font_class": "heart", + "unicode": "\ue639" + }, + { + "font_class": "heart-filled", + "unicode": "\ue641" + }, + { + "font_class": "help", + "unicode": "\ue679" + }, + { + "font_class": "help-filled", + "unicode": "\ue674" + }, + { + "font_class": "home", + "unicode": "\ue662" + }, + { + "font_class": "home-filled", + "unicode": "\ue663" + }, + { + "font_class": "image", + "unicode": "\ue670" + }, + { + "font_class": "image-filled", + "unicode": "\ue678" + }, + { + "font_class": "images", + "unicode": "\ue650" + }, + { + "font_class": "images-filled", + "unicode": "\ue64b" + }, + { + "font_class": "info", + "unicode": "\ue669" + }, + { + "font_class": "info-filled", + "unicode": "\ue649" + }, + { + "font_class": "left", + "unicode": "\ue6b7" + }, + { + "font_class": "link", + "unicode": "\ue6a5" + }, + { + "font_class": "list", + "unicode": "\ue644" + }, + { + "font_class": "location", + "unicode": "\ue6ae" + }, + { + "font_class": "location-filled", + "unicode": "\ue6af" + }, + { + "font_class": "locked", + "unicode": "\ue66b" + }, + { + "font_class": "locked-filled", + "unicode": "\ue668" + }, + { + "font_class": "loop", + "unicode": "\ue633" + }, + { + "font_class": "mail-open", + "unicode": "\ue643" + }, + { + "font_class": "mail-open-filled", + "unicode": "\ue63a" + }, + { + "font_class": "map", + "unicode": "\ue667" + }, + { + "font_class": "map-filled", + "unicode": "\ue666" + }, + { + "font_class": "map-pin", + "unicode": "\ue6ad" + }, + { + "font_class": "map-pin-ellipse", + "unicode": "\ue6ac" + }, + { + "font_class": "medal", + "unicode": "\ue6a2" + }, + { + "font_class": "medal-filled", + "unicode": "\ue6c3" + }, + { + "font_class": "mic", + "unicode": "\ue671" + }, + { + "font_class": "mic-filled", + "unicode": "\ue677" + }, + { + "font_class": "micoff", + "unicode": "\ue67e" + }, + { + "font_class": "micoff-filled", + "unicode": "\ue6b0" + }, + { + "font_class": "minus", + "unicode": "\ue66f" + }, + { + "font_class": "minus-filled", + "unicode": "\ue67d" + }, + { + "font_class": "more", + "unicode": "\ue64d" + }, + { + "font_class": "more-filled", + "unicode": "\ue64e" + }, + { + "font_class": "navigate", + "unicode": "\ue66e" + }, + { + "font_class": "navigate-filled", + "unicode": "\ue67a" + }, + { + "font_class": "notification", + "unicode": "\ue6a6" + }, + { + "font_class": "notification-filled", + "unicode": "\ue6c1" + }, + { + "font_class": "paperclip", + "unicode": "\ue652" + }, + { + "font_class": "paperplane", + "unicode": "\ue672" + }, + { + "font_class": "paperplane-filled", + "unicode": "\ue675" + }, + { + "font_class": "person", + "unicode": "\ue699" + }, + { + "font_class": "person-filled", + "unicode": "\ue69d" + }, + { + "font_class": "personadd", + "unicode": "\ue69f" + }, + { + "font_class": "personadd-filled", + "unicode": "\ue698" + }, + { + "font_class": "personadd-filled-copy", + "unicode": "\ue6d1" + }, + { + "font_class": "phone", + "unicode": "\ue69c" + }, + { + "font_class": "phone-filled", + "unicode": "\ue69b" + }, + { + "font_class": "plus", + "unicode": "\ue676" + }, + { + "font_class": "plus-filled", + "unicode": "\ue6c7" + }, + { + "font_class": "plusempty", + "unicode": "\ue67b" + }, + { + "font_class": "pulldown", + "unicode": "\ue632" + }, + { + "font_class": "pyq", + "unicode": "\ue682" + }, + { + "font_class": "qq", + "unicode": "\ue680" + }, + { + "font_class": "redo", + "unicode": "\ue64a" + }, + { + "font_class": "redo-filled", + "unicode": "\ue655" + }, + { + "font_class": "refresh", + "unicode": "\ue657" + }, + { + "font_class": "refresh-filled", + "unicode": "\ue656" + }, + { + "font_class": "refreshempty", + "unicode": "\ue6bf" + }, + { + "font_class": "reload", + "unicode": "\ue6b2" + }, + { + "font_class": "right", + "unicode": "\ue6b5" + }, + { + "font_class": "scan", + "unicode": "\ue62a" + }, + { + "font_class": "search", + "unicode": "\ue654" + }, + { + "font_class": "settings", + "unicode": "\ue653" + }, + { + "font_class": "settings-filled", + "unicode": "\ue6ce" + }, + { + "font_class": "shop", + "unicode": "\ue62f" + }, + { + "font_class": "shop-filled", + "unicode": "\ue6cd" + }, + { + "font_class": "smallcircle", + "unicode": "\ue67c" + }, + { + "font_class": "smallcircle-filled", + "unicode": "\ue665" + }, + { + "font_class": "sound", + "unicode": "\ue684" + }, + { + "font_class": "sound-filled", + "unicode": "\ue686" + }, + { + "font_class": "spinner-cycle", + "unicode": "\ue68a" + }, + { + "font_class": "staff", + "unicode": "\ue6a7" + }, + { + "font_class": "staff-filled", + "unicode": "\ue6cb" + }, + { + "font_class": "star", + "unicode": "\ue688" + }, + { + "font_class": "star-filled", + "unicode": "\ue68f" + }, + { + "font_class": "starhalf", + "unicode": "\ue683" + }, + { + "font_class": "trash", + "unicode": "\ue687" + }, + { + "font_class": "trash-filled", + "unicode": "\ue685" + }, + { + "font_class": "tune", + "unicode": "\ue6aa" + }, + { + "font_class": "tune-filled", + "unicode": "\ue6ca" + }, + { + "font_class": "undo", + "unicode": "\ue64f" + }, + { + "font_class": "undo-filled", + "unicode": "\ue64c" + }, + { + "font_class": "up", + "unicode": "\ue6b6" + }, + { + "font_class": "top", + "unicode": "\ue6b6" + }, + { + "font_class": "upload", + "unicode": "\ue690" + }, + { + "font_class": "upload-filled", + "unicode": "\ue68e" + }, + { + "font_class": "videocam", + "unicode": "\ue68c" + }, + { + "font_class": "videocam-filled", + "unicode": "\ue689" + }, + { + "font_class": "vip", + "unicode": "\ue6a8" + }, + { + "font_class": "vip-filled", + "unicode": "\ue6c6" + }, + { + "font_class": "wallet", + "unicode": "\ue6b1" + }, + { + "font_class": "wallet-filled", + "unicode": "\ue6c2" + }, + { + "font_class": "weibo", + "unicode": "\ue68b" + }, + { + "font_class": "weixin", + "unicode": "\ue691" + } +] as IconsDataItem[] + +// export const fontData = JSON.parse(fontDataJson) diff --git a/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js new file mode 100644 index 00000000..1cd11e15 --- /dev/null +++ b/smart-app/src/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js @@ -0,0 +1,649 @@ + +export const fontData = [ + { + "font_class": "arrow-down", + "unicode": "\ue6be" + }, + { + "font_class": "arrow-left", + "unicode": "\ue6bc" + }, + { + "font_class": "arrow-right", + "unicode": "\ue6bb" + }, + { + "font_class": "arrow-up", + "unicode": "\ue6bd" + }, + { + "font_class": "auth", + "unicode": "\ue6ab" + }, + { + "font_class": "auth-filled", + "unicode": "\ue6cc" + }, + { + "font_class": "back", + "unicode": "\ue6b9" + }, + { + "font_class": "bars", + "unicode": "\ue627" + }, + { + "font_class": "calendar", + "unicode": "\ue6a0" + }, + { + "font_class": "calendar-filled", + "unicode": "\ue6c0" + }, + { + "font_class": "camera", + "unicode": "\ue65a" + }, + { + "font_class": "camera-filled", + "unicode": "\ue658" + }, + { + "font_class": "cart", + "unicode": "\ue631" + }, + { + "font_class": "cart-filled", + "unicode": "\ue6d0" + }, + { + "font_class": "chat", + "unicode": "\ue65d" + }, + { + "font_class": "chat-filled", + "unicode": "\ue659" + }, + { + "font_class": "chatboxes", + "unicode": "\ue696" + }, + { + "font_class": "chatboxes-filled", + "unicode": "\ue692" + }, + { + "font_class": "chatbubble", + "unicode": "\ue697" + }, + { + "font_class": "chatbubble-filled", + "unicode": "\ue694" + }, + { + "font_class": "checkbox", + "unicode": "\ue62b" + }, + { + "font_class": "checkbox-filled", + "unicode": "\ue62c" + }, + { + "font_class": "checkmarkempty", + "unicode": "\ue65c" + }, + { + "font_class": "circle", + "unicode": "\ue65b" + }, + { + "font_class": "circle-filled", + "unicode": "\ue65e" + }, + { + "font_class": "clear", + "unicode": "\ue66d" + }, + { + "font_class": "close", + "unicode": "\ue673" + }, + { + "font_class": "closeempty", + "unicode": "\ue66c" + }, + { + "font_class": "cloud-download", + "unicode": "\ue647" + }, + { + "font_class": "cloud-download-filled", + "unicode": "\ue646" + }, + { + "font_class": "cloud-upload", + "unicode": "\ue645" + }, + { + "font_class": "cloud-upload-filled", + "unicode": "\ue648" + }, + { + "font_class": "color", + "unicode": "\ue6cf" + }, + { + "font_class": "color-filled", + "unicode": "\ue6c9" + }, + { + "font_class": "compose", + "unicode": "\ue67f" + }, + { + "font_class": "contact", + "unicode": "\ue693" + }, + { + "font_class": "contact-filled", + "unicode": "\ue695" + }, + { + "font_class": "down", + "unicode": "\ue6b8" + }, + { + "font_class": "bottom", + "unicode": "\ue6b8" + }, + { + "font_class": "download", + "unicode": "\ue68d" + }, + { + "font_class": "download-filled", + "unicode": "\ue681" + }, + { + "font_class": "email", + "unicode": "\ue69e" + }, + { + "font_class": "email-filled", + "unicode": "\ue69a" + }, + { + "font_class": "eye", + "unicode": "\ue651" + }, + { + "font_class": "eye-filled", + "unicode": "\ue66a" + }, + { + "font_class": "eye-slash", + "unicode": "\ue6b3" + }, + { + "font_class": "eye-slash-filled", + "unicode": "\ue6b4" + }, + { + "font_class": "fire", + "unicode": "\ue6a1" + }, + { + "font_class": "fire-filled", + "unicode": "\ue6c5" + }, + { + "font_class": "flag", + "unicode": "\ue65f" + }, + { + "font_class": "flag-filled", + "unicode": "\ue660" + }, + { + "font_class": "folder-add", + "unicode": "\ue6a9" + }, + { + "font_class": "folder-add-filled", + "unicode": "\ue6c8" + }, + { + "font_class": "font", + "unicode": "\ue6a3" + }, + { + "font_class": "forward", + "unicode": "\ue6ba" + }, + { + "font_class": "gear", + "unicode": "\ue664" + }, + { + "font_class": "gear-filled", + "unicode": "\ue661" + }, + { + "font_class": "gift", + "unicode": "\ue6a4" + }, + { + "font_class": "gift-filled", + "unicode": "\ue6c4" + }, + { + "font_class": "hand-down", + "unicode": "\ue63d" + }, + { + "font_class": "hand-down-filled", + "unicode": "\ue63c" + }, + { + "font_class": "hand-up", + "unicode": "\ue63f" + }, + { + "font_class": "hand-up-filled", + "unicode": "\ue63e" + }, + { + "font_class": "headphones", + "unicode": "\ue630" + }, + { + "font_class": "heart", + "unicode": "\ue639" + }, + { + "font_class": "heart-filled", + "unicode": "\ue641" + }, + { + "font_class": "help", + "unicode": "\ue679" + }, + { + "font_class": "help-filled", + "unicode": "\ue674" + }, + { + "font_class": "home", + "unicode": "\ue662" + }, + { + "font_class": "home-filled", + "unicode": "\ue663" + }, + { + "font_class": "image", + "unicode": "\ue670" + }, + { + "font_class": "image-filled", + "unicode": "\ue678" + }, + { + "font_class": "images", + "unicode": "\ue650" + }, + { + "font_class": "images-filled", + "unicode": "\ue64b" + }, + { + "font_class": "info", + "unicode": "\ue669" + }, + { + "font_class": "info-filled", + "unicode": "\ue649" + }, + { + "font_class": "left", + "unicode": "\ue6b7" + }, + { + "font_class": "link", + "unicode": "\ue6a5" + }, + { + "font_class": "list", + "unicode": "\ue644" + }, + { + "font_class": "location", + "unicode": "\ue6ae" + }, + { + "font_class": "location-filled", + "unicode": "\ue6af" + }, + { + "font_class": "locked", + "unicode": "\ue66b" + }, + { + "font_class": "locked-filled", + "unicode": "\ue668" + }, + { + "font_class": "loop", + "unicode": "\ue633" + }, + { + "font_class": "mail-open", + "unicode": "\ue643" + }, + { + "font_class": "mail-open-filled", + "unicode": "\ue63a" + }, + { + "font_class": "map", + "unicode": "\ue667" + }, + { + "font_class": "map-filled", + "unicode": "\ue666" + }, + { + "font_class": "map-pin", + "unicode": "\ue6ad" + }, + { + "font_class": "map-pin-ellipse", + "unicode": "\ue6ac" + }, + { + "font_class": "medal", + "unicode": "\ue6a2" + }, + { + "font_class": "medal-filled", + "unicode": "\ue6c3" + }, + { + "font_class": "mic", + "unicode": "\ue671" + }, + { + "font_class": "mic-filled", + "unicode": "\ue677" + }, + { + "font_class": "micoff", + "unicode": "\ue67e" + }, + { + "font_class": "micoff-filled", + "unicode": "\ue6b0" + }, + { + "font_class": "minus", + "unicode": "\ue66f" + }, + { + "font_class": "minus-filled", + "unicode": "\ue67d" + }, + { + "font_class": "more", + "unicode": "\ue64d" + }, + { + "font_class": "more-filled", + "unicode": "\ue64e" + }, + { + "font_class": "navigate", + "unicode": "\ue66e" + }, + { + "font_class": "navigate-filled", + "unicode": "\ue67a" + }, + { + "font_class": "notification", + "unicode": "\ue6a6" + }, + { + "font_class": "notification-filled", + "unicode": "\ue6c1" + }, + { + "font_class": "paperclip", + "unicode": "\ue652" + }, + { + "font_class": "paperplane", + "unicode": "\ue672" + }, + { + "font_class": "paperplane-filled", + "unicode": "\ue675" + }, + { + "font_class": "person", + "unicode": "\ue699" + }, + { + "font_class": "person-filled", + "unicode": "\ue69d" + }, + { + "font_class": "personadd", + "unicode": "\ue69f" + }, + { + "font_class": "personadd-filled", + "unicode": "\ue698" + }, + { + "font_class": "personadd-filled-copy", + "unicode": "\ue6d1" + }, + { + "font_class": "phone", + "unicode": "\ue69c" + }, + { + "font_class": "phone-filled", + "unicode": "\ue69b" + }, + { + "font_class": "plus", + "unicode": "\ue676" + }, + { + "font_class": "plus-filled", + "unicode": "\ue6c7" + }, + { + "font_class": "plusempty", + "unicode": "\ue67b" + }, + { + "font_class": "pulldown", + "unicode": "\ue632" + }, + { + "font_class": "pyq", + "unicode": "\ue682" + }, + { + "font_class": "qq", + "unicode": "\ue680" + }, + { + "font_class": "redo", + "unicode": "\ue64a" + }, + { + "font_class": "redo-filled", + "unicode": "\ue655" + }, + { + "font_class": "refresh", + "unicode": "\ue657" + }, + { + "font_class": "refresh-filled", + "unicode": "\ue656" + }, + { + "font_class": "refreshempty", + "unicode": "\ue6bf" + }, + { + "font_class": "reload", + "unicode": "\ue6b2" + }, + { + "font_class": "right", + "unicode": "\ue6b5" + }, + { + "font_class": "scan", + "unicode": "\ue62a" + }, + { + "font_class": "search", + "unicode": "\ue654" + }, + { + "font_class": "settings", + "unicode": "\ue653" + }, + { + "font_class": "settings-filled", + "unicode": "\ue6ce" + }, + { + "font_class": "shop", + "unicode": "\ue62f" + }, + { + "font_class": "shop-filled", + "unicode": "\ue6cd" + }, + { + "font_class": "smallcircle", + "unicode": "\ue67c" + }, + { + "font_class": "smallcircle-filled", + "unicode": "\ue665" + }, + { + "font_class": "sound", + "unicode": "\ue684" + }, + { + "font_class": "sound-filled", + "unicode": "\ue686" + }, + { + "font_class": "spinner-cycle", + "unicode": "\ue68a" + }, + { + "font_class": "staff", + "unicode": "\ue6a7" + }, + { + "font_class": "staff-filled", + "unicode": "\ue6cb" + }, + { + "font_class": "star", + "unicode": "\ue688" + }, + { + "font_class": "star-filled", + "unicode": "\ue68f" + }, + { + "font_class": "starhalf", + "unicode": "\ue683" + }, + { + "font_class": "trash", + "unicode": "\ue687" + }, + { + "font_class": "trash-filled", + "unicode": "\ue685" + }, + { + "font_class": "tune", + "unicode": "\ue6aa" + }, + { + "font_class": "tune-filled", + "unicode": "\ue6ca" + }, + { + "font_class": "undo", + "unicode": "\ue64f" + }, + { + "font_class": "undo-filled", + "unicode": "\ue64c" + }, + { + "font_class": "up", + "unicode": "\ue6b6" + }, + { + "font_class": "top", + "unicode": "\ue6b6" + }, + { + "font_class": "upload", + "unicode": "\ue690" + }, + { + "font_class": "upload-filled", + "unicode": "\ue68e" + }, + { + "font_class": "videocam", + "unicode": "\ue68c" + }, + { + "font_class": "videocam-filled", + "unicode": "\ue689" + }, + { + "font_class": "vip", + "unicode": "\ue6a8" + }, + { + "font_class": "vip-filled", + "unicode": "\ue6c6" + }, + { + "font_class": "wallet", + "unicode": "\ue6b1" + }, + { + "font_class": "wallet-filled", + "unicode": "\ue6c2" + }, + { + "font_class": "weibo", + "unicode": "\ue68b" + }, + { + "font_class": "weixin", + "unicode": "\ue691" + } +] + +// export const fontData = JSON.parse(fontDataJson) diff --git a/smart-app/src/uni_modules/uni-icons/package.json b/smart-app/src/uni_modules/uni-icons/package.json new file mode 100644 index 00000000..397be839 --- /dev/null +++ b/smart-app/src/uni_modules/uni-icons/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-icons", + "displayName": "uni-icons 图标", + "version": "2.0.9", + "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", + "keywords": [ + "uni-ui", + "uniui", + "icon", + "图标" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.2.14" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y", + "app-uvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "钉钉": "y", + "快手": "y", + "飞书": "y", + "京东": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/smart-app/src/uni_modules/uni-icons/readme.md b/smart-app/src/uni_modules/uni-icons/readme.md new file mode 100644 index 00000000..86234ba1 --- /dev/null +++ b/smart-app/src/uni_modules/uni-icons/readme.md @@ -0,0 +1,8 @@ +## Icons 图标 +> **组件名:uni-icons** +> 代码块: `uIcons` + +用于展示 icons 图标 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/smart-app/src/uni_modules/uni-load-more/changelog.md b/smart-app/src/uni_modules/uni-load-more/changelog.md new file mode 100644 index 00000000..8f03f1d5 --- /dev/null +++ b/smart-app/src/uni_modules/uni-load-more/changelog.md @@ -0,0 +1,19 @@ +## 1.3.3(2022-01-20) +- 新增 showText属性 ,是否显示文本 +## 1.3.2(2022-01-19) +- 修复 nvue 平台下不显示文本的bug +## 1.3.1(2022-01-19) +- 修复 微信小程序平台样式选择器报警告的问题 +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more) +## 1.2.1(2021-08-24) +- 新增 支持国际化 +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.8(2021-05-12) +- 新增 组件示例地址 +## 1.1.7(2021-03-30) +- 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug +## 1.1.6(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json b/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json new file mode 100644 index 00000000..a4f14a54 --- /dev/null +++ b/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "Pull up to show more", + "uni-load-more.contentrefresh": "loading...", + "uni-load-more.contentnomore": "No more data" +} diff --git a/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js b/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js new file mode 100644 index 00000000..de7509c8 --- /dev/null +++ b/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json b/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json new file mode 100644 index 00000000..f15d5105 --- /dev/null +++ b/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉显示更多", + "uni-load-more.contentrefresh": "正在加载...", + "uni-load-more.contentnomore": "没有更多数据了" +} diff --git a/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json b/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json new file mode 100644 index 00000000..a255c6de --- /dev/null +++ b/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉顯示更多", + "uni-load-more.contentrefresh": "正在加載...", + "uni-load-more.contentnomore": "沒有更多數據了" +} diff --git a/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue b/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue new file mode 100644 index 00000000..e5eff4d6 --- /dev/null +++ b/smart-app/src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue @@ -0,0 +1,399 @@ + + + + + diff --git a/smart-app/src/uni_modules/uni-load-more/package.json b/smart-app/src/uni_modules/uni-load-more/package.json new file mode 100644 index 00000000..2fa6f040 --- /dev/null +++ b/smart-app/src/uni_modules/uni-load-more/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-load-more", + "displayName": "uni-load-more 加载更多", + "version": "1.3.3", + "description": "LoadMore 组件,常用在列表里面,做滚动加载使用。", + "keywords": [ + "uni-ui", + "uniui", + "加载更多", + "load-more" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-load-more/readme.md b/smart-app/src/uni_modules/uni-load-more/readme.md new file mode 100644 index 00000000..54dc1fad --- /dev/null +++ b/smart-app/src/uni_modules/uni-load-more/readme.md @@ -0,0 +1,14 @@ + + +### LoadMore 加载更多 +> **组件名:uni-load-more** +> 代码块: `uLoadMore` + + +用于列表中,做滚动加载使用,展示 loading 的各种状态。 + + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-load-more) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/smart-app/src/uni_modules/uni-mescroll/changelog.md b/smart-app/src/uni_modules/uni-mescroll/changelog.md new file mode 100644 index 00000000..dd6dd727 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/changelog.md @@ -0,0 +1,8 @@ +## 1.3.8(2023-03-27) +1. 新增useMescroll的hook, 支持vue3 script setup的写法 +2. 新增vue3 script setup的示例 ( 根据vue2的示例,全部重写了一遍 ) +3. mescroll-body 和 mescroll-uni 无需再写 ref="mescrollRef" +4. 解决mescroll-uni在页面渲染之后,无法动态设置height的问题 +5. 解决renderjs在h5返回有时候无法正常滑动的问题 +6. 修复小程序编辑器提示 Cannot read property 'nv_optDown' of undefined 的错误 +-by 小瑾同学 diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-body/mescroll-body.css b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-body/mescroll-body.css new file mode 100644 index 00000000..1107710c --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-body/mescroll-body.css @@ -0,0 +1,19 @@ +.mescroll-body { + position: relative; /* 下拉刷新区域相对自身定位 */ + height: auto; /* 不可固定高度,否则overflow:hidden导致无法滑动; 同时使设置的最小高生效,实现列表不满屏仍可下拉*/ + overflow: hidden; /* 当有元素写在mescroll-body标签前面时,可遮住下拉刷新区域 */ + box-sizing: border-box; /* 避免设置padding出现双滚动条的问题 */ +} + +/* 使sticky生效: 父元素不能overflow:hidden或者overflow:auto属性 */ +.mescroll-body.mescorll-sticky{ + overflow: unset !important +} + +/* 适配 iPhoneX */ +@supports (bottom: constant(safe-area-inset-bottom)) or (bottom: env(safe-area-inset-bottom)) { + .mescroll-safearea { + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); + } +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-body/mescroll-body.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-body/mescroll-body.vue new file mode 100644 index 00000000..76d77282 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-body/mescroll-body.vue @@ -0,0 +1,400 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/components/mescroll-down.css b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/components/mescroll-down.css new file mode 100644 index 00000000..dcefe2da --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/components/mescroll-down.css @@ -0,0 +1,47 @@ +/*下拉刷新--标语*/ +.mescroll-downwarp .downwarp-slogan{ + display: block; + width: 420rpx; + height: 168rpx; + margin: auto; +} +/*下拉刷新--向下进度动画*/ +.mescroll-downwarp .downwarp-progress{ + display: inline-block; + width: 40rpx; + height: 40rpx; + border: none; + margin: auto; + background-size: contain; + background-repeat: no-repeat; + background-position: center; + background-image: url(https://www.mescroll.com/img/beibei/mescroll-progress.png); + transition: all 300ms; +} +/*下拉刷新--进度条*/ +.mescroll-downwarp .downwarp-loading{ + display: inline-block; + width: 32rpx; + height: 32rpx; + border-radius: 50%; + border: 2rpx solid #FF8095; + border-bottom-color: transparent; +} +/*下拉刷新--吉祥物*/ +.mescroll-downwarp .downwarp-mascot{ + position: absolute; + right: 16rpx; + bottom: 0; + width: 100rpx; + height: 100rpx; + background-size: contain; + background-repeat: no-repeat; + animation: animMascot .6s steps(1,end) infinite; +} +@keyframes animMascot { + 0% {background-image: url(https://www.mescroll.com/img/beibei/mescroll-bb1.png)} + 25% {background-image: url(https://www.mescroll.com/img/beibei/mescroll-bb2.png)} + 50% {background-image: url(https://www.mescroll.com/img/beibei/mescroll-bb3.png)} + 75% {background-image: url(https://www.mescroll.com/img/beibei/mescroll-bb4.png)} + 100% {background-image: url(https://www.mescroll.com/img/beibei/mescroll-bb1.png)} +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/components/mescroll-down.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/components/mescroll-down.vue new file mode 100644 index 00000000..ee1d3218 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/components/mescroll-down.vue @@ -0,0 +1,39 @@ + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-body.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-body.vue new file mode 100644 index 00000000..9f572a9e --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-body.vue @@ -0,0 +1,360 @@ + + + + + + + + + + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-uni-option.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-uni-option.js new file mode 100644 index 00000000..fbac7788 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-uni-option.js @@ -0,0 +1,49 @@ +// mescroll-uni和mescroll-body 的全局配置 +const GlobalOption = { + down: { + // 其他down的配置参数也可以写,这里只展示了常用的配置: + offset: uni.upx2px(140), // 在列表顶部,下拉大于140upx,松手即可触发下拉刷新的回调 + native: false // 是否使用系统自带的下拉刷新; 默认false; 仅在mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例) + }, + up: { + // 其他up的配置参数也可以写,这里只展示了常用的配置: + offset: 150, // 距底部多远时,触发upCallback + toTop: { + // 回到顶部按钮,需配置src才显示 + src: "https://www.mescroll.com/img/mescroll-totop.png", // 图片路径 (建议放入static目录, 如 /static/img/mescroll-totop.png ) + offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000px + right: 20, // 到右边的距离, 默认20 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx) + bottom: 120, // 到底部的距离, 默认120 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx) + width: 72 // 回到顶部图标的宽度, 默认72 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx) + }, + empty: { + use: true, // 是否显示空布局 + icon: "https://www.mescroll.com/img/mescroll-empty.png" // 图标路径 (建议放入static目录, 如 /static/img/mescroll-empty.png ) + } + }, + // 国际化配置 + i18n: { + // 中文 + zh: { + up: { + textLoading: '加载中 ...', // 加载中的提示文本 + textNoMore: '-- END --', // 没有更多数据的提示文本 + empty: { + tip: '~ 暂无相关数据 ~' // 空提示 + } + } + }, + // 英文 + en: { + up: { + textLoading: 'loading ...', + textNoMore: '-- END --', + empty: { + tip: '~ absolutely empty ~' + } + } + } + } +} + +export default GlobalOption \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-uni.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-uni.vue new file mode 100644 index 00000000..15a22891 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/beibei/mescroll-uni.vue @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-down.css b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-down.css new file mode 100644 index 00000000..b62ed403 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-down.css @@ -0,0 +1,44 @@ +/*下拉刷新--上下箭头*/ +.mescroll-downwarp .downwarp-arrow { + display: inline-block; + width: 20px; + height: 20px; + margin: 10px; + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-arrow.png); + background-size: contain; + vertical-align: middle; + transition: all 300ms; +} + +/*下拉刷新--旋转进度条*/ +.mescroll-downwarp .downwarp-progress{ + width: 36px; + height: 36px; + border: none; + margin: auto; + background-size: contain; + animation: progressRotate 0.6s steps(6, start) infinite; +} +@keyframes progressRotate { + 0% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress1.png); + } + 16% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress2.png); + } + 32% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress3.png); + } + 48% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress4.png); + } + 64% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress5.png); + } + 80% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress6.png); + } + 100% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress1.png); + } +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-down.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-down.vue new file mode 100644 index 00000000..745d9032 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-down.vue @@ -0,0 +1,53 @@ + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-up.css b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-up.css new file mode 100644 index 00000000..abf51f1d --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-up.css @@ -0,0 +1,32 @@ +/*上拉加载--旋转进度条*/ +.mescroll-upwarp .upwarp-progress { + width: 36px; + height: 36px; + border: none; + margin: auto; + background-size: contain; + animation: progressRotate 0.6s steps(6, start) infinite; +} +@keyframes progressRotate { + 0% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress1.png); + } + 16% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress2.png); + } + 32% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress3.png); + } + 48% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress4.png); + } + 64% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress5.png); + } + 80% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress6.png); + } + 100% { + background-image: url(https://www.mescroll.com/img/xinlang/mescroll-progress1.png); + } +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-up.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-up.vue new file mode 100644 index 00000000..31bd42a1 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/components/mescroll-up.vue @@ -0,0 +1,40 @@ + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-body.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-body.vue new file mode 100644 index 00000000..cb2376a3 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-body.vue @@ -0,0 +1,380 @@ + + + + + + + + + + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-uni-option.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-uni-option.js new file mode 100644 index 00000000..55d331ec --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-uni-option.js @@ -0,0 +1,64 @@ +// 全局配置 +// mescroll-body 和 mescroll-uni 通用 +const GlobalOption = { + down: { + // 其他down的配置参数也可以写,这里只展示了常用的配置: + offset: 80, // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调 + native: false // 是否使用系统自带的下拉刷新; 默认false; 仅在mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例) + }, + up: { + // 其他up的配置参数也可以写,这里只展示了常用的配置: + offset: 150, // 距底部多远时,触发upCallback,仅mescroll-uni生效 ( mescroll-body配置的是pages.json的 onReachBottomDistance ) + toTop: { + // 回到顶部按钮,需配置src才显示 + src: "https://www.mescroll.com/img/mescroll-totop.png", // 图片路径 (建议放入static目录, 如 /static/img/mescroll-totop.png ) + offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000px + right: 20, // 到右边的距离, 默认20 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx) + bottom: 120, // 到底部的距离, 默认120 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx) + width: 72 // 回到顶部图标的宽度, 默认72 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx) + }, + empty: { + use: true, // 是否显示空布局 + icon: "https://www.mescroll.com/img/mescroll-empty.png" // 图标路径 (建议放入static目录, 如 /static/img/mescroll-empty.png ) + } + }, + // 国际化配置 + i18n: { + // 中文 + zh: { + down: { + textInOffset: '下拉刷新', // 下拉的距离在offset范围内的提示文本 + textOutOffset: '释放更新', // 下拉的距离大于offset范围的提示文本 + textLoading: '加载中 ...', // 加载中的提示文本 + textSuccess: '加载成功', // 加载成功的文本 + textErr: '加载失败', // 加载失败的文本 + }, + up: { + textLoading: '加载中 ...', // 加载中的提示文本 + textNoMore: '-- END --', // 没有更多数据的提示文本 + empty: { + tip: '~ 空空如也 ~' // 空提示 + } + } + }, + // 英文 + en: { + down: { + textInOffset: 'drop down refresh', + textOutOffset: 'release updates', + textLoading: 'loading ...', + textSuccess: 'loaded successfully', + textErr: 'loading failed' + }, + up: { + textLoading: 'loading ...', + textNoMore: '-- END --', + empty: { + tip: '~ absolutely empty ~' + } + } + } + } +} + +export default GlobalOption diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-uni.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-uni.vue new file mode 100644 index 00000000..8c8b6de4 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-diy/xinlang/mescroll-uni.vue @@ -0,0 +1,459 @@ + + + + + + + + + + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-empty/mescroll-empty.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-empty/mescroll-empty.vue new file mode 100644 index 00000000..32b40696 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-empty/mescroll-empty.vue @@ -0,0 +1,116 @@ + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-down.css b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-down.css new file mode 100644 index 00000000..72bf106c --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-down.css @@ -0,0 +1,55 @@ +/* 下拉刷新区域 */ +.mescroll-downwarp { + position: absolute; + top: -100%; + left: 0; + width: 100%; + height: 100%; + text-align: center; +} + +/* 下拉刷新--内容区,定位于区域底部 */ +.mescroll-downwarp .downwarp-content { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + min-height: 60rpx; + padding: 20rpx 0; + text-align: center; +} + +/* 下拉刷新--提示文本 */ +.mescroll-downwarp .downwarp-tip { + display: inline-block; + font-size: 28rpx; + vertical-align: middle; + margin-left: 16rpx; + /* color: gray; 已在style设置color,此处删去*/ +} + +/* 下拉刷新--旋转进度条 */ +.mescroll-downwarp .downwarp-progress { + display: inline-block; + width: 32rpx; + height: 32rpx; + border-radius: 50%; + border: 2rpx solid gray; + border-bottom-color: transparent !important; /*已在style设置border-color,此处需加 !important*/ + vertical-align: middle; +} + +/* 旋转动画 */ +.mescroll-downwarp .mescroll-rotate { + animation: mescrollDownRotate 0.6s linear infinite; +} + +@keyframes mescrollDownRotate { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-down.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-down.vue new file mode 100644 index 00000000..9fd1567f --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-down.vue @@ -0,0 +1,47 @@ + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-top.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-top.vue new file mode 100644 index 00000000..a7c7e3a6 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-top.vue @@ -0,0 +1,99 @@ + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-up.css b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-up.css new file mode 100644 index 00000000..cbf48cd2 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-up.css @@ -0,0 +1,47 @@ +/* 上拉加载区域 */ +.mescroll-upwarp { + box-sizing: border-box; + min-height: 110rpx; + padding: 30rpx 0; + text-align: center; + clear: both; +} + +/*提示文本 */ +.mescroll-upwarp .upwarp-tip, +.mescroll-upwarp .upwarp-nodata { + display: inline-block; + font-size: 28rpx; + vertical-align: middle; + /* color: gray; 已在style设置color,此处删去*/ +} + +.mescroll-upwarp .upwarp-tip { + margin-left: 16rpx; +} + +/*旋转进度条 */ +.mescroll-upwarp .upwarp-progress { + display: inline-block; + width: 32rpx; + height: 32rpx; + border-radius: 50%; + border: 2rpx solid gray; + border-bottom-color: transparent !important; /*已在style设置border-color,此处需加 !important*/ + vertical-align: middle; +} + +/* 旋转动画 */ +.mescroll-upwarp .mescroll-rotate { + animation: mescrollUpRotate 0.6s linear infinite; +} + +@keyframes mescrollUpRotate { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-up.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-up.vue new file mode 100644 index 00000000..11c2e1fb --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/components/mescroll-up.vue @@ -0,0 +1,39 @@ + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-i18n.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-i18n.js new file mode 100644 index 00000000..2b6a50f0 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-i18n.js @@ -0,0 +1,15 @@ +// 国际化工具类 +const mescrollI18n = { + // 默认语言 + def: "zh", + // 获取当前语言类型 + getType(){ + return uni.getStorageSync("mescroll-i18n") || this.def + }, + // 设置当前语言类型 + setType(type){ + uni.setStorageSync("mescroll-i18n", type) + } +} + +export default mescrollI18n diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-mixins.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-mixins.js new file mode 100644 index 00000000..10f68c09 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-mixins.js @@ -0,0 +1,46 @@ +// mescroll-body 和 mescroll-uni 通用 +const MescrollMixin = { + data() { + return { + mescroll: null //mescroll实例对象 + } + }, + // 注册系统自带的下拉刷新 (配置down.native为true时生效, 还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例) + onPullDownRefresh(){ + this.mescroll && this.mescroll.onPullDownRefresh(); + }, + // 注册列表滚动事件,用于判定在顶部可下拉刷新,在指定位置可显示隐藏回到顶部按钮 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效) + onPageScroll(e) { + this.mescroll && this.mescroll.onPageScroll(e); + }, + // 注册滚动到底部的事件,用于上拉加载 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效) + onReachBottom() { + this.mescroll && this.mescroll.onReachBottom(); + }, + methods: { + // mescroll组件初始化的回调,可获取到mescroll对象 + mescrollInit(mescroll) { + this.mescroll = mescroll; + }, + // 下拉刷新的回调 (mixin默认resetUpScroll) + downCallback() { + if(this.mescroll.optUp.use){ + this.mescroll.resetUpScroll() + }else{ + setTimeout(()=>{ + this.mescroll.endSuccess(); + }, 500) + } + }, + // 上拉加载的回调 + upCallback() { + // mixin默认延时500自动结束加载 + setTimeout(()=>{ + this.mescroll.endErr(); + }, 500) + } + } + +} + +export default MescrollMixin; diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni-option.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni-option.js new file mode 100644 index 00000000..c9229b9d --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni-option.js @@ -0,0 +1,64 @@ +// 全局配置 +// mescroll-body 和 mescroll-uni 通用 +const GlobalOption = { + down: { + // 其他down的配置参数也可以写,这里只展示了常用的配置: + offset: 80, // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调 + native: false, // 是否使用系统自带的下拉刷新; 默认false; 仅在mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例) + }, + up: { + // 其他up的配置参数也可以写,这里只展示了常用的配置: + offset: 150, // 距底部多远时,触发upCallback,仅mescroll-uni生效 ( mescroll-body配置的是pages.json的 onReachBottomDistance ) + toTop: { + // 回到顶部按钮,需配置src才显示 + src: '/static/images/uni-modules/uni-mescroll/mescroll-totop.png', // 图片路径 (建议放入static目录, 如 /static/img/mescroll-totop.png ) + offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000px + right: 20, // 到右边的距离, 默认20 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx) + bottom: 120, // 到底部的距离, 默认120 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx) + width: 72, // 回到顶部图标的宽度, 默认72 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx) + }, + empty: { + use: true, // 是否显示空布局 + icon: '/static/images/uni-modules/uni-mescroll/mescroll-empty.png', // 图标路径 (建议放入static目录, 如 /static/img/mescroll-empty.png ) + }, + }, + // 国际化配置 + i18n: { + // 中文 + zh: { + down: { + textInOffset: '下拉刷新', // 下拉的距离在offset范围内的提示文本 + textOutOffset: '释放更新', // 下拉的距离大于offset范围的提示文本 + textLoading: '加载中 ...', // 加载中的提示文本 + textSuccess: '加载成功', // 加载成功的文本 + textErr: '加载失败', // 加载失败的文本 + }, + up: { + textLoading: '加载中 ...', // 加载中的提示文本 + textNoMore: '-- 没有更多了 --', // 没有更多数据的提示文本 + empty: { + tip: '~ 没有任何数据 ~', // 空提示 + }, + }, + }, + // 英文 + en: { + down: { + textInOffset: 'drop down refresh', + textOutOffset: 'release updates', + textLoading: 'loading ...', + textSuccess: 'loaded successfully', + textErr: 'loading failed', + }, + up: { + textLoading: 'loading ...', + textNoMore: '-- END --', + empty: { + tip: '~ absolutely empty ~', + }, + }, + }, + }, +}; + +export default GlobalOption; diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.css b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.css new file mode 100644 index 00000000..39438cdf --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.css @@ -0,0 +1,36 @@ +.mescroll-uni-warp{ + height: 100%; +} + +.mescroll-uni-content{ + height: 100%; +} + +.mescroll-uni { + position: relative; + width: 100%; + height: 100%; + min-height: 200rpx; + overflow-y: auto; + box-sizing: border-box; /* 避免设置padding出现双滚动条的问题 */ +} + +/* 定位的方式固定高度 */ +.mescroll-uni-fixed{ + z-index: 1; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + width: auto; /* 使right生效 */ + height: auto; /* 使bottom生效 */ +} + +/* 适配 iPhoneX */ +@supports (bottom: constant(safe-area-inset-bottom)) or (bottom: env(safe-area-inset-bottom)) { + .mescroll-safearea { + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); + } +} diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.js new file mode 100644 index 00000000..3bfdac17 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.js @@ -0,0 +1,799 @@ +/* mescroll + * version 1.3.7 + * 2021-04-12 wenju + * https://www.mescroll.com + */ + +export default function MeScroll(options, isScrollBody) { + let me = this; + me.version = '1.3.7'; // mescroll版本号 + me.options = options || {}; // 配置 + me.isScrollBody = isScrollBody || false; // 滚动区域是否为原生页面滚动; 默认为scroll-view + + me.isDownScrolling = false; // 是否在执行下拉刷新的回调 + me.isUpScrolling = false; // 是否在执行上拉加载的回调 + let hasDownCallback = me.options.down && me.options.down.callback; // 是否配置了down的callback + + // 初始化下拉刷新 + me.initDownScroll(); + // 初始化上拉加载,则初始化 + me.initUpScroll(); + + // 自动加载 + setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例 + // 自动触发下拉刷新 (只有配置了down的callback才自动触发下拉刷新) + if ((me.optDown.use || me.optDown.native) && me.optDown.auto && hasDownCallback) { + if (me.optDown.autoShowLoading) { + me.triggerDownScroll(); // 显示下拉进度,执行下拉回调 + } else { + me.optDown.callback && me.optDown.callback(me); // 不显示下拉进度,直接执行下拉回调 + } + } + // 自动触发上拉加载 + if(!me.isUpAutoLoad){ // 部分小程序(头条小程序)emit是异步, 会导致isUpAutoLoad判断有误, 先延时确保先执行down的callback,再执行up的callback + setTimeout(function(){ + me.optUp.use && me.optUp.auto && !me.isUpAutoLoad && me.triggerUpScroll(); + },100) + } + }, 30); // 需让me.optDown.inited和me.optUp.inited先执行 +} + +/* 配置参数:下拉刷新 */ +MeScroll.prototype.extendDownScroll = function(optDown) { + // 下拉刷新的配置 + MeScroll.extend(optDown, { + use: true, // 是否启用下拉刷新; 默认true + auto: true, // 是否在初始化完毕之后自动执行下拉刷新的回调; 默认true + native: false, // 是否使用系统自带的下拉刷新; 默认false; 仅mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例) + autoShowLoading: false, // 如果设置auto=true(在初始化完毕之后自动执行下拉刷新的回调),那么是否显示下拉刷新的进度; 默认false + isLock: false, // 是否锁定下拉刷新,默认false; + offset: 80, // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调 + startTop: 100, // scroll-view快速滚动到顶部时,此时的scroll-top可能大于0, 此值用于控制最大的误差 + inOffsetRate: 1, // 在列表顶部,下拉的距离小于offset时,改变下拉区域高度比例;值小于1且越接近0,高度变化越小,表现为越往下越难拉 + outOffsetRate: 0.2, // 在列表顶部,下拉的距离大于offset时,改变下拉区域高度比例;值小于1且越接近0,高度变化越小,表现为越往下越难拉 + bottomOffset: 20, // 当手指touchmove位置在距离body底部20px范围内的时候结束上拉刷新,避免Webview嵌套导致touchend事件不执行 + minAngle: 45, // 向下滑动最少偏移的角度,取值区间 [0,90];默认45度,即向下滑动的角度大于45度则触发下拉;而小于45度,将不触发下拉,避免与左右滑动的轮播等组件冲突; + textInOffset: '下拉刷新', // 下拉的距离在offset范围内的提示文本 + textOutOffset: '释放更新', // 下拉的距离大于offset范围的提示文本 + textLoading: '加载中 ...', // 加载中的提示文本 + textSuccess: '加载成功', // 加载成功的文本 + textErr: '加载失败', // 加载失败的文本 + beforeEndDelay: 0, // 延时结束的时长 (显示加载成功/失败的时长, android小程序设置此项结束下拉会卡顿, 配置后请注意测试) + bgColor: "transparent", // 背景颜色 (建议在pages.json中再设置一下backgroundColorTop) + textColor: "gray", // 文本颜色 (当bgColor配置了颜色,而textColor未配置时,则textColor会默认为白色) + inited: null, // 下拉刷新初始化完毕的回调 + inOffset: null, // 下拉的距离进入offset范围内那一刻的回调 + outOffset: null, // 下拉的距离大于offset那一刻的回调 + onMoving: null, // 下拉过程中的回调,滑动过程一直在执行; rate下拉区域当前高度与指定距离的比值(inOffset: rate<1; outOffset: rate>=1); downHight当前下拉区域的高度 + beforeLoading: null, // 准备触发下拉刷新的回调: 如果return true,将不触发showLoading和callback回调; 常用来完全自定义下拉刷新, 参考案例【淘宝 v6.8.0】 + showLoading: null, // 显示下拉刷新进度的回调 + afterLoading: null, // 显示下拉刷新进度的回调之后,马上要执行的代码 (如: 在wxs中使用) + beforeEndDownScroll: null, // 准备结束下拉的回调. 返回结束下拉的延时执行时间,默认0ms; 常用于结束下拉之前再显示另外一小段动画,才去隐藏下拉刷新的场景, 参考案例【dotJump】 + endDownScroll: null, // 结束下拉刷新的回调 + afterEndDownScroll: null, // 结束下拉刷新的回调,马上要执行的代码 (如: 在wxs中使用) + callback: function(mescroll) { + // 下拉刷新的回调;默认重置上拉加载列表为第一页 + mescroll.resetUpScroll(); + } + }) +} + +/* 配置参数:上拉加载 */ +MeScroll.prototype.extendUpScroll = function(optUp) { + // 上拉加载的配置 + MeScroll.extend(optUp, { + use: true, // 是否启用上拉加载; 默认true + auto: true, // 是否在初始化完毕之后自动执行上拉加载的回调; 默认true + isLock: false, // 是否锁定上拉加载,默认false; + isBoth: true, // 上拉加载时,如果滑动到列表顶部是否可以同时触发下拉刷新;默认true,两者可同时触发; + callback: null, // 上拉加载的回调;function(page,mescroll){ } + page: { + num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始 + size: 10, // 每页数据的数量 + time: null // 加载第一页数据服务器返回的时间; 防止用户翻页时,后台新增了数据从而导致下一页数据重复; + }, + noMoreSize: 5, // 如果列表已无数据,可设置列表的总数量要大于等于5条才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看 + offset: 150, // 距底部多远时,触发upCallback,仅mescroll-uni生效 ( mescroll-body配置的是pages.json的 onReachBottomDistance ) + textLoading: '加载中 ...', // 加载中的提示文本 + textNoMore: '-- END --', // 没有更多数据的提示文本 + bgColor: "transparent", // 背景颜色 (建议在pages.json中再设置一下backgroundColorBottom) + textColor: "gray", // 文本颜色 (当bgColor配置了颜色,而textColor未配置时,则textColor会默认为白色) + inited: null, // 初始化完毕的回调 + showLoading: null, // 显示加载中的回调 + showNoMore: null, // 显示无更多数据的回调 + hideUpScroll: null, // 隐藏上拉加载的回调 + errDistance: 60, // endErr的时候需往上滑动一段距离,使其往下滑动时再次触发onReachBottom,仅mescroll-body生效 + toTop: { + // 回到顶部按钮,需配置src才显示 + src: null, // 图片路径,默认null (绝对路径或网络图) + offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000 + duration: 300, // 回到顶部的动画时长,默认300ms (当值为0或300则使用系统自带回到顶部,更流畅; 其他值则通过step模拟,部分机型可能不够流畅,所以非特殊情况不建议修改此项) + btnClick: null, // 点击按钮的回调 + onShow: null, // 是否显示的回调 + zIndex: 9990, // fixed定位z-index值 + left: null, // 到左边的距离, 默认null. 此项有值时,right不生效. (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) + right: 20, // 到右边的距离, 默认20 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) + bottom: 120, // 到底部的距离, 默认120 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) + safearea: false, // bottom的偏移量是否加上底部安全区的距离, 默认false, 需要适配iPhoneX时使用 (具体的界面如果不配置此项,则取本vue的safearea值) + width: 72, // 回到顶部图标的宽度, 默认72 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) + radius: "50%" // 圆角, 默认"50%" (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx) + }, + empty: { + use: true, // 是否显示空布局 + icon: null, // 图标路径 + tip: '~ 暂无相关数据 ~', // 提示 + btnText: '', // 按钮 + btnClick: null, // 点击按钮的回调 + onShow: null, // 是否显示的回调 + fixed: false, // 是否使用fixed定位,默认false; 配置fixed为true,以下的top和zIndex才生效 (transform会使fixed失效,最终会降级为absolute) + top: "100rpx", // fixed定位的top值 (完整的单位值,如 "10%"; "100rpx") + zIndex: 99 // fixed定位z-index值 + }, + onScroll: false // 是否监听滚动事件 + }) +} + +/* 配置参数 */ +MeScroll.extend = function(userOption, defaultOption) { + if (!userOption) return defaultOption; + for (let key in defaultOption) { + if (userOption[key] == null) { + let def = defaultOption[key]; + if (def != null && typeof def === 'object') { + userOption[key] = MeScroll.extend({}, def); // 深度匹配 + } else { + userOption[key] = def; + } + } else if (typeof userOption[key] === 'object') { + MeScroll.extend(userOption[key], defaultOption[key]); // 深度匹配 + } + } + return userOption; +} + +/* 简单判断是否配置了颜色 (非透明,非白色) */ +MeScroll.prototype.hasColor = function(color) { + if(!color) return false; + let c = color.toLowerCase(); + return c != "#fff" && c != "#ffffff" && c != "transparent" && c != "white" +} + +/* -------初始化下拉刷新------- */ +MeScroll.prototype.initDownScroll = function() { + let me = this; + // 配置参数 + me.optDown = me.options.down || {}; + if(!me.optDown.textColor && me.hasColor(me.optDown.bgColor)) me.optDown.textColor = "#fff"; // 当bgColor有值且textColor未设置,则textColor默认白色 + me.extendDownScroll(me.optDown); + + // 如果是mescroll-body且配置了native,则禁止自定义的下拉刷新 + if(me.isScrollBody && me.optDown.native){ + me.optDown.use = false + }else{ + me.optDown.native = false // 仅mescroll-body支持,mescroll-uni不支持 + } + + me.downHight = 0; // 下拉区域的高度 + + // 在页面中加入下拉布局 + if (me.optDown.use && me.optDown.inited) { + // 初始化完毕的回调 + setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例 + me.optDown.inited(me); + }, 0) + } +} + +/* 列表touchstart事件 */ +MeScroll.prototype.touchstartEvent = function(e) { + if (!this.optDown.use) return; + + this.startPoint = this.getPoint(e); // 记录起点 + this.startTop = this.getScrollTop(); // 记录此时的滚动条位置 + this.startAngle = 0; // 初始角度 + this.lastPoint = this.startPoint; // 重置上次move的点 + this.maxTouchmoveY = this.getBodyHeight() - this.optDown.bottomOffset; // 手指触摸的最大范围(写在touchstart避免body获取高度为0的情况) + this.inTouchend = false; // 标记不是touchend +} + +/* 列表touchmove事件 */ +MeScroll.prototype.touchmoveEvent = function(e) { + if (!this.optDown.use) return; + let me = this; + + let scrollTop = me.getScrollTop(); // 当前滚动条的距离 + let curPoint = me.getPoint(e); // 当前点 + + let moveY = curPoint.y - me.startPoint.y; // 和起点比,移动的距离,大于0向下拉,小于0向上拉 + + // 向下拉 && 在顶部 + // mescroll-body,直接判定在顶部即可 + // scroll-view在滚动时不会触发touchmove,当触顶/底/左/右时,才会触发touchmove + // scroll-view滚动到顶部时,scrollTop不一定为0,也有可能大于0; 在iOS的APP中scrollTop可能为负数,不一定和startTop相等 + if (moveY > 0 && ( + (me.isScrollBody && scrollTop <= 0) + || + (!me.isScrollBody && (scrollTop <= 0 || (scrollTop <= me.optDown.startTop && scrollTop === me.startTop)) ) + )) { + // 可下拉的条件 + if (!me.inTouchend && !me.isDownScrolling && !me.optDown.isLock && (!me.isUpScrolling || (me.isUpScrolling && + me.optUp.isBoth))) { + + // 下拉的初始角度是否在配置的范围内 + if(!me.startAngle) me.startAngle = me.getAngle(me.lastPoint, curPoint); // 两点之间的角度,区间 [0,90] + if (me.startAngle < me.optDown.minAngle) return; // 如果小于配置的角度,则不往下执行下拉刷新 + + // 如果手指的位置超过配置的距离,则提前结束下拉,避免Webview嵌套导致touchend无法触发 + if (me.maxTouchmoveY > 0 && curPoint.y >= me.maxTouchmoveY) { + me.inTouchend = true; // 标记执行touchend + me.touchendEvent(); // 提前触发touchend + return; + } + + me.preventDefault(e); // 阻止默认事件 + + let diff = curPoint.y - me.lastPoint.y; // 和上次比,移动的距离 (大于0向下,小于0向上) + + // 下拉距离 < 指定距离 + if (me.downHight < me.optDown.offset) { + if (me.movetype !== 1) { + me.movetype = 1; // 加入标记,保证只执行一次 + me.isDownEndSuccess = null; // 重置是否加载成功的状态 (wxs执行的是wxs.wxs) + me.optDown.inOffset && me.optDown.inOffset(me); // 进入指定距离范围内那一刻的回调,只执行一次 + me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来 + } + me.downHight += diff * me.optDown.inOffsetRate; // 越往下,高度变化越小 + + // 指定距离 <= 下拉距离 + } else { + if (me.movetype !== 2) { + me.movetype = 2; // 加入标记,保证只执行一次 + me.optDown.outOffset && me.optDown.outOffset(me); // 下拉超过指定距离那一刻的回调,只执行一次 + me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来 + } + if (diff > 0) { // 向下拉 + me.downHight += diff * me.optDown.outOffsetRate; // 越往下,高度变化越小 + } else { // 向上收 + me.downHight += diff; // 向上收回高度,则向上滑多少收多少高度 + } + } + + me.downHight = Math.round(me.downHight) // 取整 + let rate = me.downHight / me.optDown.offset; // 下拉区域当前高度与指定距离的比值 + me.optDown.onMoving && me.optDown.onMoving(me, rate, me.downHight); // 下拉过程中的回调,一直在执行 + } + } + + me.lastPoint = curPoint; // 记录本次移动的点 +} + +/* 列表touchend事件 */ +MeScroll.prototype.touchendEvent = function(e) { + if (!this.optDown.use) return; + // 如果下拉区域高度已改变,则需重置回来 + if (this.isMoveDown) { + if (this.downHight >= this.optDown.offset) { + // 符合触发刷新的条件 + this.triggerDownScroll(); + } else { + // 不符合的话 则重置 + this.downHight = 0; + this.endDownScrollCall(this); + } + this.movetype = 0; + this.isMoveDown = false; + } else if (!this.isScrollBody && this.getScrollTop() === this.startTop) { // scroll-view到顶/左/右/底的滑动事件 + let isScrollUp = this.getPoint(e).y - this.startPoint.y < 0; // 和起点比,移动的距离,大于0向下拉,小于0向上拉 + // 上滑 + if (isScrollUp) { + // 需检查滑动的角度 + let angle = this.getAngle(this.getPoint(e), this.startPoint); // 两点之间的角度,区间 [0,90] + if (angle > 80) { + // 检查并触发上拉 + this.triggerUpScroll(true); + } + } + } +} + +/* 根据点击滑动事件获取第一个手指的坐标 */ +MeScroll.prototype.getPoint = function(e) { + if (!e) { + return { + x: 0, + y: 0 + } + } + if (e.touches && e.touches[0]) { + return { + x: e.touches[0].pageX, + y: e.touches[0].pageY + } + } else if (e.changedTouches && e.changedTouches[0]) { + return { + x: e.changedTouches[0].pageX, + y: e.changedTouches[0].pageY + } + } else { + return { + x: e.clientX, + y: e.clientY + } + } +} + +/* 计算两点之间的角度: 区间 [0,90]*/ +MeScroll.prototype.getAngle = function(p1, p2) { + let x = Math.abs(p1.x - p2.x); + let y = Math.abs(p1.y - p2.y); + let z = Math.sqrt(x * x + y * y); + let angle = 0; + if (z !== 0) { + angle = Math.asin(y / z) / Math.PI * 180; + } + return angle +} + +/* 触发下拉刷新 */ +MeScroll.prototype.triggerDownScroll = function() { + if (this.optDown.beforeLoading && this.optDown.beforeLoading(this)) { + //return true则处于完全自定义状态 + } else { + this.showDownScroll(); // 下拉刷新中... + !this.optDown.native && this.optDown.callback && this.optDown.callback(this); // 执行回调,联网加载数据 + } +} + +/* 显示下拉进度布局 */ +MeScroll.prototype.showDownScroll = function() { + this.isDownScrolling = true; // 标记下拉中 + if (this.optDown.native) { + uni.startPullDownRefresh(); // 系统自带的下拉刷新 + this.showDownLoadingCall(0); // 仍触发showLoading,因为上拉加载用到 + } else{ + this.downHight = this.optDown.offset; // 更新下拉区域高度 + this.showDownLoadingCall(this.downHight); // 下拉刷新中... + } +} + +MeScroll.prototype.showDownLoadingCall = function(downHight) { + this.optDown.showLoading && this.optDown.showLoading(this, downHight); // 下拉刷新中... + this.optDown.afterLoading && this.optDown.afterLoading(this, downHight); // 下拉刷新中...触发之后马上要执行的代码 +} + +/* 显示系统自带的下拉刷新时需要处理的业务 */ +MeScroll.prototype.onPullDownRefresh = function() { + this.isDownScrolling = true; // 标记下拉中 + this.showDownLoadingCall(0); // 仍触发showLoading,因为上拉加载用到 + this.optDown.callback && this.optDown.callback(this); // 执行回调,联网加载数据 +} + +/* 结束下拉刷新 */ +MeScroll.prototype.endDownScroll = function() { + if (this.optDown.native) { // 结束原生下拉刷新 + this.isDownScrolling = false; + this.endDownScrollCall(this); + uni.stopPullDownRefresh(); + return + } + let me = this; + // 结束下拉刷新的方法 + let endScroll = function() { + me.downHight = 0; + me.isDownScrolling = false; + me.endDownScrollCall(me); + if(!me.isScrollBody){ + me.setScrollHeight(0) // scroll-view重置滚动区域,使数据不满屏时仍可检查触发翻页 + me.scrollTo(0,0) // scroll-view需重置滚动条到顶部,避免startTop大于0时,对下拉刷新的影响 + } + } + // 结束下拉刷新时的回调 + let delay = 0; + if (me.optDown.beforeEndDownScroll) { + delay = me.optDown.beforeEndDownScroll(me); // 结束下拉刷新的延时,单位ms + if(me.isDownEndSuccess == null) delay = 0; // 没有执行加载中,则不延时 + } + if (typeof delay === 'number' && delay > 0) { + setTimeout(endScroll, delay); + } else { + endScroll(); + } +} + +MeScroll.prototype.endDownScrollCall = function() { + this.optDown.endDownScroll && this.optDown.endDownScroll(this); + this.optDown.afterEndDownScroll && this.optDown.afterEndDownScroll(this); +} + +/* 锁定下拉刷新:isLock=ture,null锁定;isLock=false解锁 */ +MeScroll.prototype.lockDownScroll = function(isLock) { + if (isLock == null) isLock = true; + this.optDown.isLock = isLock; +} + +/* 锁定上拉加载:isLock=ture,null锁定;isLock=false解锁 */ +MeScroll.prototype.lockUpScroll = function(isLock) { + if (isLock == null) isLock = true; + this.optUp.isLock = isLock; +} + +/* -------初始化上拉加载------- */ +MeScroll.prototype.initUpScroll = function() { + let me = this; + // 配置参数 + me.optUp = me.options.up || {use: false} + if(!me.optUp.textColor && me.hasColor(me.optUp.bgColor)) me.optUp.textColor = "#fff"; // 当bgColor有值且textColor未设置,则textColor默认白色 + me.extendUpScroll(me.optUp); + + if (me.optUp.use === false) return; // 配置不使用上拉加载时,则不初始化上拉布局 + me.optUp.hasNext = true; // 如果使用上拉,则默认有下一页 + me.startNum = me.optUp.page.num + 1; // 记录page开始的页码 + + // 初始化完毕的回调 + if (me.optUp.inited) { + setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例 + me.optUp.inited(me); + }, 0) + } +} + +/*滚动到底部的事件 (仅mescroll-body生效)*/ +MeScroll.prototype.onReachBottom = function() { + if (this.isScrollBody && !this.isUpScrolling) { // 只能支持下拉刷新的时候同时可以触发上拉加载,否则滚动到底部就需要上滑一点才能触发onReachBottom + if (!this.optUp.isLock && this.optUp.hasNext) { + this.triggerUpScroll(); + } + } +} + +/*列表滚动事件 (仅mescroll-body生效)*/ +MeScroll.prototype.onPageScroll = function(e) { + if (!this.isScrollBody) return; + + // 更新滚动条的位置 (主要用于判断下拉刷新时,滚动条是否在顶部) + this.setScrollTop(e.scrollTop); + + // 顶部按钮的显示隐藏 + if (e.scrollTop >= this.optUp.toTop.offset) { + this.showTopBtn(); + } else { + this.hideTopBtn(); + } +} + +/*列表滚动事件*/ +MeScroll.prototype.scroll = function(e, onScroll) { + // 更新滚动条的位置 + this.setScrollTop(e.scrollTop); + // 更新滚动内容高度 + this.setScrollHeight(e.scrollHeight); + + // 向上滑还是向下滑动 + if (this.preScrollY == null) this.preScrollY = 0; + this.isScrollUp = e.scrollTop - this.preScrollY > 0; + this.preScrollY = e.scrollTop; + + // 上滑 && 检查并触发上拉 + this.isScrollUp && this.triggerUpScroll(true); + + // 顶部按钮的显示隐藏 + if (e.scrollTop >= this.optUp.toTop.offset) { + this.showTopBtn(); + } else { + this.hideTopBtn(); + } + + // 滑动监听 + this.optUp.onScroll && onScroll && onScroll() +} + +/* 触发上拉加载 */ +MeScroll.prototype.triggerUpScroll = function(isCheck) { + if (!this.isUpScrolling && this.optUp.use && this.optUp.callback) { + // 是否校验在底部; 默认不校验 + if (isCheck === true) { + let canUp = false; + // 还有下一页 && 没有锁定 && 不在下拉中 + if (this.optUp.hasNext && !this.optUp.isLock && !this.isDownScrolling) { + if (this.getScrollBottom() <= this.optUp.offset) { // 到底部 + canUp = true; // 标记可上拉 + } + } + if (canUp === false) return; + } + this.showUpScroll(); // 上拉加载中... + this.optUp.page.num++; // 预先加一页,如果失败则减回 + this.isUpAutoLoad = true; // 标记上拉已经自动执行过,避免初始化时多次触发上拉回调 + this.num = this.optUp.page.num; // 把最新的页数赋值在mescroll上,避免对page的影响 + this.size = this.optUp.page.size; // 把最新的页码赋值在mescroll上,避免对page的影响 + this.time = this.optUp.page.time; // 把最新的页码赋值在mescroll上,避免对page的影响 + this.optUp.callback(this); // 执行回调,联网加载数据 + } +} + +/* 显示上拉加载中 */ +MeScroll.prototype.showUpScroll = function() { + this.isUpScrolling = true; // 标记上拉加载中 + this.optUp.showLoading && this.optUp.showLoading(this); // 回调 +} + +/* 显示上拉无更多数据 */ +MeScroll.prototype.showNoMore = function() { + this.optUp.hasNext = false; // 标记无更多数据 + this.optUp.showNoMore && this.optUp.showNoMore(this); // 回调 +} + +/* 隐藏上拉区域**/ +MeScroll.prototype.hideUpScroll = function() { + this.optUp.hideUpScroll && this.optUp.hideUpScroll(this); // 回调 +} + +/* 结束上拉加载 */ +MeScroll.prototype.endUpScroll = function(isShowNoMore) { + if (isShowNoMore != null) { // isShowNoMore=null,不处理下拉状态,下拉刷新的时候调用 + if (isShowNoMore) { + this.showNoMore(); // isShowNoMore=true,显示无更多数据 + } else { + this.hideUpScroll(); // isShowNoMore=false,隐藏上拉加载 + } + } + this.isUpScrolling = false; // 标记结束上拉加载 +} + +/* 重置上拉加载列表为第一页 + *isShowLoading 是否显示进度布局; + * 1.默认null,不传参,则显示上拉加载的进度布局 + * 2.传参true, 则显示下拉刷新的进度布局 + * 3.传参false,则不显示上拉和下拉的进度 (常用于静默更新列表数据) + */ +MeScroll.prototype.resetUpScroll = function(isShowLoading) { + if (this.optUp && this.optUp.use) { + let page = this.optUp.page; + this.prePageNum = page.num; // 缓存重置前的页码,加载失败可退回 + this.prePageTime = page.time; // 缓存重置前的时间,加载失败可退回 + page.num = this.startNum; // 重置为第一页 + page.time = null; // 重置时间为空 + if (!this.isDownScrolling && isShowLoading !== false) { // 如果不是下拉刷新触发的resetUpScroll并且不配置列表静默更新,则显示进度; + if (isShowLoading == null) { + this.removeEmpty(); // 移除空布局 + this.showUpScroll(); // 不传参,默认显示上拉加载的进度布局 + } else { + this.showDownScroll(); // 传true,显示下拉刷新的进度布局,不清空列表 + } + } + this.isUpAutoLoad = true; // 标记上拉已经自动执行过,避免初始化时多次触发上拉回调 + this.num = page.num; // 把最新的页数赋值在mescroll上,避免对page的影响 + this.size = page.size; // 把最新的页码赋值在mescroll上,避免对page的影响 + this.time = page.time; // 把最新的页码赋值在mescroll上,避免对page的影响 + this.optUp.callback && this.optUp.callback(this); // 执行上拉回调 + } +} + +/* 设置page.num的值 */ +MeScroll.prototype.setPageNum = function(num) { + this.optUp.page.num = num - 1; +} + +/* 设置page.size的值 */ +MeScroll.prototype.setPageSize = function(size) { + this.optUp.page.size = size; +} + +/* 联网回调成功,结束下拉刷新和上拉加载 + * dataSize: 当前页的数据量(必传) + * totalPage: 总页数(必传) + * systime: 服务器时间 (可空) + */ +MeScroll.prototype.endByPage = function(dataSize, totalPage, systime) { + let hasNext; + if (this.optUp.use && totalPage != null) hasNext = this.optUp.page.num < totalPage; // 是否还有下一页 + this.endSuccess(dataSize, hasNext, systime); +} + +/* 联网回调成功,结束下拉刷新和上拉加载 + * dataSize: 当前页的数据量(必传) + * totalSize: 列表所有数据总数量(必传) + * systime: 服务器时间 (可空) + */ +MeScroll.prototype.endBySize = function(dataSize, totalSize, systime) { + let hasNext; + if (this.optUp.use && totalSize != null) { + let loadSize = (this.optUp.page.num - 1) * this.optUp.page.size + dataSize; // 已加载的数据总数 + hasNext = loadSize < totalSize; // 是否还有下一页 + } + this.endSuccess(dataSize, hasNext, systime); +} + +/* 联网回调成功,结束下拉刷新和上拉加载 + * dataSize: 当前页的数据个数(不是所有页的数据总和),用于上拉加载判断是否还有下一页.如果不传,则会判断还有下一页 + * hasNext: 是否还有下一页,布尔类型;用来解决这个小问题:比如列表共有20条数据,每页加载10条,共2页.如果只根据dataSize判断,则需翻到第三页才会知道无更多数据,如果传了hasNext,则翻到第二页即可显示无更多数据. + * systime: 服务器时间(可空);用来解决这个小问题:当准备翻下一页时,数据库新增了几条记录,此时翻下一页,前面的几条数据会和上一页的重复;这里传入了systime,那么upCallback的page.time就会有值,把page.time传给服务器,让后台过滤新加入的那几条记录 + */ +MeScroll.prototype.endSuccess = function(dataSize, hasNext, systime) { + let me = this; + // 结束下拉刷新 + if (me.isDownScrolling) { + me.isDownEndSuccess = true + me.endDownScroll(); + } + + // 结束上拉加载 + if (me.optUp.use) { + let isShowNoMore; // 是否已无更多数据 + if (dataSize != null) { + let pageNum = me.optUp.page.num; // 当前页码 + let pageSize = me.optUp.page.size; // 每页长度 + // 如果是第一页 + if (pageNum === 1) { + if (systime) me.optUp.page.time = systime; // 设置加载列表数据第一页的时间 + } + if (dataSize < pageSize || hasNext === false) { + // 返回的数据不满一页时,则说明已无更多数据 + me.optUp.hasNext = false; + if (dataSize === 0 && pageNum === 1) { + // 如果第一页无任何数据且配置了空布局 + isShowNoMore = false; + me.showEmpty(); + } else { + // 总列表数少于配置的数量,则不显示无更多数据 + let allDataSize = (pageNum - 1) * pageSize + dataSize; + if (allDataSize < me.optUp.noMoreSize) { + isShowNoMore = false; + } else { + isShowNoMore = true; + } + me.removeEmpty(); // 移除空布局 + } + } else { + // 还有下一页 + isShowNoMore = false; + me.optUp.hasNext = true; + me.removeEmpty(); // 移除空布局 + } + } + + // 隐藏上拉 + me.endUpScroll(isShowNoMore); + } +} + +/* 回调失败,结束下拉刷新和上拉加载 */ +MeScroll.prototype.endErr = function(errDistance) { + // 结束下拉,回调失败重置回原来的页码和时间 + if (this.isDownScrolling) { + this.isDownEndSuccess = false + let page = this.optUp.page; + if (page && this.prePageNum) { + page.num = this.prePageNum; + page.time = this.prePageTime; + } + this.endDownScroll(); + } + // 结束上拉,回调失败重置回原来的页码 + if (this.isUpScrolling) { + this.optUp.page.num--; + this.endUpScroll(false); + // 如果是mescroll-body,则需往回滚一定距离 + if(this.isScrollBody && errDistance !== 0){ // 不处理0 + if(!errDistance) errDistance = this.optUp.errDistance; // 不传,则取默认 + this.scrollTo(this.getScrollTop() - errDistance, 0) // 往上回滚的距离 + } + } +} + +/* 显示空布局 */ +MeScroll.prototype.showEmpty = function() { + this.optUp.empty.use && this.optUp.empty.onShow && this.optUp.empty.onShow(true) +} + +/* 移除空布局 */ +MeScroll.prototype.removeEmpty = function() { + this.optUp.empty.use && this.optUp.empty.onShow && this.optUp.empty.onShow(false) +} + +/* 显示回到顶部的按钮 */ +MeScroll.prototype.showTopBtn = function() { + if (!this.topBtnShow) { + this.topBtnShow = true; + this.optUp.toTop.onShow && this.optUp.toTop.onShow(true); + } +} + +/* 隐藏回到顶部的按钮 */ +MeScroll.prototype.hideTopBtn = function() { + if (this.topBtnShow) { + this.topBtnShow = false; + this.optUp.toTop.onShow && this.optUp.toTop.onShow(false); + } +} + +/* 获取滚动条的位置 */ +MeScroll.prototype.getScrollTop = function() { + return this.scrollTop || 0 +} + +/* 记录滚动条的位置 */ +MeScroll.prototype.setScrollTop = function(y) { + this.scrollTop = y; +} + +/* 滚动到指定位置 */ +MeScroll.prototype.scrollTo = function(y, t) { + this.myScrollTo && this.myScrollTo(y, t) // scrollview需自定义回到顶部方法 +} + +/* 自定义scrollTo */ +MeScroll.prototype.resetScrollTo = function(myScrollTo) { + this.myScrollTo = myScrollTo +} + +/* 滚动条到底部的距离 */ +MeScroll.prototype.getScrollBottom = function() { + return this.getScrollHeight() - this.getClientHeight() - this.getScrollTop() +} + +/* 计步器 + star: 开始值 + end: 结束值 + callback(step,timer): 回调step值,计步器timer,可自行通过window.clearInterval(timer)结束计步器; + t: 计步时长,传0则直接回调end值;不传则默认300ms + rate: 周期;不传则默认30ms计步一次 + * */ +MeScroll.prototype.getStep = function(star, end, callback, t, rate) { + let diff = end - star; // 差值 + if (t === 0 || diff === 0) { + callback && callback(end); + return; + } + t = t || 300; // 时长 300ms + rate = rate || 30; // 周期 30ms + let count = t / rate; // 次数 + let step = diff / count; // 步长 + let i = 0; // 计数 + let timer = setInterval(function() { + if (i < count - 1) { + star += step; + callback && callback(star, timer); + i++; + } else { + callback && callback(end, timer); // 最后一次直接设置end,避免计算误差 + clearInterval(timer); + } + }, rate); +} + +/* 滚动容器的高度 */ +MeScroll.prototype.getClientHeight = function(isReal) { + let h = this.clientHeight || 0 + if (h === 0 && isReal !== true) { // 未获取到容器的高度,可临时取body的高度 (可能会有误差) + h = this.getBodyHeight() + } + return h +} +MeScroll.prototype.setClientHeight = function(h) { + this.clientHeight = h; +} + +/* 滚动内容的高度 */ +MeScroll.prototype.getScrollHeight = function() { + return this.scrollHeight || 0; +} +MeScroll.prototype.setScrollHeight = function(h) { + this.scrollHeight = h; +} + +/* body的高度 */ +MeScroll.prototype.getBodyHeight = function() { + return this.bodyHeight || 0; +} +MeScroll.prototype.setBodyHeight = function(h) { + this.bodyHeight = h; +} + +/* 阻止浏览器默认滚动事件 */ +MeScroll.prototype.preventDefault = function(e) { + // 小程序不支持e.preventDefault, 已在wxs中禁止 + // app的bounce只能通过配置pages.json的style.app-plus.bounce为"none"来禁止, 或使用renderjs禁止 + // cancelable:是否可以被禁用; defaultPrevented:是否已经被禁用 + if (e && e.cancelable && !e.defaultPrevented) e.preventDefault() +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.vue b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.vue new file mode 100644 index 00000000..cb5d0265 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mescroll-uni.vue @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-comp.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-comp.js new file mode 100644 index 00000000..abe7cd7f --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-comp.js @@ -0,0 +1,47 @@ +/** + * mescroll-body写在子组件时,需通过mescroll的mixins补充子组件缺少的生命周期 + */ +const MescrollCompMixin = { + // 因为子组件无onPageScroll和onReachBottom的页面生命周期,需在页面传递进到子组件 (一级) + onPageScroll(e) { + this.handlePageScroll(e) + }, + onReachBottom() { + this.handleReachBottom() + }, + // 当down的native: true时, 还需传递此方法进到子组件 + onPullDownRefresh(){ + this.handlePullDownRefresh() + }, + data() { + return { + mescroll: { // mescroll-body写在子子子...组件的情况 (多级) + onPageScroll: e=>{ + this.handlePageScroll(e) + }, + onReachBottom: ()=>{ + this.handleReachBottom() + }, + onPullDownRefresh: ()=>{ + this.handlePullDownRefresh() + } + } + } + }, + methods:{ + handlePageScroll(e){ + let item = this.$refs["mescrollItem"]; + if(item && item.mescroll) item.mescroll.onPageScroll(e); + }, + handleReachBottom(){ + let item = this.$refs["mescrollItem"]; + if(item && item.mescroll) item.mescroll.onReachBottom(); + }, + handlePullDownRefresh(){ + let item = this.$refs["mescrollItem"]; + if(item && item.mescroll) item.mescroll.onPullDownRefresh(); + } + } +} + +export default MescrollCompMixin; diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-more-item.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-more-item.js new file mode 100644 index 00000000..96ca9bff --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-more-item.js @@ -0,0 +1,57 @@ +/** + * mescroll-more-item的mixins, 仅在多个 mescroll-body 写在子组件时使用 (参考 mescroll-more 案例) + */ +const MescrollMoreItemMixin = { + // 支付宝小程序不支持props的mixin,需写在具体的页面中 + // #ifndef MP-ALIPAY || MP-DINGTALK + props:{ + i: Number, // 每个tab页的专属下标 + index: { // 当前tab的下标 + type: Number, + default(){ + return 0 + } + } + }, + // #endif + data() { + return { + downOption:{ + auto:false // 不自动加载 + }, + upOption:{ + auto:false // 不自动加载 + }, + isInit: false // 当前tab是否已初始化 + } + }, + watch:{ + // 监听下标的变化 + index(val){ + if (this.i === val && !this.isInit) this.mescrollTrigger() + } + }, + methods: { + // mescroll组件初始化的回调,可获取到mescroll对象 (覆盖mescroll-mixins.js的mescrollInit, 为了标记isInit) + mescrollInit(mescroll) { + this.mescroll = mescroll; + // 自动加载当前tab的数据 + if(this.i === this.index){ + this.mescrollTrigger() + } + }, + // 主动触发加载 + mescrollTrigger(){ + this.isInit = true; // 标记为true + if (this.mescroll) { + if (this.mescroll.optDown.use) { + this.mescroll.triggerDownScroll(); + } else{ + this.mescroll.triggerUpScroll(); + } + } + } + } +} + +export default MescrollMoreItemMixin; diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-more.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-more.js new file mode 100644 index 00000000..16b47d89 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/mixins/mescroll-more.js @@ -0,0 +1,77 @@ +/** + * mescroll-body写在子组件时, 需通过mescroll的mixins补充子组件缺少的生命周期 + */ +const MescrollMoreMixin = { + data() { + return { + tabIndex: 0, // 当前tab下标 + mescroll: { // mescroll-body写在子子子...组件的情况 (多级) + onPageScroll: e=>{ + this.handlePageScroll(e) + }, + onReachBottom: ()=>{ + this.handleReachBottom() + }, + onPullDownRefresh: ()=>{ + this.handlePullDownRefresh() + } + } + } + }, + // 因为子组件无onPageScroll和onReachBottom的页面生命周期,需在页面传递进到子组件 + onPageScroll(e) { + this.handlePageScroll(e) + }, + onReachBottom() { + this.handleReachBottom() + }, + // 当down的native: true时, 还需传递此方法进到子组件 + onPullDownRefresh(){ + this.handlePullDownRefresh() + }, + methods:{ + handlePageScroll(e){ + let mescroll = this.getMescroll(this.tabIndex); + mescroll && mescroll.onPageScroll(e); + }, + handleReachBottom(){ + let mescroll = this.getMescroll(this.tabIndex); + mescroll && mescroll.onReachBottom(); + }, + handlePullDownRefresh(){ + let mescroll = this.getMescroll(this.tabIndex); + mescroll && mescroll.onPullDownRefresh(); + }, + // 根据下标获取对应子组件的mescroll + getMescroll(i){ + if(!this.mescrollItems) this.mescrollItems = []; + if(!this.mescrollItems[i]) { + // v-for中的refs + let vForItem = this.$refs["mescrollItem"]; + if(vForItem){ + this.mescrollItems[i] = vForItem[i] + }else{ + // 普通的refs,不可重复 + this.mescrollItems[i] = this.$refs["mescrollItem"+i]; + } + } + let item = this.mescrollItems[i] + return item ? item.mescroll : null + }, + // 切换tab,恢复滚动条位置 + tabChange(i){ + let mescroll = this.getMescroll(i); + if(mescroll){ + // 恢复上次滚动条的位置 + let y = mescroll.getScrollTop() + mescroll.scrollTo(y, 0) + // 再次恢复上次滚动条的位置, 确保元素已渲染 + setTimeout(()=>{ + mescroll.scrollTo(y, 0) + },30) + } + } + } +} + +export default MescrollMoreMixin; diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/mixins.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/mixins.js new file mode 100644 index 00000000..34ffa3c2 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/mixins.js @@ -0,0 +1,109 @@ +// 定义在wxs (含renderjs) 逻辑层的数据和方法, 与视图层相互通信 +const WxsMixin = { + data() { + return { + // 传入wxs视图层的数据 (响应式) + wxsProp: { + optDown:{}, // 下拉刷新的配置 + scrollTop:0, // 滚动条的距离 + bodyHeight:0, // body的高度 + isDownScrolling:false, // 是否正在下拉刷新中 + isUpScrolling:false, // 是否正在上拉加载中 + isScrollBody:true, // 是否为mescroll-body滚动 + isUpBoth:true, // 上拉加载时,是否同时可以下拉刷新 + t: 0 // 数据更新的标记 (只有数据更新了,才会触发wxs的Observer) + }, + + // 标记调用wxs视图层的方法 + callProp: { + callType: '', // 方法名 + t: 0 // 数据更新的标记 (只有数据更新了,才会触发wxs的Observer) + }, + + // 不用wxs的平台使用此处的wxsBiz对象,抹平wxs的写法 (微信小程序和APP使用的wxsBiz对象是./wxs/wxs.wxs) + // #ifndef MP-WEIXIN || MP-QQ || APP-PLUS || H5 + wxsBiz: { + //注册列表touchstart事件,用于下拉刷新 + touchstartEvent: e=> { + this.mescroll.touchstartEvent(e); + }, + //注册列表touchmove事件,用于下拉刷新 + touchmoveEvent: e=> { + this.mescroll.touchmoveEvent(e); + }, + //注册列表touchend事件,用于下拉刷新 + touchendEvent: e=> { + this.mescroll.touchendEvent(e); + }, + propObserver(){}, // 抹平wxs的写法 + callObserver(){} // 抹平wxs的写法 + }, + // #endif + + // 不用renderjs的平台使用此处的renderBiz对象,抹平renderjs的写法 (app 和 h5 使用的renderBiz对象是./wxs/renderjs.js) + // #ifndef APP-PLUS || H5 + renderBiz: { + propObserver(){} // 抹平renderjs的写法 + } + // #endif + } + }, + methods: { + // wxs视图层调用逻辑层的回调 + wxsCall(msg){ + if(msg.type === 'setWxsProp'){ + // 更新wxsProp数据 (值改变才触发更新) + this.wxsProp = { + optDown: this.mescroll.optDown, + scrollTop: this.mescroll.getScrollTop(), + bodyHeight: this.mescroll.getBodyHeight(), + isDownScrolling: this.mescroll.isDownScrolling, + isUpScrolling: this.mescroll.isUpScrolling, + isUpBoth: this.mescroll.optUp.isBoth, + isScrollBody:this.mescroll.isScrollBody, + t: Date.now() + } + }else if(msg.type === 'setLoadType'){ + // 设置inOffset,outOffset的状态 + this.downLoadType = msg.downLoadType + // 状态挂载到mescroll对象, 以便在其他组件中使用, 比如中 + this.$set(this.mescroll, 'downLoadType', this.downLoadType) + // 重置是否加载成功的状态 + this.$set(this.mescroll, 'isDownEndSuccess', null) + }else if(msg.type === 'triggerDownScroll'){ + // 主动触发下拉刷新 + this.mescroll.triggerDownScroll(); + }else if(msg.type === 'endDownScroll'){ + // 结束下拉刷新 + this.mescroll.endDownScroll(); + }else if(msg.type === 'triggerUpScroll'){ + // 主动触发上拉加载 + this.mescroll.triggerUpScroll(true); + } + } + }, + mounted() { + // #ifdef MP-WEIXIN || MP-QQ || APP-PLUS || H5 + // 配置主动触发wxs显示加载进度的回调 + this.mescroll.optDown.afterLoading = ()=>{ + this.callProp = {callType: "showLoading", t: Date.now()} // 触发wxs的方法 (值改变才触发更新) + } + // 配置主动触发wxs隐藏加载进度的回调 + this.mescroll.optDown.afterEndDownScroll = ()=>{ + this.callProp = {callType: "endDownScroll", t: Date.now()} // 触发wxs的方法 (值改变才触发更新) + let delay = 300 + (this.mescroll.optDown.beforeEndDelay || 0) + setTimeout(()=>{ + if(this.downLoadType === 4 || this.downLoadType === 0){ + this.callProp = {callType: "clearTransform", t: Date.now()} // 触发wxs的方法 (值改变才触发更新) + } + // 状态挂载到mescroll对象, 以便在其他组件中使用, 比如中 + this.$set(this.mescroll, 'downLoadType', this.downLoadType) + }, delay) + } + // 初始化wxs的数据 + this.wxsCall({type: 'setWxsProp'}) + // #endif + } +} + +export default WxsMixin; diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/renderjs.js b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/renderjs.js new file mode 100644 index 00000000..6cd13019 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/renderjs.js @@ -0,0 +1,92 @@ +// 使用renderjs直接操作window对象,实现动态控制app和h5的bounce +// bounce: iOS橡皮筋,Android半月弧,h5浏览器下拉背景等效果 (下拉刷新时禁止) +// https://uniapp.dcloud.io/frame?id=renderjs + +// 与wxs的me实例一致 +var me = {} + +// 初始化window对象的touch事件 (仅初始化一次) +if(window && !window.$mescrollRenderInit){ + window.$mescrollRenderInit = true + + + window.addEventListener('touchstart', function(e){ + if (me.disabled()) return; + me.startPoint = me.getPoint(e); // 记录起点 + }, {passive: true}) + + + window.addEventListener('touchmove', function(e){ + if (me.disabled()) return; + if (me.getScrollTop() > 0) return; // 需在顶部下拉,才禁止bounce + + var curPoint = me.getPoint(e); // 当前点 + var moveY = curPoint.y - me.startPoint.y; // 和起点比,移动的距离,大于0向下拉,小于0向上拉 + // 向下拉 + if (moveY > 0) { + // 可下拉的条件 + if (!me.isDownScrolling && !me.optDown.isLock && (!me.isUpScrolling || (me.isUpScrolling && me.isUpBoth))) { + + // 只有touch在mescroll的view上面,才禁止bounce + var el = e.target; + var isMescrollTouch = false; + while (el && el.tagName && el.tagName !== 'UNI-PAGE-BODY' && el.tagName != "BODY") { + var cls = el.classList; + if (cls && cls.contains('mescroll-render-touch')) { + isMescrollTouch = true + break; + } + el = el.parentNode; // 继续检查其父元素 + } + // 禁止bounce (不会对swiper和iOS侧滑返回造成影响) + if (isMescrollTouch && e.cancelable && !e.defaultPrevented) e.preventDefault(); + } + } + }, {passive: false}) +} + +/* 获取滚动条的位置 */ +me.getScrollTop = function() { + return me.scrollTop || document.documentElement.scrollTop || document.body.scrollTop || 0 +} + +/* 是否禁用下拉刷新 */ +me.disabled = function(){ + return !me.optDown || !me.optDown.use || me.optDown.native +} + +/* 根据点击滑动事件获取第一个手指的坐标 */ +me.getPoint = function(e) { + if (!e) { + return {x: 0,y: 0} + } + if (e.touches && e.touches[0]) { + return {x: e.touches[0].pageX,y: e.touches[0].pageY} + } else if (e.changedTouches && e.changedTouches[0]) { + return {x: e.changedTouches[0].pageX,y: e.changedTouches[0].pageY} + } else { + return {x: e.clientX,y: e.clientY} + } +} + +/** + * 监听逻辑层数据的变化 (实时更新数据) + */ +function propObserver(wxsProp) { + me.optDown = wxsProp.optDown + me.scrollTop = wxsProp.scrollTop + me.isDownScrolling = wxsProp.isDownScrolling + me.isUpScrolling = wxsProp.isUpScrolling + me.isUpBoth = wxsProp.isUpBoth +} + +/* 导出模块 */ +const renderBiz = { + data() { + return { + propObserver: propObserver, + } + } +} + +export default renderBiz; \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/wxs.wxs b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/wxs.wxs new file mode 100644 index 00000000..4af4201b --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/components/mescroll-uni/wxs/wxs.wxs @@ -0,0 +1,269 @@ +// 使用wxs处理交互动画, 提高性能, 同时避免小程序bounce对下拉刷新的影响 +// https://uniapp.dcloud.io/frame?id=wxs +// https://developers.weixin.qq.com/miniprogram/dev/framework/view/interactive-animation.html + +// 模拟mescroll实例, 与mescroll.js的写法尽量保持一致 +var me = {} + +// ------ 自定义下拉刷新动画 start ------ + +/* 下拉过程中的回调,滑动过程一直在执行 (rate<1为inOffset; rate>1为outOffset) */ +me.onMoving = function (ins, rate, downHight){ + ins.requestAnimationFrame(function () { + ins.selectComponent('.mescroll-wxs-content').setStyle({ + 'will-change': 'transform', // 可解决下拉过程中, image和swiper脱离文档流的问题 + 'transform': 'translateY(' + downHight + 'px)', + 'transition': '' + }) + // 环形进度条 + var progress = ins.selectComponent('.mescroll-wxs-progress') + progress && progress.setStyle({transform: 'rotate(' + 360 * rate + 'deg)'}) + }) +} + +/* 显示下拉刷新进度 */ +me.showLoading = function (ins){ + me.downHight = me.optDown.offset + ins.requestAnimationFrame(function () { + ins.selectComponent('.mescroll-wxs-content').setStyle({ + 'will-change': 'auto', + 'transform': 'translateY(' + me.downHight + 'px)', + 'transition': 'transform 300ms' + }) + }) +} + +/* 结束下拉 */ +me.endDownScroll = function (ins){ + me.downHight = 0; + me.isDownScrolling = false; + ins.requestAnimationFrame(function () { + ins.selectComponent('.mescroll-wxs-content').setStyle({ + 'will-change': 'auto', + 'transform': 'translateY(0)', // 不可以写空串,否则scroll-view渲染不完整 (延时350ms会调clearTransform置空) + 'transition': 'transform 300ms' + }) + }) +} + +/* 结束下拉动画执行完毕后, 清除transform和transition, 避免对列表内容样式造成影响, 如: h5的list-msg示例下拉进度条漏出来等 */ +me.clearTransform = function (ins){ + ins.requestAnimationFrame(function () { + ins.selectComponent('.mescroll-wxs-content').setStyle({ + 'will-change': '', + 'transform': '', + 'transition': '' + }) + }) +} + +// ------ 自定义下拉刷新动画 end ------ + +/** + * 监听逻辑层数据的变化 (实时更新数据) + */ +function propObserver(wxsProp) { + if(!wxsProp) return + me.optDown = wxsProp.optDown + me.scrollTop = wxsProp.scrollTop + me.bodyHeight = wxsProp.bodyHeight + me.isDownScrolling = wxsProp.isDownScrolling + me.isUpScrolling = wxsProp.isUpScrolling + me.isUpBoth = wxsProp.isUpBoth + me.isScrollBody = wxsProp.isScrollBody + me.startTop = wxsProp.scrollTop // 及时更新touchstart触发的startTop, 避免scroll-view快速惯性滚动到顶部取值不准确 +} + +/** + * 监听逻辑层数据的变化 (调用wxs的方法) + */ +function callObserver(callProp, oldValue, ins) { + if (me.disabled()) return; + if(callProp.callType){ + // 逻辑层(App Service)的style已失效,需在视图层(Webview)设置style + if(callProp.callType === 'showLoading'){ + me.showLoading(ins) + }else if(callProp.callType === 'endDownScroll'){ + me.endDownScroll(ins) + }else if(callProp.callType === 'clearTransform'){ + me.clearTransform(ins) + } + } +} + +/** + * touch事件 + */ +function touchstartEvent(e, ins) { + me.downHight = 0; // 下拉的距离 + me.startPoint = me.getPoint(e); // 记录起点 + me.startTop = me.getScrollTop(); // 记录此时的滚动条位置 + me.startAngle = 0; // 初始角度 + me.lastPoint = me.startPoint; // 重置上次move的点 + me.maxTouchmoveY = me.getBodyHeight() - me.optDown.bottomOffset; // 手指触摸的最大范围(写在touchstart避免body获取高度为0的情况) + me.inTouchend = false; // 标记不是touchend + + me.callMethod(ins, {type: 'setWxsProp'}) // 同步更新wxsProp的数据 (小程序是异步的,可能touchmove先执行,才到propObserver; h5和app是同步) +} + +function touchmoveEvent(e, ins) { + var isPrevent = true // false表示不往上冒泡,相当于调用了同时调用了stopPropagation和preventDefault (对小程序生效, h5和app无效) + + if (me.disabled()) return isPrevent; + + var scrollTop = me.getScrollTop(); // 当前滚动条的距离 + var curPoint = me.getPoint(e); // 当前点 + + var moveY = curPoint.y - me.startPoint.y; // 和起点比,移动的距离,大于0向下拉,小于0向上拉 + + // 向下拉 && 在顶部 + // mescroll-body,直接判定在顶部即可 + // scroll-view在滚动时不会触发touchmove,当触顶/底/左/右时,才会触发touchmove + // scroll-view滚动到顶部时,scrollTop不一定为0,也有可能大于0; 在iOS的APP中scrollTop可能为负数,不一定和startTop相等 + if (moveY > 0 && ( + (me.isScrollBody && scrollTop <= 0) + || + (!me.isScrollBody && (scrollTop <= 0 || (scrollTop <= me.optDown.startTop && scrollTop === me.startTop)) ) + )) { + // 可下拉的条件 + if (!me.inTouchend && !me.isDownScrolling && !me.optDown.isLock && (!me.isUpScrolling || (me.isUpScrolling && + me.isUpBoth))) { + + // 下拉的角度是否在配置的范围内 + if(!me.startAngle) me.startAngle = me.getAngle(me.lastPoint, curPoint); // 两点之间的角度,区间 [0,90] + if (me.startAngle < me.optDown.minAngle) return isPrevent; // 如果小于配置的角度,则不往下执行下拉刷新 + + // 如果手指的位置超过配置的距离,则提前结束下拉,避免Webview嵌套导致touchend无法触发 + if (me.maxTouchmoveY > 0 && curPoint.y >= me.maxTouchmoveY) { + me.inTouchend = true; // 标记执行touchend + touchendEvent(e, ins); // 提前触发touchend + return isPrevent; + } + + isPrevent = false // 小程序是return false + + var diff = curPoint.y - me.lastPoint.y; // 和上次比,移动的距离 (大于0向下,小于0向上) + + // 下拉距离 < 指定距离 + if (me.downHight < me.optDown.offset) { + if (me.movetype !== 1) { + me.movetype = 1; // 加入标记,保证只执行一次 + // me.optDown.inOffset && me.optDown.inOffset(me); // 进入指定距离范围内那一刻的回调,只执行一次 + me.callMethod(ins, {type: 'setLoadType', downLoadType: 1}) + me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来 + } + me.downHight += diff * me.optDown.inOffsetRate; // 越往下,高度变化越小 + + // 指定距离 <= 下拉距离 + } else { + if (me.movetype !== 2) { + me.movetype = 2; // 加入标记,保证只执行一次 + // me.optDown.outOffset && me.optDown.outOffset(me); // 下拉超过指定距离那一刻的回调,只执行一次 + me.callMethod(ins, {type: 'setLoadType', downLoadType: 2}) + me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来 + } + if (diff > 0) { // 向下拉 + me.downHight += diff * me.optDown.outOffsetRate; // 越往下,高度变化越小 + } else { // 向上收 + me.downHight += diff; // 向上收回高度,则向上滑多少收多少高度 + } + } + + me.downHight = Math.round(me.downHight) // 取整 + var rate = me.downHight / me.optDown.offset; // 下拉区域当前高度与指定距离的比值 + // me.optDown.onMoving && me.optDown.onMoving(me, rate, me.downHight); // 下拉过程中的回调,一直在执行 + me.onMoving(ins, rate, me.downHight) + } + } + + me.lastPoint = curPoint; // 记录本次移动的点 + + return isPrevent // false表示不往上冒泡,相当于调用了同时调用了stopPropagation和preventDefault (对小程序生效, h5和app无效) +} + +function touchendEvent(e, ins) { + // 如果下拉区域高度已改变,则需重置回来 + if (me.isMoveDown) { + if (me.downHight >= me.optDown.offset) { + // 符合触发刷新的条件 + me.downHight = me.optDown.offset; // 更新下拉区域高度 + // me.triggerDownScroll(); + me.callMethod(ins, {type: 'triggerDownScroll'}) + } else { + // 不符合的话 则重置 + me.downHight = 0; + // me.optDown.endDownScroll && me.optDown.endDownScroll(me); + me.callMethod(ins, {type: 'endDownScroll'}) + } + me.movetype = 0; + me.isMoveDown = false; + } else if (!me.isScrollBody && me.getScrollTop() === me.startTop) { // scroll-view到顶/左/右/底的滑动事件 + var isScrollUp = me.getPoint(e).y - me.startPoint.y < 0; // 和起点比,移动的距离,大于0向下拉,小于0向上拉 + // 上滑 + if (isScrollUp) { + // 需检查滑动的角度 + var angle = me.getAngle(me.getPoint(e), me.startPoint); // 两点之间的角度,区间 [0,90] + if (angle > 80) { + // 检查并触发上拉 + // me.triggerUpScroll(true); + me.callMethod(ins, {type: 'triggerUpScroll'}) + } + } + } + me.callMethod(ins, {type: 'setWxsProp'}) // 同步更新wxsProp的数据 (小程序是异步的,可能touchmove先执行,才到propObserver; h5和app是同步) +} + +/* 是否禁用下拉刷新 */ +me.disabled = function(){ + return !me.optDown || !me.optDown.use || me.optDown.native +} + +/* 根据点击滑动事件获取第一个手指的坐标 */ +me.getPoint = function(e) { + if (!e) { + return {x: 0,y: 0} + } + if (e.touches && e.touches[0]) { + return {x: e.touches[0].pageX,y: e.touches[0].pageY} + } else if (e.changedTouches && e.changedTouches[0]) { + return {x: e.changedTouches[0].pageX,y: e.changedTouches[0].pageY} + } else { + return {x: e.clientX,y: e.clientY} + } +} + +/* 计算两点之间的角度: 区间 [0,90]*/ +me.getAngle = function (p1, p2) { + var x = Math.abs(p1.x - p2.x); + var y = Math.abs(p1.y - p2.y); + var z = Math.sqrt(x * x + y * y); + var angle = 0; + if (z !== 0) { + angle = Math.asin(y / z) / Math.PI * 180; + } + return angle +} + +/* 获取滚动条的位置 */ +me.getScrollTop = function() { + return me.scrollTop || 0 +} + +/* 获取body的高度 */ +me.getBodyHeight = function() { + return me.bodyHeight || 0; +} + +/* 调用逻辑层的方法 */ +me.callMethod = function(ins, param) { + if(ins) ins.callMethod('wxsCall', param) +} + +/* 导出模块 */ +module.exports = { + propObserver: propObserver, + callObserver: callObserver, + touchstartEvent: touchstartEvent, + touchmoveEvent: touchmoveEvent, + touchendEvent: touchendEvent +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/hooks/useMescroll.js b/smart-app/src/uni_modules/uni-mescroll/hooks/useMescroll.js new file mode 100644 index 00000000..ef91cd13 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/hooks/useMescroll.js @@ -0,0 +1,66 @@ +// 小程序无法在hook中使用页面级别生命周期,需单独传入: https://ask.dcloud.net.cn/question/161173 +// import { onPageScroll, onReachBottom, onPullDownRefresh} from '@dcloudio/uni-app'; + +/** + * 初始化mescroll, 相当于vue2的mescroll-mixins.js文件 (mescroll-body 和 mescroll-uni 通用) + * mescroll-body需传入onPageScroll, onReachBottom + * mescroll-uni无需传onPageScroll, onReachBottom + * 当down.native为true时,需传入onPullDownRefresh + */ +function useMescroll(onPageScroll, onReachBottom, onPullDownRefresh){ + // mescroll实例对象 + let mescroll = null; + + // mescroll组件初始化的回调,可获取到mescroll对象 + const mescrollInit = (e)=> { + mescroll = e; + } + + // 获取mescroll对象, mescrollInit执行之后会有值, 生命周期created中会有值 + const getMescroll = ()=>{ + return mescroll + } + + // 下拉刷新的回调 (mixin默认resetUpScroll) + const downCallback = ()=> { + if(mescroll.optUp.use){ + mescroll.resetUpScroll() + }else{ + setTimeout(()=>{ + mescroll.endSuccess(); + }, 500) + } + } + + // 上拉加载的回调 + const upCallback = ()=> { + // mixin默认延时500自动结束加载 + setTimeout(()=>{ + mescroll.endErr(); + }, 500) + } + + // 注册系统自带的下拉刷新 (配置down.native为true时生效, 还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例) + onPullDownRefresh && onPullDownRefresh(() => { + mescroll && mescroll.onPullDownRefresh(); + }) + + // 注册列表滚动事件,用于判定在顶部可下拉刷新,在指定位置可显示隐藏回到顶部按钮 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效) + onPageScroll && onPageScroll(e=>{ + mescroll && mescroll.onPageScroll(e); + }) + + // 注册滚动到底部的事件,用于上拉加载 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效) + onReachBottom && onReachBottom(()=>{ + mescroll && mescroll.onReachBottom(); + }) + + return { + getMescroll, + mescrollInit, + downCallback, + upCallback + } +} + +export default useMescroll \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/hooks/useMescrollComp.js b/smart-app/src/uni_modules/uni-mescroll/hooks/useMescrollComp.js new file mode 100644 index 00000000..3b83847e --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/hooks/useMescrollComp.js @@ -0,0 +1,56 @@ +import { ref } from 'vue'; + +// 小程序无法在hook中使用页面级别生命周期,需单独传入: https://ask.dcloud.net.cn/question/161173 +// import { onPageScroll, onReachBottom, onPullDownRefresh} from '@dcloudio/uni-app'; + +/** + * mescroll-body写在子组件时,需通过useMescrollComp补充子组件缺少的生命周期, 相当于vue2的mescroll-comp.js文件 + * 必须传入onPageScroll, onReachBottom + * 当down.native为true时,需传入onPullDownRefresh + */ +function useMescrollComp(onPageScroll, onReachBottom, onPullDownRefresh){ + // 因为子组件无onPageScroll和onReachBottom的页面生命周期,需在页面传递进到子组件 + onPageScroll(e=>{ + handlePageScroll(e) + }) + + onReachBottom(()=>{ + handleReachBottom() + }) + + // 当down的native: true时, 还需传递此方法进到子组件 + onPullDownRefresh && onPullDownRefresh(()=>{ + handlePullDownRefresh() + }) + + const mescrollItem = ref(null) + + const handlePageScroll = (e)=>{ + const mescroll = getMescroll() + mescroll && mescroll.onPageScroll(e); + } + + const handleReachBottom = ()=>{ + const mescroll = getMescroll() + mescroll && mescroll.onReachBottom(); + } + + const handlePullDownRefresh = ()=>{ + const mescroll = getMescroll() + mescroll && mescroll.onPullDownRefresh(); + } + + const getMescroll = ()=>{ + if(mescrollItem.value && mescrollItem.value.getMescroll){ + return mescrollItem.value.getMescroll() + } + return null + } + + return { + mescrollItem, + getMescroll + } +} + +export default useMescrollComp \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/hooks/useMescrollMore.js b/smart-app/src/uni_modules/uni-mescroll/hooks/useMescrollMore.js new file mode 100644 index 00000000..f9a3cd0e --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/hooks/useMescrollMore.js @@ -0,0 +1,69 @@ +import { ref } from 'vue'; + +// 小程序无法在hook中使用页面级别生命周期,需单独传入: https://ask.dcloud.net.cn/question/161173 +// import { onPageScroll, onReachBottom, onPullDownRefresh} from '@dcloudio/uni-app'; + +/** mescroll-more示例写在子组件时,需通过useMescrollMore补充子组件缺少的生命周期, 相当于vue2的mescroll-more.js文件 */ +function useMescrollMore(mescrollItems, onPageScroll, onReachBottom, onPullDownRefresh){ + // 当前tab下标 + const tabIndex = ref(0) + + // 因为子组件无onPageScroll和onReachBottom的页面生命周期,需在页面传递进到子组件 + onPageScroll && onPageScroll(e=>{ + handlePageScroll(e) + }) + + onReachBottom && onReachBottom(()=>{ + handleReachBottom() + }) + + // 当down的native: true时, 还需传递此方法进到子组件 + onPullDownRefresh && onPullDownRefresh(()=>{ + handlePullDownRefresh() + }) + + const handlePageScroll = (e)=>{ + let mescroll = getMescroll(tabIndex.value); + mescroll && mescroll.onPageScroll(e); + } + const handleReachBottom = ()=>{ + let mescroll = getMescroll(tabIndex.value); + mescroll && mescroll.onReachBottom(); + } + + const handlePullDownRefresh = ()=>{ + let mescroll = getMescroll(tabIndex.value); + mescroll && mescroll.onPullDownRefresh(); + } + + // 根据下标获取对应子组件的mescroll + const getMescroll = (i)=>{ + if (mescrollItems && mescrollItems[i]) { + return mescrollItems[i].value.getMescroll() + } else{ + return null + } + } + + // 切换tab,恢复滚动条位置 + const scrollToLastY = ()=>{ + let mescroll = getMescroll(tabIndex.value); + if(mescroll){ + // 恢复上次滚动条的位置 + let y = mescroll.getScrollTop() + mescroll.scrollTo(y, 0) + // 再次恢复上次滚动条的位置, 确保元素已渲染 + setTimeout(()=>{ + mescroll.scrollTo(y, 0) + },20) + } + } + + return { + tabIndex, + getMescroll, + scrollToLastY + } +} + +export default useMescrollMore \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/package.json b/smart-app/src/uni_modules/uni-mescroll/package.json new file mode 100644 index 00000000..ef37663b --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/package.json @@ -0,0 +1,76 @@ +{ + "id": "mescroll-uni", + "displayName": "高性能下拉刷新上拉加载组件 支持vue3 setup", + "version": "1.3.8", + "description": "wxs+renderjs实现, 支持原生页面和局部区域滚动, 支持vue3 script setup的写法", + "keywords": [ + "下拉刷新", + "上拉加载", + "翻页分页", + "wxs", + "setup" +], + "repository": "https://github.com/mescroll/mescroll", +"engines": { + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/mescroll-uni", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + } + } + } + } +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-mescroll/readme.md b/smart-app/src/uni_modules/uni-mescroll/readme.md new file mode 100644 index 00000000..4bce1789 --- /dev/null +++ b/smart-app/src/uni_modules/uni-mescroll/readme.md @@ -0,0 +1,45 @@ +## mescroll --【wxs+renderjs实现】高性能的下拉刷新上拉加载组件 +1. mescroll的uni版本 是专门用在uni-app的下拉刷新和上拉加载的组件 + +2. mescroll的uni版本 继承了mescroll.js的实用功能: 自动处理分页, 自动控制无数据, 空布局提示, 回到顶部按钮 .. + +3. mescroll的uni版本 丰富的案例, 自由灵活的api, 超详细的注释, 可让您快速自定义真正属于自己的下拉上拉组件 + +
    + + +## 最新文档(1.3.8版本):
    https://www.mescroll.com/uni.html +2023-03-26 by 小瑾同学 (文档可能会有缓存,建议打开时刷新一下) + + +## 1.3.5版本已调整为[uni_modules](https://uniapp.dcloud.io/uni_modules) +uni_modules版本的mescroll-body 和 mescroll-empty 支持 [easycom规范](https://uniapp.dcloud.io/collocation/pages?id=easycom) +所以 main.js 无需再为mescroll-body注册全局组件 +所以个别页面要单独使用 mescroll-empty , 也无需手动注册 +#### 1.3.5以前的用户升级为uni_modules版本: +``` +1. 删除原来的 @/components/mescroll-uni 组件 +2. 删除 main.js 注册的 mescroll 组件 +3. 从插件市场导入最新mescroll组件 (1.3.5+uni_modules版本) +4. 全局搜索 '@/components/mescroll-uni/' 替换为 '@/uni_modules/mescroll-uni/components/mescroll-uni/' +5. mescroll-empty遵循easycom规范, 若某些页面单独使用 'mescroll-empty.vue', 可删除手动导入的代码 +``` + +## 近期已更新优化的内容: +1. 新增vue3 script setup的示例 +2. 新增`入门极简`示例, 国际化`mescroll-i18n.vue`示例, 轮播吸顶菜单`mescroll-swiper-sticky.vue`示例 +3. 新增 "局部区域滚动" 的案例: mescroll-body-part.vue 和 mescroll-uni-part.vue +4. 新增 me-video 视频组件, 解决APP端视频下拉悬浮错位的问题, 参考 mescroll-options.vue 示例 +5. 新增 me-tabs 组件,tabs支持水平滑动; 优化mescroll-more和mescroll-swiper的案例, 顶部tab支持水平滑动 +6. 吸顶悬浮提供了原生sticky和监听滚动条实现的示例: sticky.vue 和 sticky-scroll.vue (推荐使用sticky样式实现) +7. mescroll.scrollTo(y)的y支持css选择器, 包括跨自定义组件的后代选择器, 支持滚动到子组件的view (参考 mescroll-options.vue) +8. topbar 顶部是否预留状态栏的高度, 默认false; 还可支持设置状态栏背景: 如 '#ffff00', 'url(xxx) 0 0/100% 100%', 'linear-gradient(xx)' +9. down.bgColor 和 up.bgColor 加载区域的背景,不仅支持色值, 而且还是支持背景图和渐变: 如 'url(xxx) 0 0/100% 100%', 'linear-gradient(xx)' +10. topbar,bgColor支持一行代码定义background: [https://www.runoob.com/cssref/css3-pr-background.html](https://www.runoob.com/cssref/css3-pr-background.html) +
    +
    +查看更多 ... + +
    + +#### mescroll不支持nvue,也暂无支持的计划哈,so sorry~ \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-scss/changelog.md b/smart-app/src/uni_modules/uni-scss/changelog.md new file mode 100644 index 00000000..b863bb0f --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/changelog.md @@ -0,0 +1,8 @@ +## 1.0.3(2022-01-21) +- 优化 组件示例 +## 1.0.2(2021-11-22) +- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题 +## 1.0.1(2021-11-22) +- 修复 vue3中scss语法兼容问题 +## 1.0.0(2021-11-18) +- init diff --git a/smart-app/src/uni_modules/uni-scss/index.scss b/smart-app/src/uni_modules/uni-scss/index.scss new file mode 100644 index 00000000..1744a5f9 --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/index.scss @@ -0,0 +1 @@ +@import './styles/index.scss'; diff --git a/smart-app/src/uni_modules/uni-scss/package.json b/smart-app/src/uni_modules/uni-scss/package.json new file mode 100644 index 00000000..7cc0ccb7 --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/package.json @@ -0,0 +1,82 @@ +{ + "id": "uni-scss", + "displayName": "uni-scss 辅助样式", + "version": "1.0.3", + "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。", + "keywords": [ + "uni-scss", + "uni-ui", + "辅助样式" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "category": [ + "JS SDK", + "通用 SDK" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/smart-app/src/uni_modules/uni-scss/readme.md b/smart-app/src/uni_modules/uni-scss/readme.md new file mode 100644 index 00000000..b7d1c25f --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/readme.md @@ -0,0 +1,4 @@ +`uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-scss/styles/index.scss b/smart-app/src/uni_modules/uni-scss/styles/index.scss new file mode 100644 index 00000000..ffac4fec --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/styles/index.scss @@ -0,0 +1,7 @@ +@import './setting/_variables.scss'; +@import './setting/_border.scss'; +@import './setting/_color.scss'; +@import './setting/_space.scss'; +@import './setting/_radius.scss'; +@import './setting/_text.scss'; +@import './setting/_styles.scss'; diff --git a/smart-app/src/uni_modules/uni-scss/styles/setting/_border.scss b/smart-app/src/uni_modules/uni-scss/styles/setting/_border.scss new file mode 100644 index 00000000..12a11c32 --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/styles/setting/_border.scss @@ -0,0 +1,3 @@ +.uni-border { + border: 1px $uni-border-1 solid; +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-scss/styles/setting/_color.scss b/smart-app/src/uni_modules/uni-scss/styles/setting/_color.scss new file mode 100644 index 00000000..1ededd94 --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/styles/setting/_color.scss @@ -0,0 +1,66 @@ + +// TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐 +// @mixin get-styles($k,$c) { +// @if $k == size or $k == weight{ +// font-#{$k}:#{$c} +// }@else{ +// #{$k}:#{$c} +// } +// } +$uni-ui-color:( + // 主色 + primary: $uni-primary, + primary-disable: $uni-primary-disable, + primary-light: $uni-primary-light, + // 辅助色 + success: $uni-success, + success-disable: $uni-success-disable, + success-light: $uni-success-light, + warning: $uni-warning, + warning-disable: $uni-warning-disable, + warning-light: $uni-warning-light, + error: $uni-error, + error-disable: $uni-error-disable, + error-light: $uni-error-light, + info: $uni-info, + info-disable: $uni-info-disable, + info-light: $uni-info-light, + // 中性色 + main-color: $uni-main-color, + base-color: $uni-base-color, + secondary-color: $uni-secondary-color, + extra-color: $uni-extra-color, + // 背景色 + bg-color: $uni-bg-color, + // 边框颜色 + border-1: $uni-border-1, + border-2: $uni-border-2, + border-3: $uni-border-3, + border-4: $uni-border-4, + // 黑色 + black:$uni-black, + // 白色 + white:$uni-white, + // 透明 + transparent:$uni-transparent +) !default; +@each $key, $child in $uni-ui-color { + .uni-#{"" + $key} { + color: $child; + } + .uni-#{"" + $key}-bg { + background-color: $child; + } +} +.uni-shadow-sm { + box-shadow: $uni-shadow-sm; +} +.uni-shadow-base { + box-shadow: $uni-shadow-base; +} +.uni-shadow-lg { + box-shadow: $uni-shadow-lg; +} +.uni-mask { + background-color:$uni-mask; +} diff --git a/smart-app/src/uni_modules/uni-scss/styles/setting/_radius.scss b/smart-app/src/uni_modules/uni-scss/styles/setting/_radius.scss new file mode 100644 index 00000000..9a0428bb --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/styles/setting/_radius.scss @@ -0,0 +1,55 @@ +@mixin radius($r,$d:null ,$important: false){ + $radius-value:map-get($uni-radius, $r) if($important, !important, null); + // Key exists within the $uni-radius variable + @if (map-has-key($uni-radius, $r) and $d){ + @if $d == t { + border-top-left-radius:$radius-value; + border-top-right-radius:$radius-value; + }@else if $d == r { + border-top-right-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == b { + border-bottom-left-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == l { + border-top-left-radius:$radius-value; + border-bottom-left-radius:$radius-value; + }@else if $d == tl { + border-top-left-radius:$radius-value; + }@else if $d == tr { + border-top-right-radius:$radius-value; + }@else if $d == br { + border-bottom-right-radius:$radius-value; + }@else if $d == bl { + border-bottom-left-radius:$radius-value; + } + }@else{ + border-radius:$radius-value; + } +} + +@each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $key} { + @include radius($key) + } + }@else{ + .uni-radius { + @include radius($key) + } + } +} + +@each $direction in t, r, b, l,tl, tr, br, bl { + @each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $direction}-#{"" + $key} { + @include radius($key,$direction,false) + } + }@else{ + .uni-radius-#{$direction} { + @include radius($key,$direction,false) + } + } + } +} diff --git a/smart-app/src/uni_modules/uni-scss/styles/setting/_space.scss b/smart-app/src/uni_modules/uni-scss/styles/setting/_space.scss new file mode 100644 index 00000000..3c895289 --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/styles/setting/_space.scss @@ -0,0 +1,56 @@ + +@mixin fn($space,$direction,$size,$n) { + @if $n { + #{$space}-#{$direction}: #{$size*$uni-space-root}px + } @else { + #{$space}-#{$direction}: #{-$size*$uni-space-root}px + } +} +@mixin get-styles($direction,$i,$space,$n){ + @if $direction == t { + @include fn($space, top,$i,$n); + } + @if $direction == r { + @include fn($space, right,$i,$n); + } + @if $direction == b { + @include fn($space, bottom,$i,$n); + } + @if $direction == l { + @include fn($space, left,$i,$n); + } + @if $direction == x { + @include fn($space, left,$i,$n); + @include fn($space, right,$i,$n); + } + @if $direction == y { + @include fn($space, top,$i,$n); + @include fn($space, bottom,$i,$n); + } + @if $direction == a { + @if $n { + #{$space}:#{$i*$uni-space-root}px; + } @else { + #{$space}:#{-$i*$uni-space-root}px; + } + } +} + +@each $orientation in m,p { + $space: margin; + @if $orientation == m { + $space: margin; + } @else { + $space: padding; + } + @for $i from 0 through 16 { + @each $direction in t, r, b, l, x, y, a { + .uni-#{$orientation}#{$direction}-#{$i} { + @include get-styles($direction,$i,$space,true); + } + .uni-#{$orientation}#{$direction}-n#{$i} { + @include get-styles($direction,$i,$space,false); + } + } + } +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/uni-scss/styles/setting/_styles.scss b/smart-app/src/uni_modules/uni-scss/styles/setting/_styles.scss new file mode 100644 index 00000000..689afec6 --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/styles/setting/_styles.scss @@ -0,0 +1,167 @@ +/* #ifndef APP-NVUE */ + +$-color-white:#fff; +$-color-black:#000; +@mixin base-style($color) { + color: #fff; + background-color: $color; + border-color: mix($-color-black, $color, 8%); + &:not([hover-class]):active { + background: mix($-color-black, $color, 10%); + border-color: mix($-color-black, $color, 20%); + color: $-color-white; + outline: none; + } +} +@mixin is-color($color) { + @include base-style($color); + &[loading] { + @include base-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &[loading], + &:not([hover-class]):active { + color: $-color-white; + border-color: mix(darken($color,10%), $-color-white); + background-color: mix($color, $-color-white); + } + } + +} +@mixin base-plain-style($color) { + color:$color; + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 70%); + &:not([hover-class]):active { + background: mix($-color-white, $color, 80%); + color: $color; + outline: none; + border-color: mix($-color-white, $color, 50%); + } +} +@mixin is-plain($color){ + &[plain] { + @include base-plain-style($color); + &[loading] { + @include base-plain-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &:active { + color: mix($-color-white, $color, 40%); + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 80%); + } + } + } +} + + +.uni-btn { + margin: 5px; + color: #393939; + border:1px solid #ccc; + font-size: 16px; + font-weight: 200; + background-color: #F9F9F9; + // TODO 暂时处理边框隐藏一边的问题 + overflow: visible; + &::after{ + border: none; + } + + &:not([type]),&[type=default] { + color: #999; + &[loading] { + background: none; + &::before { + margin-right:5px; + } + } + + + + &[disabled]{ + color: mix($-color-white, #999, 60%); + &, + &[loading], + &:active { + color: mix($-color-white, #999, 60%); + background-color: mix($-color-white,$-color-black , 98%); + border-color: mix($-color-white, #999, 85%); + } + } + + &[plain] { + color: #999; + background: none; + border-color: $uni-border-1; + &:not([hover-class]):active { + background: none; + color: mix($-color-white, $-color-black, 80%); + border-color: mix($-color-white, $-color-black, 90%); + outline: none; + } + &[disabled]{ + &, + &[loading], + &:active { + background: none; + color: mix($-color-white, #999, 60%); + border-color: mix($-color-white, #999, 85%); + } + } + } + } + + &:not([hover-class]):active { + color: mix($-color-white, $-color-black, 50%); + } + + &[size=mini] { + font-size: 16px; + font-weight: 200; + border-radius: 8px; + } + + + + &.uni-btn-small { + font-size: 14px; + } + &.uni-btn-mini { + font-size: 12px; + } + + &.uni-btn-radius { + border-radius: 999px; + } + &[type=primary] { + @include is-color($uni-primary); + @include is-plain($uni-primary) + } + &[type=success] { + @include is-color($uni-success); + @include is-plain($uni-success) + } + &[type=error] { + @include is-color($uni-error); + @include is-plain($uni-error) + } + &[type=warning] { + @include is-color($uni-warning); + @include is-plain($uni-warning) + } + &[type=info] { + @include is-color($uni-info); + @include is-plain($uni-info) + } +} +/* #endif */ diff --git a/smart-app/src/uni_modules/uni-scss/styles/setting/_text.scss b/smart-app/src/uni_modules/uni-scss/styles/setting/_text.scss new file mode 100644 index 00000000..a34d08f3 --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/styles/setting/_text.scss @@ -0,0 +1,24 @@ +@mixin get-styles($k,$c) { + @if $k == size or $k == weight{ + font-#{$k}:#{$c} + }@else{ + #{$k}:#{$c} + } +} + +@each $key, $child in $uni-headings { + /* #ifndef APP-NVUE */ + .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ + /* #ifdef APP-NVUE */ + .container .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ +} diff --git a/smart-app/src/uni_modules/uni-scss/styles/setting/_variables.scss b/smart-app/src/uni_modules/uni-scss/styles/setting/_variables.scss new file mode 100644 index 00000000..557d3d7c --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/styles/setting/_variables.scss @@ -0,0 +1,146 @@ +// @use "sass:math"; +@import '../tools/functions.scss'; +// 间距基础倍数 +$uni-space-root: 2 !default; +// 边框半径默认值 +$uni-radius-root:5px !default; +$uni-radius: () !default; +// 边框半径断点 +$uni-radius: map-deep-merge( + ( + 0: 0, + // TODO 当前版本暂时不支持 sm 属性 + // 'sm': math.div($uni-radius-root, 2), + null: $uni-radius-root, + 'lg': $uni-radius-root * 2, + 'xl': $uni-radius-root * 6, + 'pill': 9999px, + 'circle': 50% + ), + $uni-radius +); +// 字体家族 +$body-font-family: 'Roboto', sans-serif !default; +// 文本 +$heading-font-family: $body-font-family !default; +$uni-headings: () !default; +$letterSpacing: -0.01562em; +$uni-headings: map-deep-merge( + ( + 'h1': ( + size: 32px, + weight: 300, + line-height: 50px, + // letter-spacing:-0.01562em + ), + 'h2': ( + size: 28px, + weight: 300, + line-height: 40px, + // letter-spacing: -0.00833em + ), + 'h3': ( + size: 24px, + weight: 400, + line-height: 32px, + // letter-spacing: normal + ), + 'h4': ( + size: 20px, + weight: 400, + line-height: 30px, + // letter-spacing: 0.00735em + ), + 'h5': ( + size: 16px, + weight: 400, + line-height: 24px, + // letter-spacing: normal + ), + 'h6': ( + size: 14px, + weight: 500, + line-height: 18px, + // letter-spacing: 0.0125em + ), + 'subtitle': ( + size: 12px, + weight: 400, + line-height: 20px, + // letter-spacing: 0.00937em + ), + 'body': ( + font-size: 14px, + font-weight: 400, + line-height: 22px, + // letter-spacing: 0.03125em + ), + 'caption': ( + 'size': 12px, + 'weight': 400, + 'line-height': 20px, + // 'letter-spacing': 0.03333em, + // 'text-transform': false + ) + ), + $uni-headings +); + + + +// 主色 +$uni-primary: #2979ff !default; +$uni-primary-disable:lighten($uni-primary,20%) !default; +$uni-primary-light: lighten($uni-primary,25%) !default; + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37 !default; +$uni-success-disable:lighten($uni-success,20%) !default; +$uni-success-light: lighten($uni-success,25%) !default; + +$uni-warning: #f3a73f !default; +$uni-warning-disable:lighten($uni-warning,20%) !default; +$uni-warning-light: lighten($uni-warning,25%) !default; + +$uni-error: #e43d33 !default; +$uni-error-disable:lighten($uni-error,20%) !default; +$uni-error-light: lighten($uni-error,25%) !default; + +$uni-info: #8f939c !default; +$uni-info-disable:lighten($uni-info,20%) !default; +$uni-info-light: lighten($uni-info,25%) !default; + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a !default; // 主要文字 +$uni-base-color: #6a6a6a !default; // 常规文字 +$uni-secondary-color: #909399 !default; // 次要文字 +$uni-extra-color: #c7c7c7 !default; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0 !default; +$uni-border-2: #EDEDED !default; +$uni-border-3: #DCDCDC !default; +$uni-border-4: #B9B9B9 !default; + +// 常规色 +$uni-black: #000000 !default; +$uni-white: #ffffff !default; +$uni-transparent: rgba($color: #000000, $alpha: 0) !default; + +// 背景色 +$uni-bg-color: #f7f7f7 !default; + +/* 水平间距 */ +$uni-spacing-sm: 8px !default; +$uni-spacing-base: 15px !default; +$uni-spacing-lg: 30px !default; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default; +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default; +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default; + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4) !default; diff --git a/smart-app/src/uni_modules/uni-scss/styles/tools/functions.scss b/smart-app/src/uni_modules/uni-scss/styles/tools/functions.scss new file mode 100644 index 00000000..ac6f63e5 --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/styles/tools/functions.scss @@ -0,0 +1,19 @@ +// 合并 map +@function map-deep-merge($parent-map, $child-map){ + $result: $parent-map; + @each $key, $child in $child-map { + $parent-has-key: map-has-key($result, $key); + $parent-value: map-get($result, $key); + $parent-type: type-of($parent-value); + $child-type: type-of($child); + $parent-is-map: $parent-type == map; + $child-is-map: $child-type == map; + + @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ + $result: map-merge($result, ( $key: $child )); + }@else { + $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); + } + } + @return $result; +}; diff --git a/smart-app/src/uni_modules/uni-scss/theme.scss b/smart-app/src/uni_modules/uni-scss/theme.scss new file mode 100644 index 00000000..80ee62f7 --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/theme.scss @@ -0,0 +1,31 @@ +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; +// 主色 +$uni-primary: #2979ff; +// 辅助色 +$uni-success: #4cd964; +// 警告色 +$uni-warning: #f0ad4e; +// 错误色 +$uni-error: #dd524d; +// 描述色 +$uni-info: #909399; +// 中性色 +$uni-main-color: #303133; +$uni-base-color: #606266; +$uni-secondary-color: #909399; +$uni-extra-color: #C0C4CC; +// 背景色 +$uni-bg-color: #f5f5f5; +// 边框颜色 +$uni-border-1: #DCDFE6; +$uni-border-2: #E4E7ED; +$uni-border-3: #EBEEF5; +$uni-border-4: #F2F6FC; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); diff --git a/smart-app/src/uni_modules/uni-scss/variables.scss b/smart-app/src/uni_modules/uni-scss/variables.scss new file mode 100644 index 00000000..1c062d42 --- /dev/null +++ b/smart-app/src/uni_modules/uni-scss/variables.scss @@ -0,0 +1,62 @@ +@import './styles/setting/_variables.scss'; +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; + +// 主色 +$uni-primary: #2979ff; +$uni-primary-disable:mix(#fff,$uni-primary,50%); +$uni-primary-light: mix(#fff,$uni-primary,80%); + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37; +$uni-success-disable:mix(#fff,$uni-success,50%); +$uni-success-light: mix(#fff,$uni-success,80%); + +$uni-warning: #f3a73f; +$uni-warning-disable:mix(#fff,$uni-warning,50%); +$uni-warning-light: mix(#fff,$uni-warning,80%); + +$uni-error: #e43d33; +$uni-error-disable:mix(#fff,$uni-error,50%); +$uni-error-light: mix(#fff,$uni-error,80%); + +$uni-info: #8f939c; +$uni-info-disable:mix(#fff,$uni-info,50%); +$uni-info-light: mix(#fff,$uni-info,80%); + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a; // 主要文字 +$uni-base-color: #6a6a6a; // 常规文字 +$uni-secondary-color: #909399; // 次要文字 +$uni-extra-color: #c7c7c7; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0; +$uni-border-2: #EDEDED; +$uni-border-3: #DCDCDC; +$uni-border-4: #B9B9B9; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); + +// 背景色 +$uni-bg-color: #f7f7f7; + +/* 水平间距 */ +$uni-spacing-sm: 8px; +$uni-spacing-base: 15px; +$uni-spacing-lg: 30px; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5); +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2); +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5); + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4); diff --git a/smart-app/src/uni_modules/y-tabs/components/css/index.scss b/smart-app/src/uni_modules/y-tabs/components/css/index.scss new file mode 100644 index 00000000..579d60b2 --- /dev/null +++ b/smart-app/src/uni_modules/y-tabs/components/css/index.scss @@ -0,0 +1,464 @@ +.y-tabs { + position: relative; + display: block; + + // 标签栏垂直方位下的根容器样式 + &.is-vertical { + display: flex; + flex-wrap: nowrap; + flex-direction: row; + justify-content: flex-end; + flex: 1; + + // 垂直时标签栏scroll-view的子项垂直排列 + .y-tabs__scroll { + flex-direction: column; + } + } + + // 区域滚动下的滚动导航 + &.is-areaScroll.is-scrollNav { + display: flex; + height: 100vh; + flex-direction: column; + + // 标签栏不收缩 + .y-tabs__wrap { + flex-shrink: 0; + } + + .y-tabs__track, + .y-tabs__content-scrollview { + height: 100%; + } + } + + // 区域滚动下的侧边栏导航 + &.is-areaScroll.is-sidebarNav { + display: flex; + height: 100vh; + flex-direction: row; + + .y-tabs__scroll { + height: 100%; + } + + // 标签栏不收缩 + .y-tabs__wrap { + flex-shrink: 0; + } + + .y-tabs__track, + .y-tabs__content-scrollview { + height: 100%; + } + } +} + +// 依赖元素 +.y-tabs__depend { + position: absolute; + top: 0; + left: 0; + height: 1px; //必须保证有高度,否则observer无效 + width: 100%; +} + +// 透明标签栏所需的依赖元素 +.y-tabs__depend--transparent { + position: absolute; + top: 0; + left: 0; + height: 1px; //必须保证有高度,否则observer无效 + width: 1px; +} + +// 模拟标签栏吸顶时设置offset时距屏幕顶部的元素 +.y-tabs__depend--offset { + position: fixed; + top: 0; + left: 0; + z-index: -1; + height: 1px; +} + +// 标签栏占位元素 +.y-tabs__placeholder { + position: relative; +} + +// 标签垂直展示且吸顶时,标签栏占位元素不伸缩 +.y-tabs.is-fixed.is-vertical .y-tabs__placeholder { + flex-shrink: 0; +} + +// 文字省略 +.y-tabs__ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +// 导航区域包裹层 +.y-tabs__wrap { + position: relative; + display: flex; + align-items: center; + overflow: hidden; + visibility: visible; + background: #fff; + touch-action: none; + + // 标签栏垂直展示时包裹层样式 + &.is-vertical { + width: 100px; + display: flex; + flex-direction: column; + flex-shrink: 0; + } + + // 粘性定位布局下的导航区域包裹层 + &.is-fixed { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 99; + } + + // 标签垂直展示且吸顶时,给定bottom,否则scroll-view不会滚动 + &.is-fixed.is-vertical { + bottom: 0; + } + + // 透明的导航区域包裹层 + &.is-transparent { + background: rgba(255, 255, 255, 0); + } + + // 标签栏水平时按钮风格的包裹层 + &.is-button:not(.is-vertical), + &.is-line-button:not(.is-vertical) { + padding: 0 8px; + } +} + +// scroll-view组件样式 +.y-tabs__scroll { + position: relative; + width: 100%; + white-space: nowrap; // 使用横向滚动时,需要给添加white-space: nowrap;样式 + flex-direction: row; +} + +// 条件编译不放在样式中,vue3无效 + +// H5、APP端去滚动条 +// 小程序端会报:Some selectors are not allowed in component wxss, including tag name selectors, ID selectors, and attribute selectors. +/* #ifdef H5 || APP */ +.y-tabs__scroll ::-webkit-scrollbar { + display: none; + width: 0; + height: 0; + -webkit-appearance: none; + background: transparent; + color: transparent; +} +/* #endif */ + +// IOS 13 以下的系统,当滚动区域设置了-webkit-overflow-scrolling: touch;时(必须设置,否者几乎无法滚动),::-webkit-scrollbar 相关属性会失效,iOS 13 已经修复了此Bug。 +// 小程序端: 去除 scroll-view 组件的滚动条 +/* #ifndef H5 || APP */ +::-webkit-scrollbar { + display: none; + width: 0; + height: 0; + -webkit-appearance: none; + background: transparent; + color: transparent; +} +/* #endif */ + +// 导航区域 +.y-tabs__nav { + position: relative; + box-sizing: border-box; + user-select: none; + flex: 1; + display: flex; + + &.is-shrink{ + display: inline-flex; + } + + // 卡片风格 + &.is-card { + margin: 6px 16px; + border-radius: 4px; + box-sizing: border-box; + border: 1px solid #0022ab; + } + + // 标签栏垂直时导航区域样式 + &.is-vertical { + flex-direction: column; + height: auto; + + .y-tab { + flex: unset; + } + } + + // 标签左侧、右侧的补充区域 + &-left, + &-right { + position: relative; + display: inline-flex; + white-space: nowrap; + } +} + +// 导航标签 +.y-tab { + position: relative; + display: inline-flex; + align-items: center; + justify-content: center; + box-sizing: border-box; + height: 40px; + font-size: 28rpx; + color: #646566; + text-align: center; + padding: 0 4px; + flex: 1; + cursor: pointer; + // webkit的css扩展:1、-webkit-tap-highlight-color:这个属性是用于设定元素在移动设备(如Adnroid、iOS)上被触发点击事件时,响应的背景框的颜色。有事件监听的元素被点击的时候会被高亮显示,比如我的android上表现为一个蓝框加上半透明的背景 + -webkit-tap-highlight-color: transparent; + // transition-duration: 0.2s; + // transition-property: background; + flex-shrink: 0; + z-index: 2; + + // 选中状态 + &.is-active { + color: #323233; + font-weight: 500; + } + + // 禁用状态 + &.is-disabled { + color: #c8c9cc !important; + cursor: not-allowed; + } + + // 收缩布局 + &.is-shrink { + flex: none; + padding: 0 8px; + } + + //卡片风格 + &.is-card { + height: 28px; + line-height: 28px; + } +} + +// 标题区域 +.y-tab__title { + overflow: hidden; + display: flex; + align-items: center; + height: inherit; +} + +// 标题区域垂直排列 +.y-tab__title--top, +.y-tab__title--bottom { + flex-direction: column; +} + +// 标题文字 +.y-tab__text { + position: relative; + display: block; + line-height: 1.2; + order: 2; + white-space: nowrap; //字节会设置white-space:normal +} + +// 标签垂直展示时,未达到文字超出隐藏的条件时 +.y-tabs__nav.is-vertical .y-tab__text:not(.y-tabs__ellipsis) { + white-space: normal; +} + +// 使用order排序 +.y-tab__text--left, +.y-tab__text--top { + order: 0; +} + +// 标题图标/图片包裹层 +.y-tab__icons { + display: flex; + align-items: center; + order: 1; + z-index: 1; +} + +//标题图片 +.y-tab__image { + width: 20px; + height: 20px; +} + +// 右上角信息区域 +.y-tab__info { + display: inline-flex; + position: relative; + + &--dot, + &--badge { + display: inline-block; + position: absolute; + top: 0; + left: 0; + box-sizing: border-box; + background-color: #e53935; + transform-origin: 100%; + } + + // 小红点 + &--dot { + width: 6px; + height: 6px; + border-radius: 100%; + transform: translate(0%, -180%); + } + + // 徽标 + &--badge { + line-height: 13px; + min-width: 18px; + border-radius: 18px; + padding: 0 2px; + transform: translate(0%, -120%); + font-size: 18rpx; + font-weight: 500; + text-align: center; + color: #fff; + } +} + +// 底部条滑块 +.y-tabs__bar { + position: absolute; + display: inline-flex; + left: 0; + z-index: 1; + + width: 20px; + height: 3px; + border-radius: 3px; + background-color: #0022ab; + + // line风格的滑块 + &.is-line { + z-index: 2; //z-index与y-tab一样,避免被遮挡 + + // 标签水平展示时 + &:not(.is-vertical) { + bottom: 3px; + width: 20px; + height: 3px; + border-radius: 3px; + } + + // 标签垂直展示时 + &.is-vertical { + top: 0; + left: 3px; + width: 3px; + height: 20px; + border-radius: 3px; + } + } + + // button、line-button风格的滑块 + &.is-button, + &.is-line-button { + // top: 0; + justify-content: center; + align-items: center; + border-radius: 26px; + + // 标签水平展示时 + &:not(.is-vertical) { + height: calc(100% - 8px); + bottom: 4px; + } + + // 标签垂直展示时 + &.is-vertical { + width: calc(100% - 8px); + height: calc(100% - 8px); + } + } + + // 线性按钮风格的滑块 + &.is-line-button { + background-color: transparent; + border: 2rpx solid transparent; + } +} + +// 标签内容 +.y-tabs__content { + display: block; + position: relative; + overflow: hidden; //会导致uni-data-select无法撑开显示下拉选项,最好给pane中的内容设置一个高度(如果包裹select的父元素都没有设置relative,则不会裁剪absolute属性的元素) + // 标签栏垂直展示,内容减去标签栏默认宽度 + &.is-vertical { + width: 100%; + } +} +// 标签内容的滑动轨道容器 +.y-tabs__track { + position: relative; + display: flex; + width: 100%; + will-change: left; + + // 滚动导航模式下内容卡片垂直排列 + &.is-scrollspy { + flex-direction: column; + } +} + +// 标签内容卡片 +.y-tab__pane { + flex-shrink: 0; + box-sizing: border-box; + width: 100%; + height: 0; + position: relative; + flex-direction: row; + display: block; + visibility: visible; + + // 选中时 + &.is-active { + height: auto; + } + // 滚动导航 + &.is-scrollspy { + height: auto; + } +} +.y-tab__pane--wrap { + position: relative; +} +// 区域滚动下的标签内容scroll-view +.y-tabs__content-scrollview { + flex-direction: column; +} diff --git a/smart-app/src/uni_modules/y-tabs/components/js/const.js b/smart-app/src/uni_modules/y-tabs/components/js/const.js new file mode 100644 index 00000000..854d8faf --- /dev/null +++ b/smart-app/src/uni_modules/y-tabs/components/js/const.js @@ -0,0 +1,194 @@ +// styleIsolation:组件样式隔离方式,具体配置选项参见:微信小程序自定义组件的样式 +// 自定义组件 JSON 中的 styleIsolation 选项从基础库版本 2.10.1 开始支持。它支持以下取值: +// isolated 表示启用样式隔离,在自定义组件内外,使用 class 指定的样式将不会相互影响(一般情况下的默认值); +// apply-shared 表示页面 wxss 样式将影响到自定义组件,但自定义组件 wxss 中指定的样式不会影响页面; +// shared 表示页面 wxss 样式将影响到自定义组件,自定义组件 wxss 中指定的样式也会影响页面和其他设置了 apply-shared 或 shared 的自定义组件。(这个选项在插件中不可用。) + +const options = { + styleIsolation: 'shared', + virtualHost: true // [微信小程序、支付宝小程序(默认值为 true)] 将自定义节点设置成虚拟的,更加接近Vue组件的表现。我们不希望自定义组件的这个节点本身可以设置样式、响应 flex 布局等,而是希望自定义组件内部的第一层节点能够响应 flex 布局或者样式由自定义组件本身完全决定 + // 微信(可以使用virtualHost配置)/QQ/百度/字节跳动这四家小程序,自定义组件在渲染时会比App/H5端多一级节点,导致flex无效,是否考虑在组件上增加class控制 +} + + + +const emits = [ + "input", + 'update:modelValue', // 更新v-model绑定的变量 + 'click', //点击标签时触发 回调参数:name:标识符,title:标题 + 'change', //当前激活的标签改变时触发 回调参数:name:标识符,title:标题 + 'disabled', //点击被禁用的标签时触发 回调参数:name:标识符,title:标题 + 'rendered', //标签内容首次渲染时触发(仅在开启延迟渲染后触发) 回调参数:name:标识符,title:标题 + 'sticky-change', //吸顶时触发,仅在 sticky 模式下生效 回调参数:name:标识符,title:标题 + 'loaded', //组件内部初始化完成后调用 回调参数:{ isFixed: 是否吸顶 } + 'slide-change', //内容页滑动时触发(仅barAnimateMode为linear、worm、worm-ease时有效) 回调参数:{ dx:滑动距离; rate:当前滑动长度占滑动区域的比例;targetIndex:目标下标;} + 'slide-end' //内容页滑动结束时触发(仅barAnimateMode为linear、worm、worm-ease时有效) 回调参数:{ targetIndex:目标下标;} +]; + +const props = { + // v-model绑定属性,绑定当前选中标签的标识符(标签的下标) + value: { + type: [Number, String], + default: 0, + }, + modelValue: { + type: [Number, String], + default: 0, + }, + // 样式风格类型,可选值为 text、card、button、line-button + type: { + type: String, + default: "line", + validator(value) { + return ['line', 'text', 'card', 'button', 'line-button'].includes(value) + } + }, + color: { + type: [String, null], + default: "#0022AB" + }, //标签主题色, 默认值为"#0022AB" + background: { + type: [String, null], + // default: "#fff" + }, //标签栏背景色,默认值为"#fff" + // 标签栏样式 + wrapStyle: { + type: [Object, null], + default: () => {} + }, + // 标签栏的展示方位,可选值:vertical。 + direction: { + type: String, + default: "horizontal", + validator(value) { + return ['horizontal', 'vertical'].includes(value) + } + }, + titleActiveColor: String, //标题选中态颜色 + titleInactiveColor: String, //标题默认态颜色 + // 是否开启左侧收缩布局,开启后,所有的标签会向左侧收缩对齐。 + shrink: { + type: Boolean, + default: false + }, + + // 动画时间,单位秒,默认为0.3s。仅支持type为line、button、line-button的滑块切换动画,切换标签内容时的转场动画、滚动导航下的内容定位动画。 + duration: { + type: [Number, String], + default: 0.2, + }, + // 滑块宽度,默认单位为px, 支持数字、rpx、vh、vw等单位及calc() 函数。 仅支持type为line、button、line-button。 + // 标签栏水平/垂直展示时,type为line,宽度默认为20px/3px, 而type为button、line-button时,宽度默认为选中标签宽度-8px。 + barWidth: [Number, String], //inherit:继承tab的宽高 + // 滑块高度,默认单位为px, 支持数字、rpx、vh、vw等单位及calc() 函数。 仅支持type为line、button、line-button。 + // 标签栏水平/垂直展示时,type为line,高度默认为3px/20px, 而type为button、line-button时,宽度默认为选中标签高度-8px。 + barHeight: [Number, String], + //滑块样式,仅支持type为line、button、line-button。 + barStyle: Object, + // 滑动切换tab内容时滑块的动画模式,默认值为line,即切换tab时滑块宽度保持不变,线性运动。可选值为worm(毛毛虫效果)、worm-ease(毛毛虫缓动)、none(不设置)。 + // 可结合swiper组件使用,滑动效果更好。 + // 仅支持type为line。 + barAnimateMode: { + type: String, + default: "linear", + validator(value) { + return ['none', 'linear', 'worm', 'worm-ease'].includes(value); + } + }, + // 标签宽高是否动态变化 + // 表示标签切换了选中状态后宽高是否有变化,有则需要开启该属性,否则会导致滑块错位 + isDynamic: { + type: Boolean, + default: false, + }, + // 是否省略过长的标题文字。标签栏水平展示时,如果标签数量未超过滚动阈值则生效,垂直展示不限制。 + ellipsis: { + type: Boolean, + default: true, + }, + // 滚动阈值,标签数量超过阈值且总宽度超过标签栏宽度时开始横向滚动 + scrollThreshold: { + type: [Number, String], + default: 5 + }, + // 标签栏滚动时当前标签居中 + scrollToCenter: { + type: Boolean, + default: true, + }, + // 切换标签前的回调函数,返回 false 可阻止切换,支持返回 Promise + beforeChange: Function, + // 是否开启延迟渲染(首次切换到标签时才触发内容渲染) + isLazyRender: Boolean, + // 是否开启切换动画 + // 用于标签栏滚动动画、切换标签内容时的转场动画、滚动导航下的内容定位动画 + animated: { + type: Boolean, + default: true + }, + // 在滚动导航模式下,滚动到最后一个标签内容但其顶部未超过可视区域时,是否激活对应的标签项 + activeLast: { + type: Boolean, + default: false, + }, + // ---------------------------------- 用于内容区域左右滑动的配置 ---------------------------------------- + // 是否开启手势滑动切换 + swipeable: { + type: Boolean, + default: false, + }, + // 是否开启标签内容滑动时的拖动动画 + // swipeable为true时有效,建议设置is-lazy-render=false。(该属性开启时考虑给包裹内容的容器增加一个min-height,因为其他未显示的标签内容会沿用当前显示的高度,拖动切换后由于高度不一致会有回弹) + swipeAnimated: { + type: Boolean, + default: true, + }, + // 滑动切换的滑动距离阈值,单位为px;表示开启手势滑动时,横向滑动多少px切换标签内容(快速滑动时不受限制) + swipeThreshold: { + type: [Number, String], + default: 120, + }, + // ---------------------------------- 用于滚动吸顶的配置 ---------------------------------------- + // 是否使用粘性定位布局进行滚动吸顶 + sticky: Boolean, + // 粘性布局下与顶部的最小距离,单位为px + offsetTop: { + type: Number, + default: 0 + }, + // 粘性布局下标签栏的z-index值 + zIndex: { + type: Number, + default: 99 + }, + // 粘性布局的判断阈值:表示在页面滚动过程中,标签栏距屏幕顶部多少px时,触发吸顶函数进行吸顶判断 + stickyThreshold: { + type: Number, + default: 0 + }, + // 页面滚动过程中,标题栏背景色是否透明渐变 + // background属性值必须为rgba格式 + transparent: { + type: Boolean, + default: false + }, + // 标题栏背景色透明渐变的滚动距离 + transparentOffset: { + type: Number, + default: 100 + }, + // 是否开启滚动导航;该模式下,内容将会平铺展示 + // 如果标签栏垂直展示,且内容平铺展示,就为侧边栏模式 + scrollspy: Boolean, + // 滚动导航模式下,内容区域是否跟随页面滚动 + // 为true时,整体区域跟随页面而滚动,为false时,内容区域是放在scroll-view中实现的局部滚动 + pageScroll: { + type: Boolean, + default: true + }, +} +export { + options, + emits, + props, +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/y-tabs/components/js/touchMixin.js b/smart-app/src/uni_modules/y-tabs/components/js/touchMixin.js new file mode 100644 index 00000000..997972a8 --- /dev/null +++ b/smart-app/src/uni_modules/y-tabs/components/js/touchMixin.js @@ -0,0 +1,75 @@ +import { getDirection, now } from "./uitls" + +export const touchMixin = { + data() { + return { + direction: '', //滑动方向 + startX: '', //开始滑动的x坐标 + startY: '', //开始滑动的y坐标 + nextIndex: -1, //下一个切换的标签下标 + moved: false, //是否为一次水平滑动 + startTimestamp: 0, + }; + }, + methods: { + touchStart(event) { + if (!this.parent.swipeable) return; + this.resetTouchStatus(); + this.startX = event.touches[0].clientX; + this.startY = event.touches[0].clientY; + this.startTimestamp = now(); + }, + touchMove(event) { + if (!this.parent.swipeable) return; + const touch = event.touches[0]; + this.deltaX = touch.clientX < 0 ? 0 : this.startX - touch.clientX; + this.deltaY = this.startY - touch.clientY; + const offsetX = Math.abs(this.deltaX); + const offsetY = Math.abs(this.deltaY); + // 当距离大于某个值时锁定方向 + if (!this.direction || (offsetX < 10 && offsetY < 10)) this.direction = getDirection(offsetX, offsetY); + + if (this.direction === "horizontal") { //水平滑动 + const { dataLen, contentWidth, currentIndex, tabs, swipeAnimated } = this.parent; + const isRight = this.deltaX < 0; //判断是否向右滑动 + + // 如果为第一页,则不允许向右滑;为最后一页,则不允许左滑 + if ((isRight && currentIndex === 0) || (!isRight && currentIndex === dataLen - 1)) return; + + this.nextIndex = currentIndex + (isRight ? -1 : 1); //下一个标签 + if (tabs[this.nextIndex]?.disabled) return; //禁用的标签不允许滑动 + + this.moved = true; //标记为一次水平滑动 + + // 改变标签内容滑动轨道样式,模拟拖动动画效果 + if (swipeAnimated) { + const offsetWidth = contentWidth * currentIndex * -1 + offsetX * (isRight ? 1 : -1); + this.parent.changeTrackStyle(true, 0, offsetWidth); + this.parent.setDx(this.deltaX, false); + } + } + }, + touchEnd() { + if (this.moved) { + // 何时可切换标签,当横向滑动距离大于设定阈值,或快速滑动(300ms内)切滑动距离大于18px时 + const deltaTime = now() - this.startTimestamp; + const distance = Math.abs(this.deltaX); + const speed = (distance / deltaTime).toFixed(4); + const isChange = speed > 0.25 || distance >= this.parent.swipeThreshold;//是否切换 + const currIndex = this.parent.currentIndex; //当前选中下标 + const targetIndex = isChange ? this.nextIndex : currIndex; //目标标签的下标 + this.parent.touchEndForPane(this.deltaX, currIndex, targetIndex, isChange); + + } + }, + // 重置触摸状态 + resetTouchStatus() { + this.direction = ''; + this.deltaX = 0; + this.deltaY = 0; + this.nextIndex = -1; + this.moved = false; + this.startTimestamp = 0; + }, + } +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/y-tabs/components/js/uitls.js b/smart-app/src/uni_modules/y-tabs/components/js/uitls.js new file mode 100644 index 00000000..ee840896 --- /dev/null +++ b/smart-app/src/uni_modules/y-tabs/components/js/uitls.js @@ -0,0 +1,177 @@ +/** + * 判断传入的值是否为空 + * @param {*} val + * @returns + */ +export function isNull(val) { + if (typeof val == "boolean") { + return false; + } + if (typeof val == "number") { + return false; + } + if (val instanceof Array) { + if (val.length == 0) return true; + } else if (val instanceof Object) { + if (JSON.stringify(val) === "{}") return true; + } else { + if ( + val == "null" || + val == null || + val == "undefined" || + val == undefined || + val == "" + ) + return true; + return false; + } + return false; +} + +// 不为空 +export function isDef(val) { + return val !== undefined && val !== null; +} + +// 是否是一个数字 +export function isNumeric(val) { + return /^\d+(\.\d+)?$/.test(val); +} + +// 是一个对象 +export function isObject(val) { + return val !== null && typeof val === 'object'; +} +// 是一个字符串 +export function isString(val) { + return Object.prototype.toString.call(val) === "[object String]" +} + +// 空操作 +export function noop() {} + +// 是一个函数 +export function isFunction(val) { + return typeof val === 'function'; +} + +// 是一个promise对象 +export function isPromise(val) { + return isObject(val) && isFunction(val.then) && isFunction(val.catch); +} + + + +// 添加单位 +export function addUnit(value) { + if (!isDef(value)) { + return undefined; + } + + value = String(value); + return isNumeric(value) ? `${value}px` : value; +} + +// 调用拦截器 +export function callInterceptor(options) { + const { + interceptor, + args, + done + } = options; + + if (interceptor) { + const returnVal = interceptor(...args); + if (isPromise(returnVal)) { + returnVal.then((value) => { + if (value) done(); + }).catch(noop); + } else if (returnVal) { + done(); + } + } else { + done(); + } +} + +const rgbaRegex = /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)$/; +export const getColor = function(colorStr) { + const matches = colorStr.match(rgbaRegex); + if (matches && matches.length === 5) { + return [ + matches[1], + matches[2], + matches[3], + matches[4] + ]; + } + return []; +}; + +export function toClass(classObj, ...classArray) { + const arr = Object.keys(classObj || {}).filter(key => classObj[key]) + arr.push(...classArray) + return arr.join(" ") +} + + +// 判断是水平滑动还是垂直滑动 +export function getDirection(x, y) { + if (x > y) return 'horizontal'; + if (y > x) return 'vertical'; + return ''; +} + + + +// 缓动函数 +function easingFunction(time, duration, type = "linear") { + let pos = time / duration; + let value = 0; + switch (type) { + case "easeOutCubic": + value = (Math.pow((pos - 1), 3) + 1) + break; + case "easeInOutCubic": + if ((pos /= 0.5) < 1) value = 0.5 * Math.pow(pos, 3); + else value = 0.5 * (Math.pow((pos - 2), 3) + 2); + break; + default: //linear + value = pos; + break; + } + return value; +} + +/** + * 进度函数 + * @param {Object} time 当前已经运动的时间 + * @param {Object} begin 距离的初始值 + * @param {Object} end 距离的结束值 + * @param {Object} duration 运动时长 + */ +export function progress(time, begin, end, duration, type) { + return begin + (end - begin) * easingFunction(time, duration, type); +} + + +let uid = 0; +export function getUid() { + return uid++ +} + + +const hasOwnProperty = Object.prototype.hasOwnProperty +/** + * 检查对象是否具有该属性 + * @param {*} obj 对象 + * @param {*} key 对象属性名 + * @returns + */ +export function hasOwn(obj, key) { + return hasOwnProperty.call(obj, key) +} + +export const now = Date.now || function() { + return +new Date(); +}; \ No newline at end of file diff --git a/smart-app/src/uni_modules/y-tabs/components/js/utilMixin.js b/smart-app/src/uni_modules/y-tabs/components/js/utilMixin.js new file mode 100644 index 00000000..8654bea0 --- /dev/null +++ b/smart-app/src/uni_modules/y-tabs/components/js/utilMixin.js @@ -0,0 +1,8 @@ + +export const utilMixin = function() { + return { + methods: { + + }, + } +} \ No newline at end of file diff --git a/smart-app/src/uni_modules/y-tabs/components/y-tab/y-tab.vue b/smart-app/src/uni_modules/y-tabs/components/y-tab/y-tab.vue new file mode 100644 index 00000000..5a6a82af --- /dev/null +++ b/smart-app/src/uni_modules/y-tabs/components/y-tab/y-tab.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/smart-app/src/uni_modules/y-tabs/components/y-tabs/y-tabs.vue b/smart-app/src/uni_modules/y-tabs/components/y-tabs/y-tabs.vue new file mode 100644 index 00000000..121f9731 --- /dev/null +++ b/smart-app/src/uni_modules/y-tabs/components/y-tabs/y-tabs.vue @@ -0,0 +1,1363 @@ + + + diff --git a/smart-app/src/utils/str-util.js b/smart-app/src/utils/str-util.js new file mode 100644 index 00000000..6d4b59ba --- /dev/null +++ b/smart-app/src/utils/str-util.js @@ -0,0 +1,46 @@ +/* + * 字符串 相关操作 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-06 20:58:49 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ + +/** + * 转为 小写中划线 + */ +export function convertLowerHyphen(str) { + if (!str) { + return ''; + } + + return str + .replace(/([A-Z])/g, '-$1') + .toLowerCase() + .substring(1); +} +/** + * 转为驼峰 + */ +export function convertUpperCamel(str) { + if (!str) { + return ''; + } + + str = str.replace(/_(\w)/g, (_, letter) => letter.toUpperCase()); + // 首字母大写 + return str[0].toUpperCase() + str.substring(1); +} + +/** + * 转为驼峰 + */ +export function convertLowerCamel(str) { + if (!str) { + return ''; + } + + return str.replace(/_(\w)/g, (_, letter) => letter.toUpperCase()); +} diff --git a/smart-app/vite.config.js b/smart-app/vite.config.js new file mode 100644 index 00000000..63ae5761 --- /dev/null +++ b/smart-app/vite.config.js @@ -0,0 +1,37 @@ +import { resolve } from 'path'; +import { defineConfig } from 'vite' +import uni from '@dcloudio/vite-plugin-uni' + +const pathResolve = (dir) => { + return resolve(__dirname, '.', dir); +}; + +export default defineConfig({ + transpileDependencies:['@dcloudio/uni-ui'], + plugins: [ + uni(), + ], + root: process.cwd(), + resolve: { + alias: [ + // 绝对路径重命名:/@/xxxx => src/xxxx + { + find: /\/@\//, + replacement: pathResolve('src') + '/', + }, + { + find: /^~/, + replacement: '', + }, + ], + }, + // 发布时删除console + build: { + minify: 'terser', + terserOptions: { + compress: { + drop_console: true, + }, + }, + }, +})