From e24ad828fb84135a0a71bbf48617f662fa6154f8 Mon Sep 17 00:00:00 2001 From: yangchunlong <292345300@qq.com> Date: Fri, 9 May 2025 17:08:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=93=AD=E5=93=81ops=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 6 + .env.demo | 8 + .env.development | 24 + .env.production | 15 + .env.test | 6 + .gitignore | 136 +- .vscode/extensions.json | 3 + README.md | 8 +- index.html | 69 + package-lock.json | 15629 ++++++++++++++++ package.json | 65 + public/vite.svg | 1 + src/App.vue | 70 + src/assets/404.png | Bin 0 -> 7286 bytes src/assets/check@3x.png | Bin 0 -> 742 bytes src/assets/delete.png | Bin 0 -> 223 bytes src/assets/down.png | Bin 0 -> 2391 bytes src/assets/down1.png | Bin 0 -> 504 bytes src/assets/dw.png | Bin 0 -> 406 bytes src/assets/edit.png | Bin 0 -> 227 bytes src/assets/equal.png | Bin 0 -> 2000 bytes src/assets/equal1.png | Bin 0 -> 323 bytes src/assets/error.png | Bin 0 -> 4015 bytes src/assets/flow@3x.png | Bin 0 -> 600 bytes src/assets/font/demo.css | 539 + src/assets/font/demo_index.html | 1384 ++ src/assets/font/iconfont.css | 225 + src/assets/font/iconfont.js | 1 + src/assets/font/iconfont.json | 373 + src/assets/font/iconfont.ttf | Bin 0 -> 12516 bytes src/assets/font/iconfont.woff | Bin 0 -> 6324 bytes src/assets/font/iconfont.woff2 | Bin 0 -> 5152 bytes src/assets/gou@3x.png | Bin 0 -> 384 bytes src/assets/ico-quesheng.png | Bin 0 -> 5061 bytes src/assets/log_down.png | Bin 0 -> 266 bytes src/assets/logo.png | Bin 0 -> 933 bytes src/assets/nocheck@3x.png | Bin 0 -> 1244 bytes src/assets/refresh.png | Bin 0 -> 295 bytes src/assets/refresh1.png | Bin 0 -> 228 bytes src/assets/reviewed_ico.png | Bin 0 -> 50690 bytes src/assets/rise.png | Bin 0 -> 2613 bytes src/assets/rise1.png | Bin 0 -> 371 bytes src/assets/serch.png | Bin 0 -> 291 bytes src/assets/style/211/play.scss | 42 + src/assets/style/211/playCom.scss | 37 + src/assets/style/211/saleindex.scss | 48 + src/assets/style/211/semiProdut.scss | 82 + src/assets/style/activeDirect.scss | 33 + src/assets/style/global.scss | 464 + src/assets/style/index.scss | 198 + src/assets/style/index1.scss | 378 + src/assets/style/materialBom/bom.scss | 74 + src/assets/style/purchase/common.scss | 54 + src/assets/style/purchase/createOrgNeeds.scss | 355 + src/assets/style/purchase/createPurchase.scss | 371 + src/assets/style/purchase/orgNeedsList.scss | 60 + src/assets/style/purchase/purchaseCommon.scss | 1169 ++ .../style/purchase/purchaseDetails.scss | 299 + src/assets/style/purchase/purchaseList.scss | 71 + src/assets/style/saleOrder/common.scss | 142 + .../style/saleOrder/createReturnOrder.scss | 363 + src/assets/style/saleOrder/issueDetails.scss | 363 + src/assets/style/saleOrder/orderCreate.scss | 357 + src/assets/style/saleOrder/orderDetails.scss | 303 + src/assets/style/saleOrder/orderList.scss | 95 + src/assets/style/saleOrder/returnOrder.scss | 83 + .../style/saleOrder/saleOrderCommon.scss | 1309 ++ src/assets/style/saleOrder/stepByStepCom.scss | 60 + src/assets/up@3x.png | Bin 0 -> 311 bytes src/assets/vue.svg | 1 + src/assets/wrong@3x.png | Bin 0 -> 408 bytes src/assets/wuliao.png | Bin 0 -> 478 bytes src/components/Btns/index.vue | 64 + src/components/HelloWorld.vue | 40 + src/components/examineTop/index.scss | 106 + src/components/examineTop/index.vue | 177 + src/components/index.js | 20 + src/components/layout/index.vue | 133 + src/components/layout/libs/index.js | 5 + .../layout/libs/layout-aside/index.vue | 75 + .../layout/libs/layout-aside/menu.vue | 75 + .../layout/libs/layout-aside/submenu.vue | 111 + .../layout/libs/layout-footer/index.vue | 6 + .../layout/libs/layout-header/index.vue | 284 + .../layout/libs/layout-header/labels.vue | 398 + src/components/public/CustomCondition.vue | 330 + src/components/public/DetailsOperation.vue | 166 + src/components/public/DownPdf.vue | 239 + src/components/public/InputMini.vue | 68 + src/components/public/PrintModel.vue | 485 + src/components/public/operaRecorde.vue | 111 + src/components/public/printviews/prtMoled.vue | 2768 +++ .../public/printviews/prtMoledop.vue | 849 + src/components/public/toolBtn/toolBtn.scss | 356 + src/components/public/toolBtn/toolBtn.vue | 574 + src/main.js | 95 + src/router/index.js | 54 + src/router/permission.js | 102 + src/settings.js | 120 + src/store/index.js | 22 + src/store/modules/examine.js | 66 + src/store/modules/leftAside.js | 28 + src/store/modules/org.js | 107 + src/store/modules/routes.js | 120 + src/store/modules/storeData.js | 544 + src/store/modules/topNavTag.js | 184 + src/store/modules/user.js | 85 + src/style.css | 90 + src/utils/LodopFuncs.js | 177 + src/utils/api.js | 30 + src/utils/auth.js | 17 + src/utils/commonData.js | 8 + src/utils/count.js | 1336 ++ src/utils/examine.js | 0 src/utils/htmlToPdf.js | 69 + src/utils/lodash/formatDate.js | 25 + src/utils/lodash/msg.js | 9 + src/utils/print.js | 170 + src/utils/printPagekey.js | 1406 ++ src/utils/pubulic.js | 1129 ++ src/utils/request.js | 234 + src/utils/takeMethods.js | 2111 +++ src/utils/util.js | 112 + src/utils/validate.js | 157 + src/utils/variable.js | 1180 ++ src/vendor/Blob.js | 176 + src/vendor/Export2Excel.js | 214 + src/vendor/Export2Zip.js | 25 + src/views/211/211sale/saleindex.vue | 1374 ++ src/views/211/supply/completeSet.vue | 13 + src/views/211/supply/play.vue | 1280 ++ src/views/211/supply/semiProdut-copy-2.vue | 1726 ++ src/views/211/supply/semiProdut.vue | 1913 ++ .../outsourcMange/OutSourcMaterial.vue | 1832 ++ .../outsourcMange/outSourcFeedOrder.vue | 1173 ++ .../outsourcMange/outSourcFeedSet.vue | 2304 +++ .../Outsourc/outsourcMange/outSourcOrder.vue | 1623 ++ .../outsourcMange/outSourcOrderSet.vue | 3410 ++++ .../outsourcMange/outSourcPickOrder.vue | 1188 ++ .../outsourcMange/outSourcPickSet.vue | 2338 +++ .../outsourcMange/outSourcRetrunOrder.vue | 1196 ++ .../outsourcMange/outSourcReturnSet.vue | 2235 +++ .../barCode/productCode/barcodePrint.vue | 650 + .../barCode/productCode/barcodeQuery.vue | 360 + src/views/demo/components/Table/index.vue | 124 + src/views/demo/constant/index.js | 34 + src/views/demo/index.vue | 94 + src/views/demo/list.vue | 71 + src/views/examine/components/Result/index.vue | 107 + src/views/examine/components/Search/index.vue | 229 + src/views/examine/components/Table/index.vue | 142 + .../examine/components/Timeline/index.scss | 320 + .../examine/components/Timeline/index.vue | 238 + .../components/Timeline/timeLineStatus.vue | 301 + src/views/examine/constant/index.js | 534 + src/views/examine/index.scss | 344 + src/views/examine/index.vue | 0 .../examine/mange/ApplicableScope/index.vue | 173 + .../examine/mange/Method/OtherDepartments.vue | 52 + .../examine/mange/Method/directlyUnder.vue | 17 + src/views/examine/mange/Method/index.vue | 211 + src/views/examine/mange/Method/member.vue | 117 + .../examine/mange/Method/methodHeader.vue | 45 + src/views/examine/mange/Method/radio.vue | 53 + src/views/examine/mange/Method/role.vue | 75 + .../examine/mange/SetConditions/index.vue | 39 + .../examine/mange/StatusDialog/index.vue | 62 + src/views/examine/mange/examineAdd.vue | 591 + src/views/examine/mange/examineFollow.vue | 311 + src/views/examine/mange/examineList.vue | 263 + src/views/examine/mange/test.vue | 932 + src/views/examine/mange/test1.vue | 810 + src/views/examine/utils/addData.js | 44 + src/views/examine/utils/commitHttpData.js | 180 + src/views/examine/utils/deleteData.js | 50 + src/views/examine/utils/detailsDataInit.js | 156 + src/views/examine/utils/dialogCommitData.js | 149 + src/views/examine/utils/index.js | 14 + src/views/examine/utils/init.js | 0 src/views/examine/utils/rigthBtnDataInit.js | 70 + src/views/export/exportMange/exportlist.vue | 259 + src/views/index/index-old.vue | 284 + src/views/index/index.vue | 2640 +++ src/views/login/index.vue | 192 + src/views/material/mateBom/bomJust.vue | 355 + .../material/mateBom/classification-copy.vue | 277 + src/views/material/mateBom/classification.vue | 429 + .../material/mateBom/classificationSet.vue | 485 + src/views/material/mateBom/mateBomIndex.vue | 1294 ++ src/views/material/mateBom/mateBomSet.vue | 2867 +++ src/views/material/mateBom/mateList.vue | 1471 ++ src/views/material/mateBom/materialSet.vue | 4131 ++++ .../production/productMange/pickOrderSet.vue | 2456 +++ .../production/productMange/pickingOrder.vue | 1247 ++ .../production/productMange/productOrder.vue | 1687 ++ .../productMange/productOrderSet.vue | 3528 ++++ .../productMange/replenishmentOrder.vue | 1184 ++ .../productMange/replenishmentOrderSet.vue | 2415 +++ .../productMange/returnMaterialOrder.vue | 1247 ++ .../productMange/returnMaterialOrderSet.vue | 2377 +++ .../productMange/useMaterialSet.vue | 1914 ++ .../production/productMange/warehouOrder.vue | 1264 ++ .../productMange/warehouOrderSet.vue | 2295 +++ src/views/public/404.vue | 29 + src/views/purchase/demand/createOrgNeeds.vue | 2321 +++ src/views/purchase/demand/createPurchase.vue | 5437 ++++++ src/views/purchase/demand/demandOrder.vue | 1996 ++ src/views/purchase/demand/orgNeeds.vue | 1953 ++ src/views/report/reportindx.vue | 13 + .../sale/salemange/createReturnOrder.vue | 4037 ++++ src/views/sale/salemange/order.vue | 2087 +++ src/views/sale/salemange/orderCreate.vue | 4613 +++++ src/views/sale/salemange/returnOrder.vue | 1561 ++ src/views/setup/basic/company.vue | 13 + src/views/setup/basic/condition.vue | 13 + src/views/setup/basic/currency.vue | 13 + src/views/setup/basic/mode.vue | 13 + src/views/setup/basic/taxRate.vue | 13 + src/views/setup/org/department.vue | 13 + src/views/setup/org/organ.vue | 13 + src/views/setup/org/position.vue | 13 + src/views/setup/org/staff.vue | 13 + src/views/setup/org/warehouse.vue | 13 + src/views/setup/word/customer.vue | 13 + src/views/setup/word/supplier.vue | 13 + .../supplier/coordination/InventoryManage.vue | 654 + .../supplier/coordination/accountOrder.vue | 308 + .../supplier/coordination/addaccountOrder.vue | 608 + src/views/supplier/coordination/codePrint.vue | 917 + .../supplier/coordination/preparaMaterial.vue | 680 + .../coordination/purchaseOrderMange.vue | 814 + src/views/supplier/coordination/sendOrder.vue | 382 + .../supplier/coordination/sendOrderNtice.vue | 601 + src/views/supplier/coordination/warehouse.vue | 490 + .../warehouse/allocation/activeDirect.vue | 3038 +++ .../warehouse/allocation/activeEntryOrder.vue | 2804 +++ .../warehouse/allocation/activeIssue.vue | 3818 ++++ src/views/warehouse/allocation/direct.vue | 1238 ++ src/views/warehouse/allocation/entryorder.vue | 1385 ++ src/views/warehouse/allocation/issue.vue | 1581 ++ src/views/warehouse/other/assemblyOrder.vue | 761 + .../warehouse/other/assemblyOrderSet.vue | 2564 +++ .../warehouse/other/disassembleOrder.vue | 470 + .../warehouse/other/disassembleOrderSet.vue | 2540 +++ .../warehouse/other/inventorySheetOrder.vue | 747 + .../warehouse/other/inventorySheetSet.vue | 2040 ++ src/views/warehouse/other/otherWarehouse.vue | 467 + .../warehouse/other/otherWarehouseSet.vue | 1982 ++ src/views/warehouse/other/outSheetOrder.vue | 758 + src/views/warehouse/other/outSheetSet.vue | 2037 ++ .../warehouse/purchase/activeReturnOrder.vue | 4333 +++++ .../warehouse/purchase/activeWareHouse.vue | 3834 ++++ src/views/warehouse/purchase/returnOrder.vue | 1642 ++ src/views/warehouse/purchase/warehouse.vue | 1669 ++ src/views/warehouse/query/issueDetails.vue | 503 + .../warehouse/query/timelyInventorydetail.vue | 664 + .../query/timelyInventorysummary.vue | 457 + .../warehouse/salesDelivery/exWarehouse.vue | 1482 ++ .../salesDelivery/exWarehouseSet.vue | 3019 +++ src/views/warehouse/salesDelivery/notice.vue | 1528 ++ .../warehouse/salesDelivery/noticeSet.vue | 3232 ++++ src/views/warehouse/stock/analysis.vue | 11 + src/views/warehouse/stock/detail.vue | 11 + src/views/warehouse/stock/material.vue | 11 + vite.config.js | 42 + 265 files changed, 191082 insertions(+), 123 deletions(-) create mode 100644 .env create mode 100644 .env.demo create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .env.test create mode 100644 .vscode/extensions.json create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/vite.svg create mode 100644 src/App.vue create mode 100644 src/assets/404.png create mode 100644 src/assets/check@3x.png create mode 100644 src/assets/delete.png create mode 100644 src/assets/down.png create mode 100644 src/assets/down1.png create mode 100644 src/assets/dw.png create mode 100644 src/assets/edit.png create mode 100644 src/assets/equal.png create mode 100644 src/assets/equal1.png create mode 100644 src/assets/error.png create mode 100644 src/assets/flow@3x.png create mode 100644 src/assets/font/demo.css create mode 100644 src/assets/font/demo_index.html create mode 100644 src/assets/font/iconfont.css create mode 100644 src/assets/font/iconfont.js create mode 100644 src/assets/font/iconfont.json create mode 100644 src/assets/font/iconfont.ttf create mode 100644 src/assets/font/iconfont.woff create mode 100644 src/assets/font/iconfont.woff2 create mode 100644 src/assets/gou@3x.png create mode 100644 src/assets/ico-quesheng.png create mode 100644 src/assets/log_down.png create mode 100644 src/assets/logo.png create mode 100644 src/assets/nocheck@3x.png create mode 100644 src/assets/refresh.png create mode 100644 src/assets/refresh1.png create mode 100644 src/assets/reviewed_ico.png create mode 100644 src/assets/rise.png create mode 100644 src/assets/rise1.png create mode 100644 src/assets/serch.png create mode 100644 src/assets/style/211/play.scss create mode 100644 src/assets/style/211/playCom.scss create mode 100644 src/assets/style/211/saleindex.scss create mode 100644 src/assets/style/211/semiProdut.scss create mode 100644 src/assets/style/activeDirect.scss create mode 100644 src/assets/style/global.scss create mode 100644 src/assets/style/index.scss create mode 100644 src/assets/style/index1.scss create mode 100644 src/assets/style/materialBom/bom.scss create mode 100644 src/assets/style/purchase/common.scss create mode 100644 src/assets/style/purchase/createOrgNeeds.scss create mode 100644 src/assets/style/purchase/createPurchase.scss create mode 100644 src/assets/style/purchase/orgNeedsList.scss create mode 100644 src/assets/style/purchase/purchaseCommon.scss create mode 100644 src/assets/style/purchase/purchaseDetails.scss create mode 100644 src/assets/style/purchase/purchaseList.scss create mode 100644 src/assets/style/saleOrder/common.scss create mode 100644 src/assets/style/saleOrder/createReturnOrder.scss create mode 100644 src/assets/style/saleOrder/issueDetails.scss create mode 100644 src/assets/style/saleOrder/orderCreate.scss create mode 100644 src/assets/style/saleOrder/orderDetails.scss create mode 100644 src/assets/style/saleOrder/orderList.scss create mode 100644 src/assets/style/saleOrder/returnOrder.scss create mode 100644 src/assets/style/saleOrder/saleOrderCommon.scss create mode 100644 src/assets/style/saleOrder/stepByStepCom.scss create mode 100644 src/assets/up@3x.png create mode 100644 src/assets/vue.svg create mode 100644 src/assets/wrong@3x.png create mode 100644 src/assets/wuliao.png create mode 100644 src/components/Btns/index.vue create mode 100644 src/components/HelloWorld.vue create mode 100644 src/components/examineTop/index.scss create mode 100644 src/components/examineTop/index.vue create mode 100644 src/components/index.js create mode 100644 src/components/layout/index.vue create mode 100644 src/components/layout/libs/index.js create mode 100644 src/components/layout/libs/layout-aside/index.vue create mode 100644 src/components/layout/libs/layout-aside/menu.vue create mode 100644 src/components/layout/libs/layout-aside/submenu.vue create mode 100644 src/components/layout/libs/layout-footer/index.vue create mode 100644 src/components/layout/libs/layout-header/index.vue create mode 100644 src/components/layout/libs/layout-header/labels.vue create mode 100644 src/components/public/CustomCondition.vue create mode 100644 src/components/public/DetailsOperation.vue create mode 100644 src/components/public/DownPdf.vue create mode 100644 src/components/public/InputMini.vue create mode 100644 src/components/public/PrintModel.vue create mode 100644 src/components/public/operaRecorde.vue create mode 100644 src/components/public/printviews/prtMoled.vue create mode 100644 src/components/public/printviews/prtMoledop.vue create mode 100644 src/components/public/toolBtn/toolBtn.scss create mode 100644 src/components/public/toolBtn/toolBtn.vue create mode 100644 src/main.js create mode 100644 src/router/index.js create mode 100644 src/router/permission.js create mode 100644 src/settings.js create mode 100644 src/store/index.js create mode 100644 src/store/modules/examine.js create mode 100644 src/store/modules/leftAside.js create mode 100644 src/store/modules/org.js create mode 100644 src/store/modules/routes.js create mode 100644 src/store/modules/storeData.js create mode 100644 src/store/modules/topNavTag.js create mode 100644 src/store/modules/user.js create mode 100644 src/style.css create mode 100644 src/utils/LodopFuncs.js create mode 100644 src/utils/api.js create mode 100644 src/utils/auth.js create mode 100644 src/utils/commonData.js create mode 100644 src/utils/count.js create mode 100644 src/utils/examine.js create mode 100644 src/utils/htmlToPdf.js create mode 100644 src/utils/lodash/formatDate.js create mode 100644 src/utils/lodash/msg.js create mode 100644 src/utils/print.js create mode 100644 src/utils/printPagekey.js create mode 100644 src/utils/pubulic.js create mode 100644 src/utils/request.js create mode 100644 src/utils/takeMethods.js create mode 100644 src/utils/util.js create mode 100644 src/utils/validate.js create mode 100644 src/utils/variable.js create mode 100644 src/vendor/Blob.js create mode 100644 src/vendor/Export2Excel.js create mode 100644 src/vendor/Export2Zip.js create mode 100644 src/views/211/211sale/saleindex.vue create mode 100644 src/views/211/supply/completeSet.vue create mode 100644 src/views/211/supply/play.vue create mode 100644 src/views/211/supply/semiProdut-copy-2.vue create mode 100644 src/views/211/supply/semiProdut.vue create mode 100644 src/views/Outsourc/outsourcMange/OutSourcMaterial.vue create mode 100644 src/views/Outsourc/outsourcMange/outSourcFeedOrder.vue create mode 100644 src/views/Outsourc/outsourcMange/outSourcFeedSet.vue create mode 100644 src/views/Outsourc/outsourcMange/outSourcOrder.vue create mode 100644 src/views/Outsourc/outsourcMange/outSourcOrderSet.vue create mode 100644 src/views/Outsourc/outsourcMange/outSourcPickOrder.vue create mode 100644 src/views/Outsourc/outsourcMange/outSourcPickSet.vue create mode 100644 src/views/Outsourc/outsourcMange/outSourcRetrunOrder.vue create mode 100644 src/views/Outsourc/outsourcMange/outSourcReturnSet.vue create mode 100644 src/views/barCode/productCode/barcodePrint.vue create mode 100644 src/views/barCode/productCode/barcodeQuery.vue create mode 100644 src/views/demo/components/Table/index.vue create mode 100644 src/views/demo/constant/index.js create mode 100644 src/views/demo/index.vue create mode 100644 src/views/demo/list.vue create mode 100644 src/views/examine/components/Result/index.vue create mode 100644 src/views/examine/components/Search/index.vue create mode 100644 src/views/examine/components/Table/index.vue create mode 100644 src/views/examine/components/Timeline/index.scss create mode 100644 src/views/examine/components/Timeline/index.vue create mode 100644 src/views/examine/components/Timeline/timeLineStatus.vue create mode 100644 src/views/examine/constant/index.js create mode 100644 src/views/examine/index.scss create mode 100644 src/views/examine/index.vue create mode 100644 src/views/examine/mange/ApplicableScope/index.vue create mode 100644 src/views/examine/mange/Method/OtherDepartments.vue create mode 100644 src/views/examine/mange/Method/directlyUnder.vue create mode 100644 src/views/examine/mange/Method/index.vue create mode 100644 src/views/examine/mange/Method/member.vue create mode 100644 src/views/examine/mange/Method/methodHeader.vue create mode 100644 src/views/examine/mange/Method/radio.vue create mode 100644 src/views/examine/mange/Method/role.vue create mode 100644 src/views/examine/mange/SetConditions/index.vue create mode 100644 src/views/examine/mange/StatusDialog/index.vue create mode 100644 src/views/examine/mange/examineAdd.vue create mode 100644 src/views/examine/mange/examineFollow.vue create mode 100644 src/views/examine/mange/examineList.vue create mode 100644 src/views/examine/mange/test.vue create mode 100644 src/views/examine/mange/test1.vue create mode 100644 src/views/examine/utils/addData.js create mode 100644 src/views/examine/utils/commitHttpData.js create mode 100644 src/views/examine/utils/deleteData.js create mode 100644 src/views/examine/utils/detailsDataInit.js create mode 100644 src/views/examine/utils/dialogCommitData.js create mode 100644 src/views/examine/utils/index.js create mode 100644 src/views/examine/utils/init.js create mode 100644 src/views/examine/utils/rigthBtnDataInit.js create mode 100644 src/views/export/exportMange/exportlist.vue create mode 100644 src/views/index/index-old.vue create mode 100644 src/views/index/index.vue create mode 100644 src/views/login/index.vue create mode 100644 src/views/material/mateBom/bomJust.vue create mode 100644 src/views/material/mateBom/classification-copy.vue create mode 100644 src/views/material/mateBom/classification.vue create mode 100644 src/views/material/mateBom/classificationSet.vue create mode 100644 src/views/material/mateBom/mateBomIndex.vue create mode 100644 src/views/material/mateBom/mateBomSet.vue create mode 100644 src/views/material/mateBom/mateList.vue create mode 100644 src/views/material/mateBom/materialSet.vue create mode 100644 src/views/production/productMange/pickOrderSet.vue create mode 100644 src/views/production/productMange/pickingOrder.vue create mode 100644 src/views/production/productMange/productOrder.vue create mode 100644 src/views/production/productMange/productOrderSet.vue create mode 100644 src/views/production/productMange/replenishmentOrder.vue create mode 100644 src/views/production/productMange/replenishmentOrderSet.vue create mode 100644 src/views/production/productMange/returnMaterialOrder.vue create mode 100644 src/views/production/productMange/returnMaterialOrderSet.vue create mode 100644 src/views/production/productMange/useMaterialSet.vue create mode 100644 src/views/production/productMange/warehouOrder.vue create mode 100644 src/views/production/productMange/warehouOrderSet.vue create mode 100644 src/views/public/404.vue create mode 100644 src/views/purchase/demand/createOrgNeeds.vue create mode 100644 src/views/purchase/demand/createPurchase.vue create mode 100644 src/views/purchase/demand/demandOrder.vue create mode 100644 src/views/purchase/demand/orgNeeds.vue create mode 100644 src/views/report/reportindx.vue create mode 100644 src/views/sale/salemange/createReturnOrder.vue create mode 100644 src/views/sale/salemange/order.vue create mode 100644 src/views/sale/salemange/orderCreate.vue create mode 100644 src/views/sale/salemange/returnOrder.vue create mode 100644 src/views/setup/basic/company.vue create mode 100644 src/views/setup/basic/condition.vue create mode 100644 src/views/setup/basic/currency.vue create mode 100644 src/views/setup/basic/mode.vue create mode 100644 src/views/setup/basic/taxRate.vue create mode 100644 src/views/setup/org/department.vue create mode 100644 src/views/setup/org/organ.vue create mode 100644 src/views/setup/org/position.vue create mode 100644 src/views/setup/org/staff.vue create mode 100644 src/views/setup/org/warehouse.vue create mode 100644 src/views/setup/word/customer.vue create mode 100644 src/views/setup/word/supplier.vue create mode 100644 src/views/supplier/coordination/InventoryManage.vue create mode 100644 src/views/supplier/coordination/accountOrder.vue create mode 100644 src/views/supplier/coordination/addaccountOrder.vue create mode 100644 src/views/supplier/coordination/codePrint.vue create mode 100644 src/views/supplier/coordination/preparaMaterial.vue create mode 100644 src/views/supplier/coordination/purchaseOrderMange.vue create mode 100644 src/views/supplier/coordination/sendOrder.vue create mode 100644 src/views/supplier/coordination/sendOrderNtice.vue create mode 100644 src/views/supplier/coordination/warehouse.vue create mode 100644 src/views/warehouse/allocation/activeDirect.vue create mode 100644 src/views/warehouse/allocation/activeEntryOrder.vue create mode 100644 src/views/warehouse/allocation/activeIssue.vue create mode 100644 src/views/warehouse/allocation/direct.vue create mode 100644 src/views/warehouse/allocation/entryorder.vue create mode 100644 src/views/warehouse/allocation/issue.vue create mode 100644 src/views/warehouse/other/assemblyOrder.vue create mode 100644 src/views/warehouse/other/assemblyOrderSet.vue create mode 100644 src/views/warehouse/other/disassembleOrder.vue create mode 100644 src/views/warehouse/other/disassembleOrderSet.vue create mode 100644 src/views/warehouse/other/inventorySheetOrder.vue create mode 100644 src/views/warehouse/other/inventorySheetSet.vue create mode 100644 src/views/warehouse/other/otherWarehouse.vue create mode 100644 src/views/warehouse/other/otherWarehouseSet.vue create mode 100644 src/views/warehouse/other/outSheetOrder.vue create mode 100644 src/views/warehouse/other/outSheetSet.vue create mode 100644 src/views/warehouse/purchase/activeReturnOrder.vue create mode 100644 src/views/warehouse/purchase/activeWareHouse.vue create mode 100644 src/views/warehouse/purchase/returnOrder.vue create mode 100644 src/views/warehouse/purchase/warehouse.vue create mode 100644 src/views/warehouse/query/issueDetails.vue create mode 100644 src/views/warehouse/query/timelyInventorydetail.vue create mode 100644 src/views/warehouse/query/timelyInventorysummary.vue create mode 100644 src/views/warehouse/salesDelivery/exWarehouse.vue create mode 100644 src/views/warehouse/salesDelivery/exWarehouseSet.vue create mode 100644 src/views/warehouse/salesDelivery/notice.vue create mode 100644 src/views/warehouse/salesDelivery/noticeSet.vue create mode 100644 src/views/warehouse/stock/analysis.vue create mode 100644 src/views/warehouse/stock/detail.vue create mode 100644 src/views/warehouse/stock/material.vue create mode 100644 vite.config.js diff --git a/.env b/.env new file mode 100644 index 0000000..1b38a1c --- /dev/null +++ b/.env @@ -0,0 +1,6 @@ +ENV = 'test' +VITE_APP_API_VERSION = 'v1 +VITE_APP_API_BASEURL = https://login.ops.f2b211.com/api/ +VITE_APP_SSO_BASEURL = https://dev.uc.f2b211.com/uc/ +VITE_APP_SSO_LOGINURL = http://dev.uc.f2b211.com/index.php/uc/user/login.html +VITE_APP_SSO_APPID = 27413993593241600 \ No newline at end of file diff --git a/.env.demo b/.env.demo new file mode 100644 index 0000000..f79fa59 --- /dev/null +++ b/.env.demo @@ -0,0 +1,8 @@ +ENV = 'production' +VITE_APP_NODE_ENV=production +VITE_APP_API_VERSION = v1 +VITE_APP_API_BASEURL = https://proxy.ops.f2b211.com/api/ +# VITE_APP_API_BASEURL = https://api.mingpin.f2b211.com/api/ +VITE_APP_SSO_BASEURL = http://saas.uc.f2b211.com +VITE_APP_SSO_LOGINURL = http://saas.uc.f2b211.com/uc/user/login.html +VITE_APP_SSO_APPID = 27413993593241600 \ No newline at end of file diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..1bf4386 --- /dev/null +++ b/.env.development @@ -0,0 +1,24 @@ +# ENV = 'production' +# VITE_APP_APP_NODE_ENV=development +# VITE_APP_API_VERSION = v1 +# VITE_APP_API_BASEURL =https://dev.proxy.ops.f2b211.com/api/ +# VITE_APP_SSO_BASEURL = https://dev.uc.f2b211.com/uc/ +# VITE_APP_SSO_LOGINURL = http://dev.uc.f2b211.com/index.php/uc/user/login.html +# VITE_APP_SSO_APPID = 27413993593241600 + + +VITE_APP_APP_NODE_ENV=development +VITE_APP_API_VERSION = v1 +VITE_APP_API_BASEURL = https://login.ops.f2b211.com/api/ #https://dev.proxy.ops.f2b211.com/api/ # https://login.ops.f2b211.com/api/ +VITE_APP_SSO_BASEURL = https://dev.uc.f2b211.com/uc/ +VITE_APP_SSO_LOGINURL = https://dev.uc.f2b211.com/index.php/uc/user/login.html +VITE_APP_SSO_APPID = 27413993593241600 + +# ENV = 'production' +# VITE_APP_NODE_ENV=production +# VITE_APP_API_VERSION = v1 +# VITE_APP_API_BASEURL = https://proxy.ops.f2b211.com/api/ +# # VITE_APP_API_BASEURL = https://api.mingpin.f2b211.com/api/ +# VITE_APP_SSO_BASEURL = http://saas.uc.f2b211.com +# VITE_APP_SSO_LOGINURL = http://saas.uc.f2b211.com/uc/user/login.html +# VITE_APP_SSO_APPID = 27413993593241600 \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..b1ec0fd --- /dev/null +++ b/.env.production @@ -0,0 +1,15 @@ +ENV = 'production' +VITE_APP_NODE_ENV=production +VITE_APP_API_VERSION = v1 +VITE_APP_API_BASEURL = https://proxy.ops.f2b211.com/api/ +# VITE_APP_API_BASEURL = https://api.mingpin.f2b211.com/api/ +VITE_APP_SSO_BASEURL = http://saas.uc.f2b211.com +VITE_APP_SSO_LOGINURL = http://saas.uc.f2b211.com/uc/user/login.html +VITE_APP_SSO_APPID = 27413993593241600 + +# VITE_APP_APP_NODE_ENV=development +# VITE_APP_API_VERSION = v1 +# VITE_APP_API_BASEURL =https://login.ops.f2b211.com/api/ #https://dev.proxy.ops.f2b211.com/api/ #https://login.ops.f2b211.com/api/ +# VITE_APP_SSO_BASEURL = https://dev.uc.f2b211.com/uc/ +# VITE_APP_SSO_LOGINURL = https://dev.uc.f2b211.com/index.php/uc/user/login.html +# VITE_APP_SSO_APPID = 27413993593241600 \ No newline at end of file diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..b6832a1 --- /dev/null +++ b/.env.test @@ -0,0 +1,6 @@ +VITE_APP_APP_NODE_ENV=development +VITE_APP_API_VERSION = v1 +VITE_APP_API_BASEURL = https://login.ops.f2b211.com/api/ #https://dev.proxy.ops.f2b211.com/api/ # https://login.ops.f2b211.com/api/ +VITE_APP_SSO_BASEURL = https://dev.uc.f2b211.com/uc/ +VITE_APP_SSO_LOGINURL = https://dev.uc.f2b211.com/index.php/uc/user/login.html +VITE_APP_SSO_APPID = 27413993593241600 diff --git a/.gitignore b/.gitignore index ceaea36..091a8b4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,132 +1,26 @@ -# ---> Node # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* +pnpm-debug.log* lerna-debug.log* -.pnpm-debug.log* -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt +node_modules dist +*.zip -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* +dist-ssr +*.local +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/README.md b/README.md index 4e83ec4..02124a7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ -# ops_admin_vite +# Vue 3 + Vite -铭品ops \ No newline at end of file +This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..db30a3d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,15629 @@ +{ + "name": "orico_ops_admin", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@achrinza/node-ipc": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/@achrinza/node-ipc/-/node-ipc-9.2.2.tgz", + "integrity": "sha512-b90U39dx0cU6emsOvy5hxU4ApNXnE3+Tuo8XQZfiKTGelDwpMwBVgBP7QX6dGTcJgu/miyJuNJ/2naFBliNWEw==", + "dev": true, + "requires": { + "@node-ipc/js-queue": "2.0.3", + "event-pubsub": "4.3.0", + "js-message": "1.0.7" + } + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@antfu/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-UU8TLr/EoXdg7OjMp0h9oDoIAVr+Z/oW9cpOxQQyrsz6Qzd2ms/1CdWx8fl2OQdFpxGmq5Vc4TwfLHId6nAZjA==", + "requires": { + "@types/throttle-debounce": "^2.1.0" + } + }, + "@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.21.4.tgz", + "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "dev": true + }, + "@babel/core": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.21.4.tgz", + "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.4", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.4", + "@babel/types": "^7.21.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "dev": true, + "requires": { + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", + "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.21.4", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz", + "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.4.tgz", + "integrity": "sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", + "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "requires": { + "@babel/types": "^7.21.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", + "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz", + "integrity": "sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/plugin-syntax-decorators": "^7.21.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", + "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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-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-decorators": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz", + "integrity": "sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@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.20.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@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.21.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", + "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@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-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", + "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", + "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.21.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", + "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.21.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", + "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.21.2", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", + "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.21.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", + "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz", + "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-plugin-utils": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.21.4.tgz", + "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.21.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", + "@babel/plugin-proposal-async-generator-functions": "^7.20.7", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.21.0", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.21.0", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.21.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.20.0", + "@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-transform-arrow-functions": "^7.20.7", + "@babel/plugin-transform-async-to-generator": "^7.20.7", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.21.0", + "@babel/plugin-transform-classes": "^7.21.0", + "@babel/plugin-transform-computed-properties": "^7.20.7", + "@babel/plugin-transform-destructuring": "^7.21.3", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.21.0", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.20.11", + "@babel/plugin-transform-modules-commonjs": "^7.21.2", + "@babel/plugin-transform-modules-systemjs": "^7.20.11", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.21.3", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.20.5", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.20.7", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.21.4", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@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.21.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "dependencies": { + "@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "dev": true + } + } + }, + "@babel/traverse": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.21.4.tgz", + "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.21.4", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.21.4.tgz", + "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@element-plus/icons": { + "version": "0.0.11", + "resolved": "https://registry.npmmirror.com/@element-plus/icons/-/icons-0.0.11.tgz", + "integrity": "sha512-iKQXSxXu131Ai+I9Ymtcof9WId7kaXvB1+WRfAfpQCW7UiAMYgdNDqb/u0hgTo2Yq3MwC4MWJnNuTBEpG8r7+A==" + }, + "@esbuild/android-arm": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.10.tgz", + "integrity": "sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz", + "integrity": "sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==", + "dev": true, + "optional": true + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmmirror.com/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmmirror.com/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmmirror.com/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", + "dev": true, + "requires": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "@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, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@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 + }, + "@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==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + } + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@node-ipc/js-queue": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", + "integrity": "sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==", + "dev": true, + "requires": { + "easy-stack": "1.0.1" + } + }, + "@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" + } + }, + "@popperjs/core": { + "version": "2.11.7", + "resolved": "https://registry.npmmirror.com/@popperjs/core/-/core-2.11.7.tgz", + "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==" + }, + "@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" + } + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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 + }, + "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" + } + } + } + }, + "@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/express": { + "version": "4.17.17", + "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.34", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz", + "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/http-proxy": { + "version": "1.17.11", + "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.11.tgz", + "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.194", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.194.tgz", + "integrity": "sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==" + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "@types/mini-css-extract-plugin": { + "version": "0.9.1", + "resolved": "https://registry.npmmirror.com/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.1.tgz", + "integrity": "sha512-+mN04Oszdz9tGjUP/c1ReVwJXxSniLd7lF++sv+8dkABxVNthg6uccei+4ssKxRHGoMmPxdn7uBdJWONSJGTGQ==", + "dev": true, + "requires": { + "@types/webpack": "*" + } + }, + "@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/node": { + "version": "18.16.1", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.16.1.tgz", + "integrity": "sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/raf": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/@types/raf/-/raf-3.4.0.tgz", + "integrity": "sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==", + "optional": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-static": { + "version": "1.15.1", + "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.1.tgz", + "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "dev": true, + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/tapable": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", + "dev": true + }, + "@types/throttle-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz", + "integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==" + }, + "@types/uglify-js": { + "version": "3.17.1", + "resolved": "https://registry.npmmirror.com/@types/uglify-js/-/uglify-js-3.17.1.tgz", + "integrity": "sha512-GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "@types/webpack": { + "version": "4.41.33", + "resolved": "https://registry.npmmirror.com/@types/webpack/-/webpack-4.41.33.tgz", + "integrity": "sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + } + }, + "@types/webpack-dev-server": { + "version": "3.11.6", + "resolved": "https://registry.npmmirror.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz", + "integrity": "sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==", + "dev": true, + "requires": { + "@types/connect-history-api-fallback": "*", + "@types/express": "*", + "@types/serve-static": "*", + "@types/webpack": "^4", + "http-proxy-middleware": "^1.0.0" + } + }, + "@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + } + } + }, + "@vee-validate/i18n": { + "version": "4.8.6", + "resolved": "https://registry.npmmirror.com/@vee-validate/i18n/-/i18n-4.8.6.tgz", + "integrity": "sha512-yvmCm5nf9MnuvMBboGAjHoqCkcLP0APbk690SyabcpcEgxisAI276aSCJ0SxKxRafoptw3HImXFDbjezQqUYTg==" + }, + "@vee-validate/rules": { + "version": "4.8.6", + "resolved": "https://registry.npmmirror.com/@vee-validate/rules/-/rules-4.8.6.tgz", + "integrity": "sha512-AswolP0nx5qWq1pArsGemFF6sCjH6D4x/GBxKlGl7qwNqtAtwRgsekk9OVRdF9vrWQ+l9fH2lC3hqj+J7FmUmA==", + "requires": { + "vee-validate": "^4.8.6" + } + }, + "@vitejs/plugin-vue": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.1.2.tgz", + "integrity": "sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ==", + "dev": true + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", + "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==", + "dev": true + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz", + "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true + } + } + }, + "@vue/babel-preset-app": { + "version": "4.5.19", + "resolved": "https://registry.npmmirror.com/@vue/babel-preset-app/-/babel-preset-app-4.5.19.tgz", + "integrity": "sha512-VCNRiAt2P/bLo09rYt3DLe6xXUMlhJwrvU18Ddd/lYJgC7s8+wvhgYs+MTx4OiAXdu58drGwSBO9SPx7C6J82Q==", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.11.0", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.0", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.2.4", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", + "core-js-compat": "^3.6.5", + "semver": "^6.1.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/babel-preset-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz", + "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "@vue/babel-sugar-composition-api-inject-h": "^1.4.0", + "@vue/babel-sugar-composition-api-render-instance": "^1.4.0", + "@vue/babel-sugar-functional-vue": "^1.4.0", + "@vue/babel-sugar-inject-h": "^1.4.0", + "@vue/babel-sugar-v-model": "^1.4.0", + "@vue/babel-sugar-v-on": "^1.4.0" + } + }, + "@vue/babel-sugar-composition-api-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz", + "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-composition-api-render-instance": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz", + "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz", + "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz", + "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz", + "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true + } + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz", + "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "@vue/cli-overlay": { + "version": "4.5.19", + "resolved": "https://registry.npmmirror.com/@vue/cli-overlay/-/cli-overlay-4.5.19.tgz", + "integrity": "sha512-GdxvNSmOw7NHIazCO8gTK+xZbaOmScTtxj6eHVeMbYpDYVPJ+th3VMLWNpw/b6uOjwzzcyKlA5dRQ1DAb+gF/g==", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "4.5.19", + "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.19.tgz", + "integrity": "sha512-8ebXzaMW9KNTMAN6+DzkhFsjty1ieqT7hIW5Lbk4v30Qhfjkms7lBWyXPGkoq+wAikXFa1Gnam2xmWOBqDDvWg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@vue/babel-preset-app": "^4.5.19", + "@vue/cli-shared-utils": "^4.5.19", + "babel-loader": "^8.1.0", + "cache-loader": "^4.1.0", + "thread-loader": "^2.1.3", + "webpack": "^4.0.0" + } + }, + "@vue/cli-plugin-eslint": { + "version": "4.5.19", + "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.19.tgz", + "integrity": "sha512-53sa4Pu9j5KajesFlj494CcO8vVo3e3nnZ1CCKjGGnrF90id1rUeepcFfz5XjwfEtbJZp2x/NoX/EZE6zCzSFQ==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.19", + "eslint-loader": "^2.2.1", + "globby": "^9.2.0", + "inquirer": "^7.1.0", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + } + }, + "@vue/cli-plugin-router": { + "version": "4.5.19", + "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-router/-/cli-plugin-router-4.5.19.tgz", + "integrity": "sha512-3icGzH1IbVYmMMsOwYa0lal/gtvZLebFXdE5hcQJo2mnTwngXGMTyYAzL56EgHBPjbMmRpyj6Iw9k4aVInVX6A==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.19" + } + }, + "@vue/cli-plugin-vuex": { + "version": "4.5.19", + "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.19.tgz", + "integrity": "sha512-DUmfdkG3pCdkP7Iznd87RfE9Qm42mgp2hcrNcYQYSru1W1gX2dG/JcW8bxmeGSa06lsxi9LEIc/QD1yPajSCZw==", + "dev": true + }, + "@vue/cli-service": { + "version": "4.5.19", + "resolved": "https://registry.npmmirror.com/@vue/cli-service/-/cli-service-4.5.19.tgz", + "integrity": "sha512-+Wpvj8fMTCt9ZPOLu5YaLkFCQmB4MrZ26aRmhhKiCQ/4PMoL6mLezfqdt6c+m2htM+1WV5RunRo+0WHl2DfwZA==", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@soda/get-current-script": "^1.0.0", + "@types/minimist": "^1.2.0", + "@types/webpack": "^4.0.0", + "@types/webpack-dev-server": "^3.11.0", + "@vue/cli-overlay": "^4.5.19", + "@vue/cli-plugin-router": "^4.5.19", + "@vue/cli-plugin-vuex": "^4.5.19", + "@vue/cli-shared-utils": "^4.5.19", + "@vue/component-compiler-utils": "^3.1.2", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^7.4.0", + "acorn-walk": "^7.1.1", + "address": "^1.1.2", + "autoprefixer": "^9.8.6", + "browserslist": "^4.12.0", + "cache-loader": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.4", + "clipboardy": "^2.3.0", + "cliui": "^6.0.0", + "copy-webpack-plugin": "^5.1.1", + "css-loader": "^3.5.3", + "cssnano": "^4.1.10", + "debug": "^4.1.1", + "default-gateway": "^5.0.5", + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^4.2.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.9.0", + "minimist": "^1.2.5", + "pnp-webpack-plugin": "^1.6.4", + "portfinder": "^1.0.26", + "postcss-loader": "^3.0.0", + "ssri": "^8.0.1", + "terser-webpack-plugin": "^1.4.4", + "thread-loader": "^2.1.3", + "url-loader": "^2.2.0", + "vue-loader": "^15.9.2", + "vue-loader-v16": "npm:vue-loader@^16.1.0", + "vue-style-loader": "^4.1.2", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.8.0", + "webpack-chain": "^6.4.0", + "webpack-dev-server": "^3.11.0", + "webpack-merge": "^4.2.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": 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, + "optional": true + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "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, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.8.3", + "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + } + } + } + }, + "@vue/cli-shared-utils": { + "version": "4.5.19", + "resolved": "https://registry.npmmirror.com/@vue/cli-shared-utils/-/cli-shared-utils-4.5.19.tgz", + "integrity": "sha512-JYpdsrC/d9elerKxbEUtmSSU6QRM60rirVubOewECHkBHj+tLNznWq/EhCjswywtePyLaMUK25eTqnTSZlEE+g==", + "dev": true, + "requires": { + "@achrinza/node-ipc": "9.2.2", + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@vue/compiler-core": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.40.tgz", + "integrity": "sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.40", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz", + "integrity": "sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==", + "requires": { + "@vue/compiler-core": "3.2.40", + "@vue/shared": "3.2.40" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.40.tgz", + "integrity": "sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.40", + "@vue/compiler-dom": "3.2.40", + "@vue/compiler-ssr": "3.2.40", + "@vue/reactivity-transform": "3.2.40", + "@vue/shared": "3.2.40", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.40.tgz", + "integrity": "sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ==", + "requires": { + "@vue/compiler-dom": "3.2.40", + "@vue/shared": "3.2.40" + } + }, + "@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2 || ^2.0.0", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + }, + "@vue/preload-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", + "dev": true + }, + "@vue/reactivity": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.40.tgz", + "integrity": "sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA==", + "requires": { + "@vue/shared": "3.2.40" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.40.tgz", + "integrity": "sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.40", + "@vue/shared": "3.2.40", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/runtime-core": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.40.tgz", + "integrity": "sha512-U1+rWf0H8xK8aBUZhnrN97yoZfHbjgw/bGUzfgKPJl69/mXDuSg8CbdBYBn6VVQdR947vWneQBFzdhasyzMUKg==", + "requires": { + "@vue/reactivity": "3.2.40", + "@vue/shared": "3.2.40" + } + }, + "@vue/runtime-dom": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.40.tgz", + "integrity": "sha512-AO2HMQ+0s2+MCec8hXAhxMgWhFhOPJ/CyRXnmTJ6XIOnJFLrH5Iq3TNwvVcODGR295jy77I6dWPj+wvFoSYaww==", + "requires": { + "@vue/runtime-core": "3.2.40", + "@vue/shared": "3.2.40", + "csstype": "^2.6.8" + } + }, + "@vue/server-renderer": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.40.tgz", + "integrity": "sha512-gtUcpRwrXOJPJ4qyBpU3EyxQa4EkV8I4f8VrDePcGCPe4O/hd0BPS7v9OgjIQob6Ap8VDz9G+mGTKazE45/95w==", + "requires": { + "@vue/compiler-ssr": "3.2.40", + "@vue/shared": "3.2.40" + } + }, + "@vue/shared": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.40.tgz", + "integrity": "sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ==" + }, + "@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true + }, + "@vueuse/core": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-6.1.0.tgz", + "integrity": "sha512-6KienU5QOWKuDqvHytep14274IGKyLlACzXjifOrgDQMkqvWZIUnDhpckT/1+O8n8DN59d5wzzICZI/2sfGCyg==", + "requires": { + "@vueuse/shared": "6.1.0", + "vue-demi": "*" + } + }, + "@vueuse/shared": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-6.1.0.tgz", + "integrity": "sha512-teW0TUQryGnEprHeOI6oH8NPVJBirknxksEiNCtdEjIi8W7JSTg8JPO+e1XlGI6ly24NDlDXUDYaHJayiaXjuw==", + "requires": { + "vue-demi": "*" + } + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@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 + }, + "@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 + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": 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": "6.4.2", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "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 + }, + "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 + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true + }, + "adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.2.0.tgz", + "integrity": "sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "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-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "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 + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "dev": true + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "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, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "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 + } + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "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" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmmirror.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "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 + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "array.prototype.reduce": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", + "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmmirror.com/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmmirror.com/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmmirror.com/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmmirror.com/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "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==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmmirror.com/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmmirror.com/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-import": { + "version": "1.13.6", + "resolved": "https://registry.npmmirror.com/babel-plugin-import/-/babel-plugin-import-1.13.6.tgz", + "integrity": "sha512-N7FYnGh0DFsvDRkAPsvFq/metVfVD7P2h1rokOPpEH4cZbdRHCW+2jbXt0nnuqowkm/xhh2ww1anIdEpfYa7ZA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "babel-plugin-transform-remove-strict-mode": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/babel-plugin-transform-remove-strict-mode/-/babel-plugin-transform-remove-strict-mode-0.0.2.tgz", + "integrity": "sha512-iYRG9kH+jXfLaE5wUe/RP5uFd1MTkgTWFuhxJyaQLA6+sMwj31GNTAZCZowLOXGX2KkgH/ej1+3x0D2lKXadKQ==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmmirror.com/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmmirror.com/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "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==" + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmmirror.com/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha512-OorbnJVPII4DuUKbjARAe8u8EfqOmkEEaSFIyoQ7OjTHn6kafxWl0wLgoZ2rXaYd7MyLcDaU4TmhfxtwgcccMQ==", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.1", + "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 + }, + "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" + } + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmmirror.com/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "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==", + "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" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmmirror.com/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "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 + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "builtins": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/builtins/-/builtins-4.1.0.tgz", + "integrity": "sha512-1bPRZQtmKaO6h7qV1YHXNtr6nCK28k0Zo95KM4dXfILcZZwoHJBN1m3lfLv9LPkcOZlrSr+J1bzMaZFO98Yq0w==", + "requires": { + "semver": "^7.0.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmmirror.com/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/cache-loader/-/cache-loader-4.1.0.tgz", + "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", + "dev": true, + "requires": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "dev": true + } + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001481", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", + "dev": true + }, + "canvg": { + "version": "3.0.10", + "resolved": "https://registry.npmmirror.com/canvg/-/canvg-3.0.10.tgz", + "integrity": "sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==", + "optional": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + } + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "requires": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "dependencies": { + "adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==" + } + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmmirror.com/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "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" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "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 + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmmirror.com/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.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, + "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 + }, + "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" + } + } + } + }, + "cli-spinners": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.8.0.tgz", + "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "clipboard": { + "version": "2.0.11", + "resolved": "https://registry.npmmirror.com/clipboard/-/clipboard-2.0.11.tgz", + "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.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, + "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, + "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 + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true + }, + "codepage": { + "version": "1.14.0", + "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.14.0.tgz", + "integrity": "sha512-iz3zJLhlrg37/gYRWgEPkaFTtzmnEv1h+r7NgZum2lFElYQPi0/5bnmuDfODHxfp0INEfnRqyfyeIJDbb7ahRw==", + "requires": { + "commander": "~2.14.1", + "exit-on-epipe": "~1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.14.1", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==" + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "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, + "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==", + "dev": true + }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "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, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "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 + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmmirror.com/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "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": "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 + }, + "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 + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "copy-webpack-plugin": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", + "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", + "dev": true, + "requires": { + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/globby/-/globby-7.1.1.tgz", + "integrity": "sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "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, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "dev": true + } + } + }, + "core-js": { + "version": "3.30.1", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.30.1.tgz", + "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==" + }, + "core-js-compat": { + "version": "3.30.1", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.30.1.tgz", + "integrity": "sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==", + "dev": true, + "requires": { + "browserslist": "^4.21.5" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmmirror.com/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmmirror.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmmirror.com/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "requires": { + "utrie": "^1.0.2" + } + }, + "css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true + }, + "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 + }, + "cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + } + } + }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + }, + "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" + } + }, + "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 + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "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": "1.5.2", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true + }, + "default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-5.0.5.tgz", + "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", + "dev": true, + "requires": { + "execa": "^3.3.0" + }, + "dependencies": { + "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" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "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 + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "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 + }, + "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 + }, + "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" + } + } + } + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": 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 + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "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-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + } + } + }, + "dompurify": { + "version": "2.4.5", + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-2.4.5.tgz", + "integrity": "sha512-jggCCd+8Iqp4Tsz0nIvpcb22InKEBrGz5dw3EQJMs8HPJDsKbFIO3STYtAvCfDx26Muevn1MHVI0XxjgFfmiSA==", + "optional": true + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmmirror.com/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "echarts": { + "version": "5.4.2", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.4.2.tgz", + "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.4.3" + } + }, + "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 + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmmirror.com/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.374", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.374.tgz", + "integrity": "sha512-dNP9tQNTrjgVlSXMqGaj0BdrCS+9pcUvy5/emB6x8kh0YwCoDZ0Z4ce1+7aod+KhybHUd5o5LgKrc5al4kVmzQ==", + "dev": true + }, + "element-plus": { + "version": "1.1.0-beta.24", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-1.1.0-beta.24.tgz", + "integrity": "sha512-dmo61e/D6mwJVacMhxOMSPb5sZPt/FPsuQQfsOs1kJWkhGDmTlny/sZvgIQr1z0zh3pjlJadGAlNS+0nySPMmw==", + "requires": { + "@element-plus/icons": "^0.0.11", + "@popperjs/core": "^2.10.2", + "@vueuse/core": "~6.1.0", + "async-validator": "^4.0.3", + "dayjs": "^1.10.7", + "lodash": "^4.17.21", + "memoize-one": "^5.2.1", + "normalize-wheel-es": "^1.1.0", + "resize-observer-polyfill": "^1.5.1" + } + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmmirror.com/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": 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 + }, + "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 + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "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, + "requires": { + "prr": "~1.0.1" + } + }, + "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, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-abstract": { + "version": "1.21.2", + "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.0", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.10.tgz", + "integrity": "sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.15.10", + "@esbuild/linux-loong64": "0.15.10", + "esbuild-android-64": "0.15.10", + "esbuild-android-arm64": "0.15.10", + "esbuild-darwin-64": "0.15.10", + "esbuild-darwin-arm64": "0.15.10", + "esbuild-freebsd-64": "0.15.10", + "esbuild-freebsd-arm64": "0.15.10", + "esbuild-linux-32": "0.15.10", + "esbuild-linux-64": "0.15.10", + "esbuild-linux-arm": "0.15.10", + "esbuild-linux-arm64": "0.15.10", + "esbuild-linux-mips64le": "0.15.10", + "esbuild-linux-ppc64le": "0.15.10", + "esbuild-linux-riscv64": "0.15.10", + "esbuild-linux-s390x": "0.15.10", + "esbuild-netbsd-64": "0.15.10", + "esbuild-openbsd-64": "0.15.10", + "esbuild-sunos-64": "0.15.10", + "esbuild-windows-32": "0.15.10", + "esbuild-windows-64": "0.15.10", + "esbuild-windows-arm64": "0.15.10" + } + }, + "esbuild-android-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz", + "integrity": "sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==", + "dev": true, + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz", + "integrity": "sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz", + "integrity": "sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz", + "integrity": "sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz", + "integrity": "sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz", + "integrity": "sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz", + "integrity": "sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz", + "integrity": "sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz", + "integrity": "sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz", + "integrity": "sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz", + "integrity": "sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz", + "integrity": "sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz", + "integrity": "sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz", + "integrity": "sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz", + "integrity": "sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz", + "integrity": "sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz", + "integrity": "sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz", + "integrity": "sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz", + "integrity": "sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz", + "integrity": "sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "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==", + "dev": true + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.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, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "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" + } + }, + "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 + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "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 + } + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "dev": true, + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "eslint-plugin-vue": { + "version": "7.20.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz", + "integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==", + "dev": true, + "requires": { + "eslint-utils": "^2.1.0", + "natural-compare": "^1.4.0", + "semver": "^6.3.0", + "vue-eslint-parser": "^7.10.0" + }, + "dependencies": { + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "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 + }, + "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" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "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" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/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 + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "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 + }, + "eventsource": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/eventsource/-/eventsource-2.0.2.tgz", + "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.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" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmmirror.com/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "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 + }, + "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" + } + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "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-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "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.15.0", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fflate": { + "version": "0.4.8", + "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.4.8.tgz", + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==" + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "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-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "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, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "font-awesome": { + "version": "4.7.0", + "resolved": "https://registry.npmmirror.com/font-awesome/-/font-awesome-4.7.0.tgz", + "integrity": "sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "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 + }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "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 + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmmirror.com/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.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==", + "dev": true + }, + "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 + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "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.3.0", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "globule": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "^4.17.21", + "minimatch": "~3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "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==", + "requires": { + "delegate": "^3.1.2" + } + }, + "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==", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmmirror.com/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + } + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "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 + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "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==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "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==", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmmirror.com/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "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 + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==", + "dev": true + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmmirror.com/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + } + }, + "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 + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-Br4ifmjQojUP4EmHnRBoUIYcZ9J7M4bTMcm7u6xoIAIuq2Nte4TzXX0533owvkQKQD1WeMTTTyD4Ni4QKxS0Bg==", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmmirror.com/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "requires": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + }, + "dependencies": { + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "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" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", + "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "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-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "import-meta-resolve": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/import-meta-resolve/-/import-meta-resolve-1.1.1.tgz", + "integrity": "sha512-JiTuIvVyPaUg11eTrNDx5bgQ/yMKMZffc7YSjvQeSMXy58DO2SQ8BtAf3xteZvmzvjYh14wnqNjL8XVeDy2o9A==", + "requires": { + "builtins": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "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.3", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmmirror.com/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "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" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.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 + }, + "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 + }, + "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 + }, + "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" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "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" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "dependencies": { + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + } + } + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "ip": { + "version": "1.1.8", + "resolved": "https://registry.npmmirror.com/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "dev": true + }, + "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-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "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 + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "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-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "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 + }, + "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-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true + }, + "js-base64": { + "version": "3.7.5", + "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.5.tgz", + "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==" + }, + "js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "dev": true + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": 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, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "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 + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": 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 + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jspdf": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/jspdf/-/jspdf-2.5.1.tgz", + "integrity": "sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA==", + "requires": { + "@babel/runtime": "^7.14.0", + "atob": "^2.1.2", + "btoa": "^1.2.1", + "canvg": "^3.0.6", + "core-js": "^3.6.0", + "dompurify": "^2.2.0", + "fflate": "^0.4.8", + "html2canvas": "^1.0.0-rc.5" + } + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "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 + }, + "launch-editor": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.6.0.tgz", + "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "dev": true, + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } + }, + "launch-editor-middleware": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/launch-editor-middleware/-/launch-editor-middleware-2.6.0.tgz", + "integrity": "sha512-K2yxgljj5TdCeRN1lBtO3/J26+AIDDDw+04y6VAiZbWcTdBwsYN6RrZBnW5DN/QiSIdKNjKdATLUUluWWFYTIA==", + "dev": true, + "requires": { + "launch-editor": "^2.6.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "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 + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", + "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha512-Z9XSBoNE7xQiV6MSgPuCfyMokH2K7JdpRkOYE1+mu3d4BFJtx3GW+f6Bo4q8IX6rlf5MYbLBKW0pjl2cWdkm2A==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha512-c6pv3OE78mcZ92ckebVDqg0aWSoKhOTbwCV6qbCWMk546mAL9pZln0+QsN/yQ7fkucd4+yJPLrCBXNt8Ruk+Eg==", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "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" + } + }, + "local-pkg": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.1.0.tgz", + "integrity": "sha512-WsR2tHvRGIxcC2clC30ECb5fjywzsjQagaHIy1+ykZaHz0ByoB0OL2riHqIYA5YYnensRXLszwbzHkhKzehZDg==", + "requires": { + "mlly": "^0.2.2" + } + }, + "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, + "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-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==" + }, + "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.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmmirror.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha512-LO37ZnhmBVx0GvOU/caQuipEh4GN82TcWv3yHlebGDgOxbxiwwzW5Pcx2AcvpIv2WmvmSMoC492yQFNhy/l/UQ==", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevel": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/loglevel/-/loglevel-1.8.1.tgz", + "integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "dev": 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==", + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "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 + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "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 + }, + "memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmmirror.com/meow/-/meow-3.7.0.tgz", + "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "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-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "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" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, + "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": "1.2.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "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==", + "dev": true + }, + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "mlly": { + "version": "0.2.10", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-0.2.10.tgz", + "integrity": "sha512-xfyW6c2QBGArtctzNnTV5leOKX8nOMz2simeubtXofdsdSJFSNw+Ncvrs8kxcN3pBrQLXuYBHNFV6NgZ5Ryf4A==", + "requires": { + "import-meta-resolve": "^1.1.1" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmmirror.com/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true + }, + "nanoclone": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmmirror.com/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "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 + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmmirror.com/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmmirror.com/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.3.0.tgz", + "integrity": "sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmmirror.com/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + } + } + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node-sass": { + "version": "4.14.1", + "resolved": "https://registry.npmmirror.com/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha512-eZ+m1WNhSZutOa/uRblAc9Ut5MQfukFrFMtPSm3bZCA888NmMd5AWXWdgRZ80zd+pTk1P2JrGjg9pUPTvl2PWQ==", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "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, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.6", + "resolved": "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", + "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", + "dev": true, + "requires": { + "array.prototype.reduce": "^1.0.5", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "safe-array-concat": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "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" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "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": "2.0.1", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmmirror.com/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmmirror.com/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "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, + "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, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.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 + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "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" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "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, + "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": "5.1.1", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmmirror.com/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "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 + }, + "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-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "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 + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/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": "4.0.1", + "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.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, + "requires": { + "find-up": "^4.0.0" + } + }, + "pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmmirror.com/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dev": true, + "requires": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "postcss": { + "version": "8.4.17", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz", + "integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } + } + }, + "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 + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "optional": true + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "print-js": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/print-js/-/print-js-1.6.0.tgz", + "integrity": "sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg==" + }, + "printj": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmmirror.com/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "property-expr": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/property-expr/-/property-expr-2.0.5.tgz", + "integrity": "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" + }, + "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" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmmirror.com/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "optional": true, + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "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.1", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmmirror.com/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==", + "dev": true + }, + "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, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "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" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/redent/-/redent-1.0.0.tgz", + "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", + "dev": true, + "requires": { + "get-stdin": "^4.0.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.0", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "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.1", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "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 + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.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" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmmirror.com/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "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 + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": 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 + }, + "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==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmmirror.com/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==", + "dev": true + }, + "rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "optional": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rollup": { + "version": "2.78.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz", + "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "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" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmmirror.com/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "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 + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "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.62.1", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.62.1.tgz", + "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmmirror.com/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "sass-loader": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-8.0.2.tgz", + "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.6.1", + "semver": "^6.3.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "script-loader": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/script-loader/-/script-loader-0.7.2.tgz", + "integrity": "sha512-UMNLEvgOAQuzK8ji8qIscM3GIrRCWN6MmMXGD4SD5l6cSycgGsCo0tX5xRnfQcoghqct0tjHjcykgI1PyBE2aA==", + "dev": true, + "requires": { + "raw-loader": "~0.5.1" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha512-dYE8LhncfBUar6POCxMTm0Ln+erjeczqEvCJib5/7XNkdw1FkUGgwMPY360FY0FgPWQxHWCx29Jl3oejyGLM9Q==", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/select/-/select-1.1.2.tgz", + "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "selfsigned": { + "version": "1.10.14", + "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-1.10.14.tgz", + "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "7.5.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "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": "4.0.0", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.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" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + } + } + }, + "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-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmmirror.com/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "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 + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmmirror.com/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.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" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } + } + }, + "sockjs-client": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/sockjs-client/-/sockjs-client-1.6.1.tgz", + "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "eventsource": "^2.0.2", + "faye-websocket": "^0.11.4", + "inherits": "^2.0.4", + "url-parse": "^1.5.10" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.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 + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "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 + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "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, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "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 + }, + "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, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "requires": { + "frac": "~1.1.2" + } + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmmirror.com/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackblur-canvas": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.5.0.tgz", + "integrity": "sha512-EeNzTVfj+1In7aSLPKDD03F/ly4RxEuF/EX0YcOG0cKoPXs+SLZxDawQbexQDBzwROs4VKLWTOaZQlZkGBFEIQ==", + "optional": true + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmmirror.com/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true + }, + "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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": 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-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "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 + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "optional": true + }, + "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 + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmmirror.com/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "terser": { + "version": "4.8.1", + "resolved": "https://registry.npmmirror.com/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "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 + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "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, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "requires": { + "utrie": "^1.0.2" + } + }, + "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 + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmmirror.com/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", + "dev": true + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": 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==", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "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 + }, + "toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmmirror.com/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmmirror.com/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "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 + }, + "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" + } + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmmirror.com/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + } + } + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "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 + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "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": "0.2.21", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-0.2.21.tgz", + "integrity": "sha512-IJ15/L5XbhnV7J09Zjk0FT5HEkBjkXucWAXQWRsmEtUxmmxwh23yavrmDbCF6ZPxWiVB28+wnKIHePTRRpQPbQ==", + "requires": { + "webpack-virtual-modules": "^0.4.3" + } + }, + "unplugin-vue-components": { + "version": "0.15.6", + "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.15.6.tgz", + "integrity": "sha512-Prl+qtWtDwnxSYJckGn+WvrXElhEnjN9bJyi9D7d0mJcsspuFBlxRQEzAUnDvlr0CvuIkBZBVdXLu1oDTESjhg==", + "requires": { + "@antfu/utils": "^0.3.0", + "@rollup/pluginutils": "^4.1.1", + "chokidar": "^3.5.2", + "debug": "^4.3.2", + "fast-glob": "^3.2.7", + "local-pkg": "^0.1.0", + "magic-string": "^0.25.7", + "minimatch": "^3.0.4", + "resolve": "^1.20.0", + "unplugin": "^0.2.13" + } + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "dev": true + }, + "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" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmmirror.com/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "dev": true + } + } + }, + "url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/url-loader/-/url-loader-2.3.0.tgz", + "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "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, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmmirror.com/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + }, + "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 + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true + }, + "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 + }, + "utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "requires": { + "base64-arraybuffer": "^1.0.2" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "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, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "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 + }, + "vee-validate": { + "version": "4.8.6", + "resolved": "https://registry.npmmirror.com/vee-validate/-/vee-validate-4.8.6.tgz", + "integrity": "sha512-d8SS1mfFn3qv/QRwy9BQ/0ZmoxQT37zG7zERUSK5NvmI7gx7IbQxOIXtyYVEPaDJNI4QWopBe48q91pAQqwetA==", + "requires": { + "@vue/devtools-api": "^6.5.0" + } + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vite": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.6.tgz", + "integrity": "sha512-qMXIwnehvvcK5XfJiXQUiTxoYAEMKhM+jqCY6ZSTKFBKu1hJnAKEzP3AOcnTerI0cMZYAaJ4wpW1wiXLMDt4mA==", + "dev": true, + "requires": { + "esbuild": "^0.15.9", + "fsevents": "~2.3.2", + "postcss": "^8.4.16", + "resolve": "^1.22.1", + "rollup": "~2.78.0" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "vue": { + "version": "3.2.40", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.40.tgz", + "integrity": "sha512-1mGHulzUbl2Nk3pfvI5aXYYyJUs1nm4kyvuz38u4xlQkLUn1i2R7nDbI4TufECmY8v1qNBHYy62bCaM+3cHP2A==", + "requires": { + "@vue/compiler-dom": "3.2.40", + "@vue/compiler-sfc": "3.2.40", + "@vue/runtime-dom": "3.2.40", + "@vue/server-renderer": "3.2.40", + "@vue/shared": "3.2.40" + } + }, + "vue-demi": { + "version": "0.14.0", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.0.tgz", + "integrity": "sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==" + }, + "vue-eslint-parser": { + "version": "7.11.0", + "resolved": "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", + "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.2.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^6.3.0" + }, + "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, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-loader": { + "version": "15.10.1", + "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz", + "integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "vue-loader-v16": { + "version": "16.0.0-beta.5.4", + "resolved": "https://registry.npmmirror.com/vue-loader-v16/-/vue-loader-v16-16.0.0-beta.5.4.tgz", + "integrity": "sha512-sis7XW0hab2NRbWMGbYXlFwhaLE2sV/hqhVkLxV2/8XLsLL6Ylfz590IaJMSMiyqsEmFHW+fSfevnnIqOsYxoQ==", + "dev": true, + "requires": { + "@types/mini-css-extract-plugin": "^0.9.1", + "chalk": "^3.0.0", + "hash-sum": "^2.0.0", + "loader-utils": "^1.2.3", + "merge-source-map": "^1.1.0", + "source-map": "^0.6.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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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 + }, + "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 + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "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" + } + } + } + }, + "vue-router": { + "version": "4.1.6", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.6.tgz", + "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==", + "requires": { + "@vue/devtools-api": "^6.4.5" + } + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmmirror.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.11" + } + }, + "vxe-table": { + "version": "4.3.12", + "resolved": "https://registry.npmmirror.com/vxe-table/-/vxe-table-4.3.12.tgz", + "integrity": "sha512-JYSlJH1Ht2u2eHRTzHH5S9q+4I4ogiC/gx6VXEpUH2uZZkOECBOWGOOgDhBmL9CdxH6ip7zK1Y+sIZFd61ByRQ==" + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.19", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "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 + } + } + }, + "webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmmirror.com/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.11.3", + "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", + "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", + "dev": true, + "requires": { + "ansi-html-community": "0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "webpack-virtual-modules": { + "version": "0.4.6", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz", + "integrity": "sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==" + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" + }, + "word": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "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, + "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, + "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, + "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 + } + } + }, + "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": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xe-utils": { + "version": "3.5.7", + "resolved": "https://registry.npmmirror.com/xe-utils/-/xe-utils-3.5.7.tgz", + "integrity": "sha512-3H+fDBKBR2wLJgyA7k9C/w1Xljx6Maml5ukV0WDY06HjYyGs2FEz6XhcwRCLIDXX4pBP3Gu0nX9DbCeuuRA2Ew==" + }, + "xlsx": { + "version": "0.16.9", + "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.16.9.tgz", + "integrity": "sha512-gxi1I3EasYvgCX1vN9pGyq920Ron4NO8PNfhuoA3Hpq6Y8f0ECXiy4OLrK4QZBnj1jx3QD+8Fq5YZ/3mPZ5iXw==", + "requires": { + "adler-32": "~1.2.0", + "cfb": "^1.1.4", + "codepage": "~1.14.0", + "commander": "~2.17.1", + "crc-32": "~1.2.0", + "exit-on-epipe": "~1.0.1", + "fflate": "^0.3.8", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "dependencies": { + "fflate": { + "version": "0.3.11", + "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.3.11.tgz", + "integrity": "sha512-Rr5QlUeGN1mbOHlaqcSYMKVpPbgLy0AWT/W0EHxA6NGI12yO1jpoui2zBBvU2G824ltM6Ut8BFgfHSBGfkmS0A==" + } + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": 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" + }, + "dependencies": { + "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, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + } + } + }, + "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 + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/execa/-/execa-0.8.0.tgz", + "integrity": "sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "yup": { + "version": "0.32.11", + "resolved": "https://registry.npmmirror.com/yup/-/yup-0.32.11.tgz", + "integrity": "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==", + "requires": { + "@babel/runtime": "^7.15.4", + "@types/lodash": "^4.14.175", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "nanoclone": "^0.2.1", + "property-expr": "^2.0.4", + "toposort": "^2.0.2" + } + }, + "zrender": { + "version": "5.4.3", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.4.3.tgz", + "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==", + "requires": { + "tslib": "2.3.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..538a30b --- /dev/null +++ b/package.json @@ -0,0 +1,65 @@ +{ + "name": "orico_ops_admin", + "private": true, + "version": "0.0.1", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "build:test": "vite build --mode test", + "build:pro": "vite build --mode demo", + "lint": "vite lint" + }, + "dependencies": { + "@vee-validate/i18n": "^4.4.7", + "@vee-validate/rules": "^4.4.7", + "axios": "^0.21.4", + "axios-cache-adapter": "^2.7.3", + "babel-plugin-dynamic-import-node": "^2.3.3", + "babel-plugin-transform-remove-strict-mode": "0.0.2", + "clipboard": "^2.0.11", + "core-js": "^3.17.3", + "decimal.js": "^10.3.1", + "echarts": "^5.2.2", + "element-plus": "^1.1.0-beta.24", + "file-saver": "^2.0.5", + "font-awesome": "^4.7.0", + "html2canvas": "^1.3.2", + "js-base64": "^3.7.2", + "jspdf": "^2.4.0", + "path": "^0.12.7", + "print-js": "^1.6.0", + "process": "^0.11.10", + "unplugin-vue-components": "^0.15.3", + "vee-validate": "^4.4.11", + "vue": "^3.2.20", + "vue-router": "^4.2.1", + "vuex": "^4.0.0-0", + "vxe-table": "^4.2.8", + "xe-utils": "^3.5.4", + "xlsx": "^0.16.9", + "yup": "^0.32.11" + }, + "devDependencies": { + "@types/node": "^18.7.23", + "@vitejs/plugin-vue": "^3.1.0", + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-plugin-eslint": "~4.5.0", + "@vue/cli-plugin-router": "~4.5.0", + "@vue/cli-plugin-vuex": "~4.5.0", + "@vue/cli-service": "~4.5.0", + "@vue/compiler-sfc": "^3.2.11", + "babel-eslint": "^10.1.0", + "babel-plugin-import": "^1.13.3", + "eslint": "^6.7.2", + "eslint-plugin-vue": "^7.0.0", + "js-cookie": "^3.0.1", + "node-sass": "^4.14.1", + "print-js": "^1.6.0", + "sass": "^1.55.0", + "sass-loader": "^8.0.2", + "script-loader": "^0.7.2", + "vite": "^3.1.0", + "vue-loader-v16": "^16.0.0-beta.5.4" + } +} diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..8fa9c2f --- /dev/null +++ b/src/App.vue @@ -0,0 +1,70 @@ + + + + diff --git a/src/assets/404.png b/src/assets/404.png new file mode 100644 index 0000000000000000000000000000000000000000..88685dd88d5c52c6a8bc0a46cd691f9625d7df14 GIT binary patch literal 7286 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 S&EF4n6oaR$pUXO@geCxoCsT9) literal 0 HcmV?d00001 diff --git a/src/assets/down.png b/src/assets/down.png new file mode 100644 index 0000000000000000000000000000000000000000..c03eb9e1d236aa3322f949e6d6866560d43e23b1 GIT binary patch literal 2391 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 JPDHLkV1k1YhC~1W literal 0 HcmV?d00001 diff --git a/src/assets/down1.png b/src/assets/down1.png new file mode 100644 index 0000000000000000000000000000000000000000..7ffe4801034f3cef6c5fa5138ea79fb63433b930 GIT binary patch literal 504 zcmVPx#1am@3R0s$N2z&@+hyVZqqDe$SR9J=WmRoLvFc3xWnEuBSB1zXlw$W|CnqW;~ zA0Y_ISpc4Xq^RIWfINt*`uy4P<9O^D0t5nqK;Z9Dx2iZbDtosF0MM|}D3x+YMc>w% z%Y7ot^|gKx!-noKikc9VHA zq=@rG%4*o>I?Rwqs=-Y`064doqc!PAvQaA49WwI}&y<`LG;1Spy*AdUd{JX?bzOWc zevjm&ATWJ}E(zDce3It+!!cGCyVxhPG&9?T!4*ZE_Y3<k%zOO3wL0EfNHPZM->9#Q8Sf9OgcFSMdkteMT1x_8Tsp<9o;4 zQ4tCH^v%0V@Ls%Px#1am@3R0s$N2z&@+hyVZqKuJVFRA_ zm>~DklW5=sNBo;s^7mE?x&9Q4!9<2(7+1o1plO;mrPL8odp2oGsgE%ZC50X3mIs`3 zpHxsh5fL-D&N-Ur`MV^~5mo|KReeb$){^)@CTHf}d*4C-BM;PdotD3+XP=fRa#cVuXbHQ%G9kUYa1Elt*|-ki=KpWphC4By5nKMe4)9 zxCi#$R=0XYa%-V}0@5oNRRP4lNKF8>>{1axZtCCy=rto;0KFr%L3TB7FR(j_&%AAF z^7bdNB@ncW_y-{mtOS^O*t+lq2#?wf!!TZmAA^R8-j~}Ei~s-t07*qoM6N<$f@2$~ AUH||9 literal 0 HcmV?d00001 diff --git a/src/assets/edit.png b/src/assets/edit.png new file mode 100644 index 0000000000000000000000000000000000000000..e6cbb6c7c1ecdfc437895b9eed239839b21a8d9d GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Sc;uILpXq- zh9ji|$nW)ZaSXBOJv!+i?_mWV*Z5U@&)z+ZO)C2+m$>Rg6d}T`-z5O*Zm*nO3nAZdnoSIuAI938it}} WVK(+9d740nF?hQAxvXd8Q literal 0 HcmV?d00001 diff --git a/src/assets/equal.png b/src/assets/equal.png new file mode 100644 index 0000000000000000000000000000000000000000..e24be4248cb9f79349dad7f4c48ced50534289d7 GIT binary patch literal 2000 zcmV;>2QT=EP)Px#1am@3R0s$N2z&@+hyVZwdPzheWh6VGHa3Qjg+EfWN} zNVr*q;0B1ZNL=g<0%Y+9T=EKIBk=&s6L5?C0*DLZYy?OM6eQ$aB#2d%m9p`W9gk;1 zyFaQ97u7u<_9U?roL&CXsB3!a<2R>IRh>R1yg&+47v{88-3RDxPVaB;3NO>fjcHF? zGwpguMv%$n=*Y7_FMyq`zJ<`+oI>623pZbi_iEh%uCIhqHf|_eoAdCp7KYlm{bg1^756YvGrj^{v(Ctp)#^t=5wW8@`9Sp+v zqPn-V?8%=gX`-|)_yFEip0t(gD>||EjC;sJ*xIVALqqdjVLURVZA16&2Uz!0lpg>W z7n}3MdIoZv()^a;_kKrnBC^ z`5Nqhh`#YuTP%@}pz{lgZ~v3w$kV#udA#R&(pGxw9yTXFZ6=Mj5Vm)N8>|ikEDg)> zSp>shpBXHG>i1#)!!TCEGTt|=4uj#gcV%`dH52RBuFy?|=DR|tZD3@%@b@2v4$oN1 zP1^tX07jNhJGf#u4NUb)rL~3YfAC;bO|X%{4J{;=$p7rjVQVG%k0G(Rp=CTWwAQK> zYRVXZdz(zGJKhfyENdEwEUN2o4H({s$dWY!!+76JtX%D?0l415T5Ccx7h0*InHd_n z;mucr)950NJdE8+!!p`hlUYVH=MGQPu+GM9;UKaQ*|!K=DY6_ymbe{Qo~CndG1=+D zcAE%?g~5uU;{}(P7j=7Pietl4E@X!Wr-o(kSx#qG2?)W=tRg3riJ>gsK5$tW%ES=4 zd8Ufd(A$KYgg~a53vnq#=Y&HiIQMGctG$!MoTRREhC>$^;0n9d(UM zA$3CJ1)ID)#(nQLT-`hw$kkq```+!B*Rx3&J9RRROQsRwaSL|4kUGKmSHpJKVXy-q zZ@n7$D)yZ&luQvuHgRh1&PcZHSe+n^Ax04=~(4HxNZFANOf`u@U~gT->ADfGQt zi($25sF}W0mA7|g-oh`6XOHT_`pE%br2U=OY8D;4GcJV&kT(RA3(W zfH#DNMZontSduBRImPt8Eo)&jTO%@rx)kmyxMo#mCim|2bH=9s43}0EDwjraxq|%RZIA}ZN4PwU z-LyK*X*`_Nu$!_YJo<{zITXreL9D^#1{+&YgZa0|6hC?^yt?!&+?OAbL=Fxexpf>G zPhNWdx~$y!P301GQm$5Ml_>W_v8VXv4#?dzhZXrFhu``$QS6CwPig0wD#ocx44TUG zhO)HmX)Jk$Rw)WkQF_wVUxNJU3~BF@t@bENPf>)i8%v(0WzX|QNMF@8RS~u~3@d#h zZCc!(#YPdvL}Wfj8wrt*aT?S3+jmHcpP=r$y!p%NXNcUUIRASNzi|gE1*IvFET>@# zyf1NOiM`}#rjGuKva#(0Fq^{8j-kJ2pktw7iHRs&%y}a63fM@55TV9`SiCnF6(ka5 zCKPoV%2uY2RgI#h;zcpWgF3`JloGEcRtgeRa6n0H3kpie91I;RmptnsWfg$yB;ep* zhSf`EV&$=kh$O;RphhZKW6{FmtwB^U6=3;-_&KVUNH25Cz-JI;6ecH* zvW1_*DM~pT`@)oA@h2FJ0z0_Bc=6; zGG6h}b{vd=1P)LdnMWdvi449l??zgLX~m_klFCEhlb2|UjfhR1sLx`=c3|mFLrCiX&kQgDW z-v5*k^dD752&BYSJ6NnZtJvH#w#s?q@Yd7FJ@%rTrd#unZvFWUh3)Ao0jEf4w^Bpg z4oQxvdKFJy__U6p&TCBA@|#vE|D%-E(p8L>TibAb1D=FwLU&JS zttsp)uJl+VI5ju}ek`OXJTmAK;uKpS87O$;aiv10*h`-Nqu>Tl+Di8&M+S3NhWTTz z+S>J5$J10;&O*CpK7~8+p$w2#hceF_%H{e{raDpTujsL3utmTV=&CRQ|AHNR{eK@U i9)qq5bNZZ*ZvP8MsSreY0P$J?0000vAW3s literal 0 HcmV?d00001 diff --git a/src/assets/equal1.png b/src/assets/equal1.png new file mode 100644 index 0000000000000000000000000000000000000000..23f145301b58b830a5c8b8dbca63935334a299f9 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEjKx9jP7LeL$-D$|Sc;uILpXq- zh9ji|$bakU;usRq`gWQxU$cUMoBf8nn+-q8-8(sN<(-w^4H6IU6Wp~yD);EA2mZIu zL<Z9%t}$^>bP0l+XkK2S|c| literal 0 HcmV?d00001 diff --git a/src/assets/error.png b/src/assets/error.png new file mode 100644 index 0000000000000000000000000000000000000000..3a70861e1b51fc89ed5b4b53bc08059f6b5b00c5 GIT binary patch literal 4015 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 YZhUcVg+@Hh@4x}p7Ix+@O?_|w2Rj^Hp8x;= literal 0 HcmV?d00001 diff --git a/src/assets/flow@3x.png b/src/assets/flow@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae0dd6a676f6ebca1fe0c8ede8d00643a9b8f24 GIT binary patch literal 600 zcmV-e0;m0nP)Px#1am@3R0s$N2z&@+hyVZr0!c(cRA_ZD)?tDJucDsFP z$I_a?90$Dj*PQ3WxrnG+-ecxYYf}`^G!5rCF^;2XCxztvj8?>H%fx#Sa~=SQsMAD3 z5dkUZXEY*IA;iqTCX-?|<;-HN1K@=Fm&w*=_**QTR06^n&&`n(M06R3p$7nKt;-Qn zEC*(oxtpB_fMFPV>5CFkXRUSN{o(>b$E>wZ%8yX!&v?n`kvSlZpY9!(11WOrfOZuE z()FN72zl?Xny;oQX2o(KB|=+?-`56jcTJD?{%VX7bLy$R&|j0PJ28qcqt8+Wl%@(O zO%+g@DxfstRw88Huix+YkJIV&CGE>g5iQw!v_01B{&FI5zKG4UDxhhaPY8$afPNgu zOX3;H_HO45F$bnMfmm-6J2<~LVj_U) mU#zum-iZRQwTxCO|DA6ZB~M)kf*i>J0000p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/assets/font/demo_index.html b/src/assets/font/demo_index.html new file mode 100644 index 0000000..a66c2d4 --- /dev/null +++ b/src/assets/font/demo_index.html @@ -0,0 +1,1384 @@ + + + + + iconfont Demo + + + + + + + + + + + + + +
+

+ + +

+ +
+
+
    + +
  • + +
    添加
    +
    &#xe65e;
    +
  • + +
  • + +
    复制
    +
    &#xe65d;
    +
  • + +
  • + +
    关闭
    +
    &#xe65b;
    +
  • + +
  • + +
    编辑
    +
    &#xe65a;
    +
  • + +
  • + +
    税务管理
    +
    &#xe649;
    +
  • + +
  • + +
    成本管理
    +
    &#xe645;
    +
  • + +
  • + +
    应收款管理
    +
    &#xe642;
    +
  • + +
  • + +
    资金管理
    +
    &#xe643;
    +
  • + +
  • + +
    费用管理
    +
    &#xe644;
    +
  • + +
  • + +
    出纳管理
    +
    &#xe646;
    +
  • + +
  • + +
    资产管理
    +
    &#xe647;
    +
  • + +
  • + +
    总账
    +
    &#xe648;
    +
  • + +
  • + +
    应付款管理
    +
    &#xe64a;
    +
  • + +
  • + +
    财务
    +
    &#xe641;
    +
  • + +
  • + +
    导出
    +
    &#xe63f;
    +
  • + +
  • + +
    人民币
    +
    &#xe63b;
    +
  • + +
  • + +
    下载为空
    +
    &#xe63a;
    +
  • + +
  • + +
    删除
    +
    &#xe639;
    +
  • + +
  • + +
    导出
    +
    &#xe636;
    +
  • + +
  • + +
    下单
    +
    &#xe637;
    +
  • + +
  • + +
    批量
    +
    &#xe638;
    +
  • + +
  • + +
    折线图
    +
    &#xe635;
    +
  • + +
  • + +
    更多
    +
    &#xe631;
    +
  • + +
  • + +
    成功
    +
    &#xe630;
    +
  • + +
  • + +
    示警
    +
    &#xe62f;
    +
  • + +
  • + +
    信息
    +
    &#xe62e;
    +
  • + +
  • + +
    任务为空
    +
    &#xe62d;
    +
  • + +
  • + +
    浏览记录为空
    +
    &#xe62c;
    +
  • + +
  • + +
    清除
    +
    &#xe62b;
    +
  • + +
  • + +
    左边
    +
    &#xe629;
    +
  • + +
  • + +
    右边
    +
    &#xe62a;
    +
  • + +
  • + +
    选中
    +
    &#xe628;
    +
  • + +
  • + +
    双箭头收起-上
    +
    &#xe626;
    +
  • + +
  • + +
    双箭头展开-下
    +
    &#xe627;
    +
  • + +
  • + +
    刷新
    +
    &#xe625;
    +
  • + +
  • + +
    添加
    +
    &#xe624;
    +
  • + +
  • + +
    保存
    +
    &#xe623;
    +
  • + +
  • + +
    右-展开更多
    +
    &#xe61d;
    +
  • + +
  • + +
    左-展开更多
    +
    &#xe61e;
    +
  • + +
  • + +
    下-展开
    +
    &#xe61f;
    +
  • + +
  • + +
    关闭
    +
    &#xe620;
    +
  • + +
  • + +
    报表
    +
    &#xe612;
    +
  • + +
  • + +
    采购
    +
    &#xe613;
    +
  • + +
  • + +
    仓库
    +
    &#xe614;
    +
  • + +
  • + +
    生产
    +
    &#xe615;
    +
  • + +
  • + +
    销售
    +
    &#xe616;
    +
  • + +
  • + +
    条码
    +
    &#xe617;
    +
  • + +
  • + +
    物料
    +
    &#xe618;
    +
  • + +
  • + +
    委外
    +
    &#xe619;
    +
  • + +
  • + +
    供应商
    +
    &#xe61a;
    +
  • + +
  • + +
    设置
    +
    &#xe61b;
    +
  • + +
  • + +
    211
    +
    &#xe61c;
    +
  • + +
+
+

Unicode 引用

+
+ +

Unicode 是字体在网页端最原始的应用方式,特点是:

+
    +
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • +
  • 默认情况下不支持多色,直接添加多色图标会自动去色。
  • +
+
+

注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)

+
+

Unicode 使用步骤如下:

+

第一步:拷贝项目下面生成的 @font-face

+
@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.woff2?t=1668760463258') format('woff2'),
+       url('iconfont.woff?t=1668760463258') format('woff'),
+       url('iconfont.ttf?t=1668760463258') format('truetype');
+}
+
+

第二步:定义使用 iconfont 的样式

+
.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+

第三步:挑选相应图标并获取字体编码,应用于页面

+
+<span class="iconfont">&#x33;</span>
+
+
+

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    + 添加 +
    +
    .icon-tianjia1 +
    +
  • + +
  • + +
    + 复制 +
    +
    .icon-fuzhi +
    +
  • + +
  • + +
    + 关闭 +
    +
    .icon-guanbi1 +
    +
  • + +
  • + +
    + 编辑 +
    +
    .icon-bianji1 +
    +
  • + +
  • + +
    + 税务管理 +
    +
    .icon-shuiwuguanli +
    +
  • + +
  • + +
    + 成本管理 +
    +
    .icon-chengbenguanli +
    +
  • + +
  • + +
    + 应收款管理 +
    +
    .icon-yingshoukuanguanli +
    +
  • + +
  • + +
    + 资金管理 +
    +
    .icon-zijinguanli +
    +
  • + +
  • + +
    + 费用管理 +
    +
    .icon-feiyongguanli +
    +
  • + +
  • + +
    + 出纳管理 +
    +
    .icon-chunaguanli +
    +
  • + +
  • + +
    + 资产管理 +
    +
    .icon-zichanguanli +
    +
  • + +
  • + +
    + 总账 +
    +
    .icon-zongzhang +
    +
  • + +
  • + +
    + 应付款管理 +
    +
    .icon-yingfukuanguanli +
    +
  • + +
  • + +
    + 财务 +
    +
    .icon-caiwu +
    +
  • + +
  • + +
    + 导出 +
    +
    .icon-daochu1 +
    +
  • + +
  • + +
    + 人民币 +
    +
    .icon-renminbi +
    +
  • + +
  • + +
    + 下载为空 +
    +
    .icon-xiazaiweikong +
    +
  • + +
  • + +
    + 删除 +
    +
    .icon-shanchu +
    +
  • + +
  • + +
    + 导出 +
    +
    .icon-daochu +
    +
  • + +
  • + +
    + 下单 +
    +
    .icon-xiadan +
    +
  • + +
  • + +
    + 批量 +
    +
    .icon-piliang +
    +
  • + +
  • + +
    + 折线图 +
    +
    .icon-zhexiantu +
    +
  • + +
  • + +
    + 更多 +
    +
    .icon-gengduo +
    +
  • + +
  • + +
    + 成功 +
    +
    .icon-chenggong +
    +
  • + +
  • + +
    + 示警 +
    +
    .icon-shijing +
    +
  • + +
  • + +
    + 信息 +
    +
    .icon-xinxi +
    +
  • + +
  • + +
    + 任务为空 +
    +
    .icon-renwuweikong +
    +
  • + +
  • + +
    + 浏览记录为空 +
    +
    .icon-liulanjiluweikong +
    +
  • + +
  • + +
    + 清除 +
    +
    .icon-qingchu +
    +
  • + +
  • + +
    + 左边 +
    +
    .icon-zuobian +
    +
  • + +
  • + +
    + 右边 +
    +
    .icon-youbian +
    +
  • + +
  • + +
    + 选中 +
    +
    .icon-xuanzhong +
    +
  • + +
  • + +
    + 双箭头收起-上 +
    +
    .icon-shuangjiantoushouqi-shang +
    +
  • + +
  • + +
    + 双箭头展开-下 +
    +
    .icon-shuangjiantouzhankai-xia +
    +
  • + +
  • + +
    + 刷新 +
    +
    .icon-shuaxin +
    +
  • + +
  • + +
    + 添加 +
    +
    .icon-tianjia +
    +
  • + +
  • + +
    + 保存 +
    +
    .icon-baocun +
    +
  • + +
  • + +
    + 右-展开更多 +
    +
    .icon-you-zhankaigengduo +
    +
  • + +
  • + +
    + 左-展开更多 +
    +
    .icon-zuo-zhankaigengduo +
    +
  • + +
  • + +
    + 下-展开 +
    +
    .icon-xia-zhankai +
    +
  • + +
  • + +
    + 关闭 +
    +
    .icon-guanbi +
    +
  • + +
  • + +
    + 报表 +
    +
    .icon-baobiao +
    +
  • + +
  • + +
    + 采购 +
    +
    .icon-caigou +
    +
  • + +
  • + +
    + 仓库 +
    +
    .icon-cangku +
    +
  • + +
  • + +
    + 生产 +
    +
    .icon-shengchan +
    +
  • + +
  • + +
    + 销售 +
    +
    .icon-xiaoshou +
    +
  • + +
  • + +
    + 条码 +
    +
    .icon-tiaoma +
    +
  • + +
  • + +
    + 物料 +
    +
    .icon-wuliao +
    +
  • + +
  • + +
    + 委外 +
    +
    .icon-weiwai +
    +
  • + +
  • + +
    + 供应商 +
    +
    .icon-gongyingshang +
    +
  • + +
  • + +
    + 设置 +
    +
    .icon-shezhi +
    +
  • + +
  • + +
    + 211 +
    +
    .icon-a-211 +
    +
  • + +
+
+

font-class 引用

+
+ +

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

+

与 Unicode 使用方式相比,具有如下特点:

+
    +
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • +
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 fontclass 代码:

+
<link rel="stylesheet" href="./iconfont.css">
+
+

第二步:挑选相应图标并获取类名,应用于页面:

+
<span class="iconfont icon-xxx"></span>
+
+
+

" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    添加
    +
    #icon-tianjia1
    +
  • + +
  • + +
    复制
    +
    #icon-fuzhi
    +
  • + +
  • + +
    关闭
    +
    #icon-guanbi1
    +
  • + +
  • + +
    编辑
    +
    #icon-bianji1
    +
  • + +
  • + +
    税务管理
    +
    #icon-shuiwuguanli
    +
  • + +
  • + +
    成本管理
    +
    #icon-chengbenguanli
    +
  • + +
  • + +
    应收款管理
    +
    #icon-yingshoukuanguanli
    +
  • + +
  • + +
    资金管理
    +
    #icon-zijinguanli
    +
  • + +
  • + +
    费用管理
    +
    #icon-feiyongguanli
    +
  • + +
  • + +
    出纳管理
    +
    #icon-chunaguanli
    +
  • + +
  • + +
    资产管理
    +
    #icon-zichanguanli
    +
  • + +
  • + +
    总账
    +
    #icon-zongzhang
    +
  • + +
  • + +
    应付款管理
    +
    #icon-yingfukuanguanli
    +
  • + +
  • + +
    财务
    +
    #icon-caiwu
    +
  • + +
  • + +
    导出
    +
    #icon-daochu1
    +
  • + +
  • + +
    人民币
    +
    #icon-renminbi
    +
  • + +
  • + +
    下载为空
    +
    #icon-xiazaiweikong
    +
  • + +
  • + +
    删除
    +
    #icon-shanchu
    +
  • + +
  • + +
    导出
    +
    #icon-daochu
    +
  • + +
  • + +
    下单
    +
    #icon-xiadan
    +
  • + +
  • + +
    批量
    +
    #icon-piliang
    +
  • + +
  • + +
    折线图
    +
    #icon-zhexiantu
    +
  • + +
  • + +
    更多
    +
    #icon-gengduo
    +
  • + +
  • + +
    成功
    +
    #icon-chenggong
    +
  • + +
  • + +
    示警
    +
    #icon-shijing
    +
  • + +
  • + +
    信息
    +
    #icon-xinxi
    +
  • + +
  • + +
    任务为空
    +
    #icon-renwuweikong
    +
  • + +
  • + +
    浏览记录为空
    +
    #icon-liulanjiluweikong
    +
  • + +
  • + +
    清除
    +
    #icon-qingchu
    +
  • + +
  • + +
    左边
    +
    #icon-zuobian
    +
  • + +
  • + +
    右边
    +
    #icon-youbian
    +
  • + +
  • + +
    选中
    +
    #icon-xuanzhong
    +
  • + +
  • + +
    双箭头收起-上
    +
    #icon-shuangjiantoushouqi-shang
    +
  • + +
  • + +
    双箭头展开-下
    +
    #icon-shuangjiantouzhankai-xia
    +
  • + +
  • + +
    刷新
    +
    #icon-shuaxin
    +
  • + +
  • + +
    添加
    +
    #icon-tianjia
    +
  • + +
  • + +
    保存
    +
    #icon-baocun
    +
  • + +
  • + +
    右-展开更多
    +
    #icon-you-zhankaigengduo
    +
  • + +
  • + +
    左-展开更多
    +
    #icon-zuo-zhankaigengduo
    +
  • + +
  • + +
    下-展开
    +
    #icon-xia-zhankai
    +
  • + +
  • + +
    关闭
    +
    #icon-guanbi
    +
  • + +
  • + +
    报表
    +
    #icon-baobiao
    +
  • + +
  • + +
    采购
    +
    #icon-caigou
    +
  • + +
  • + +
    仓库
    +
    #icon-cangku
    +
  • + +
  • + +
    生产
    +
    #icon-shengchan
    +
  • + +
  • + +
    销售
    +
    #icon-xiaoshou
    +
  • + +
  • + +
    条码
    +
    #icon-tiaoma
    +
  • + +
  • + +
    物料
    +
    #icon-wuliao
    +
  • + +
  • + +
    委外
    +
    #icon-weiwai
    +
  • + +
  • + +
    供应商
    +
    #icon-gongyingshang
    +
  • + +
  • + +
    设置
    +
    #icon-shezhi
    +
  • + +
  • + +
    211
    +
    #icon-a-211
    +
  • + +
+
+

Symbol 引用

+
+ +

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

+
    +
  • 支持多色图标了,不再受单色限制。
  • +
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • +
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • +
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 symbol 代码:

+
<script src="./iconfont.js"></script>
+
+

第二步:加入通用 CSS 代码(引入一次就行):

+
<style>
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+</style>
+
+

第三步:挑选相应图标并获取类名,应用于页面:

+
<svg class="icon" aria-hidden="true">
+  <use xlink:href="#icon-xxx"></use>
+</svg>
+
+
+
+ +
+
+ + + diff --git a/src/assets/font/iconfont.css b/src/assets/font/iconfont.css new file mode 100644 index 0000000..2716ae5 --- /dev/null +++ b/src/assets/font/iconfont.css @@ -0,0 +1,225 @@ +@font-face { + font-family: 'iconfont'; /* Project id 2863944 */ + src: url('iconfont.woff2?t=1668760463258') format('woff2'), url('iconfont.woff?t=1668760463258') format('woff'), + url('iconfont.ttf?t=1668760463258') format('truetype'); +} + +.iconfont { + font-family: 'iconfont' !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-tianjia1:before { + content: '\e65e'; +} + +.icon-fuzhi:before { + content: '\e65d'; +} + +.icon-guanbi1:before { + content: '\e65b'; +} + +.icon-bianji1:before { + content: '\e65a'; + margin-right: 4px; + font-size: 14px; + color: #c0c4cc; + font-weight: 100; +} + +.icon-shuiwuguanli:before { + content: '\e649'; +} + +.icon-chengbenguanli:before { + content: '\e645'; +} + +.icon-yingshoukuanguanli:before { + content: '\e642'; +} + +.icon-zijinguanli:before { + content: '\e643'; +} + +.icon-feiyongguanli:before { + content: '\e644'; +} + +.icon-chunaguanli:before { + content: '\e646'; +} + +.icon-zichanguanli:before { + content: '\e647'; +} + +.icon-zongzhang:before { + content: '\e648'; +} + +.icon-yingfukuanguanli:before { + content: '\e64a'; +} + +.icon-caiwu:before { + content: '\e641'; +} + +.icon-daochu1:before { + content: '\e63f'; +} + +.icon-renminbi:before { + content: '\e63b'; +} + +.icon-xiazaiweikong:before { + content: '\e63a'; +} + +.icon-shanchu:before { + content: '\e639'; +} + +.icon-daochu:before { + content: '\e636'; +} + +.icon-xiadan:before { + content: '\e637'; +} + +.icon-piliang:before { + content: '\e638'; +} + +.icon-zhexiantu:before { + content: '\e635'; +} + +.icon-gengduo:before { + content: '\e631'; +} + +.icon-chenggong:before { + content: '\e630'; +} + +.icon-shijing:before { + content: '\e62f'; +} + +.icon-xinxi:before { + content: '\e62e'; +} + +.icon-renwuweikong:before { + content: '\e62d'; +} + +.icon-liulanjiluweikong:before { + content: '\e62c'; +} + +.icon-qingchu:before { + content: '\e62b'; +} + +.icon-zuobian:before { + content: '\e629'; +} + +.icon-youbian:before { + content: '\e62a'; +} + +.icon-xuanzhong:before { + content: '\e628'; +} + +.icon-shuangjiantoushouqi-shang:before { + content: '\e626'; +} + +.icon-shuangjiantouzhankai-xia:before { + content: '\e627'; +} + +.icon-shuaxin:before { + content: '\e625'; +} + +.icon-tianjia:before { + content: '\e624'; +} + +.icon-baocun:before { + content: '\e623'; +} + +.icon-you-zhankaigengduo:before { + content: '\e61d'; +} + +.icon-zuo-zhankaigengduo:before { + content: '\e61e'; +} + +.icon-xia-zhankai:before { + content: '\e61f'; +} + +.icon-guanbi:before { + content: '\e620'; +} + +.icon-baobiao:before { + content: '\e612'; +} + +.icon-caigou:before { + content: '\e613'; +} + +.icon-cangku:before { + content: '\e614'; +} + +.icon-shengchan:before { + content: '\e615'; +} + +.icon-xiaoshou:before { + content: '\e616'; +} + +.icon-tiaoma:before { + content: '\e617'; +} + +.icon-wuliao:before { + content: '\e618'; +} + +.icon-weiwai:before { + content: '\e619'; +} + +.icon-gongyingshang:before { + content: '\e61a'; +} + +.icon-shezhi:before { + content: '\e61b'; +} + +.icon-a-211:before { + content: '\e61c'; +} diff --git a/src/assets/font/iconfont.js b/src/assets/font/iconfont.js new file mode 100644 index 0000000..a6137d5 --- /dev/null +++ b/src/assets/font/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_2863944='',function(a){var h=(h=document.getElementsByTagName("script"))[h.length-1],c=h.getAttribute("data-injectcss"),h=h.getAttribute("data-disable-injectsvg");if(!h){var l,t,i,p,o,v=function(h,c){c.parentNode.insertBefore(h,c)};if(c&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(h){console&&console.log(h)}}l=function(){var h,c=document.createElement("div");c.innerHTML=a._iconfont_svg_string_2863944,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(h=document.body).firstChild?v(c,h.firstChild):h.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),l()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(i=l,p=a.document,o=!1,d(),p.onreadystatechange=function(){"complete"==p.readyState&&(p.onreadystatechange=null,z())})}function z(){o||(o=!0,i())}function d(){try{p.documentElement.doScroll("left")}catch(h){return void setTimeout(d,50)}z()}}(window); \ No newline at end of file diff --git a/src/assets/font/iconfont.json b/src/assets/font/iconfont.json new file mode 100644 index 0000000..56d4e1a --- /dev/null +++ b/src/assets/font/iconfont.json @@ -0,0 +1,373 @@ +{ + "id": "2863944", + "name": "OPS", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "32937331", + "name": "添加", + "font_class": "tianjia1", + "unicode": "e65e", + "unicode_decimal": 58974 + }, + { + "icon_id": "32936674", + "name": "复制", + "font_class": "fuzhi", + "unicode": "e65d", + "unicode_decimal": 58973 + }, + { + "icon_id": "31372064", + "name": "关闭", + "font_class": "guanbi1", + "unicode": "e65b", + "unicode_decimal": 58971 + }, + { + "icon_id": "31254227", + "name": "编辑", + "font_class": "bianji1", + "unicode": "e65a", + "unicode_decimal": 58970 + }, + { + "icon_id": "28767114", + "name": "税务管理", + "font_class": "shuiwuguanli", + "unicode": "e649", + "unicode_decimal": 58953 + }, + { + "icon_id": "28758569", + "name": "成本管理", + "font_class": "chengbenguanli", + "unicode": "e645", + "unicode_decimal": 58949 + }, + { + "icon_id": "28756346", + "name": "应收款管理", + "font_class": "yingshoukuanguanli", + "unicode": "e642", + "unicode_decimal": 58946 + }, + { + "icon_id": "28756347", + "name": "资金管理", + "font_class": "zijinguanli", + "unicode": "e643", + "unicode_decimal": 58947 + }, + { + "icon_id": "28756349", + "name": "费用管理", + "font_class": "feiyongguanli", + "unicode": "e644", + "unicode_decimal": 58948 + }, + { + "icon_id": "28756351", + "name": "出纳管理", + "font_class": "chunaguanli", + "unicode": "e646", + "unicode_decimal": 58950 + }, + { + "icon_id": "28756352", + "name": "资产管理", + "font_class": "zichanguanli", + "unicode": "e647", + "unicode_decimal": 58951 + }, + { + "icon_id": "28756353", + "name": "总账", + "font_class": "zongzhang", + "unicode": "e648", + "unicode_decimal": 58952 + }, + { + "icon_id": "28756355", + "name": "应付款管理", + "font_class": "yingfukuanguanli", + "unicode": "e64a", + "unicode_decimal": 58954 + }, + { + "icon_id": "28442176", + "name": "财务", + "font_class": "caiwu", + "unicode": "e641", + "unicode_decimal": 58945 + }, + { + "icon_id": "28373960", + "name": "导出", + "font_class": "daochu1", + "unicode": "e63f", + "unicode_decimal": 58943 + }, + { + "icon_id": "28043356", + "name": "人民币", + "font_class": "renminbi", + "unicode": "e63b", + "unicode_decimal": 58939 + }, + { + "icon_id": "27909200", + "name": "下载为空", + "font_class": "xiazaiweikong", + "unicode": "e63a", + "unicode_decimal": 58938 + }, + { + "icon_id": "26973680", + "name": "删除", + "font_class": "shanchu", + "unicode": "e639", + "unicode_decimal": 58937 + }, + { + "icon_id": "26955368", + "name": "导出", + "font_class": "daochu", + "unicode": "e636", + "unicode_decimal": 58934 + }, + { + "icon_id": "26955369", + "name": "下单", + "font_class": "xiadan", + "unicode": "e637", + "unicode_decimal": 58935 + }, + { + "icon_id": "26955370", + "name": "批量", + "font_class": "piliang", + "unicode": "e638", + "unicode_decimal": 58936 + }, + { + "icon_id": "26954331", + "name": "折线图", + "font_class": "zhexiantu", + "unicode": "e635", + "unicode_decimal": 58933 + }, + { + "icon_id": "25254824", + "name": "更多", + "font_class": "gengduo", + "unicode": "e631", + "unicode_decimal": 58929 + }, + { + "icon_id": "25181240", + "name": "成功", + "font_class": "chenggong", + "unicode": "e630", + "unicode_decimal": 58928 + }, + { + "icon_id": "25181198", + "name": "示警", + "font_class": "shijing", + "unicode": "e62f", + "unicode_decimal": 58927 + }, + { + "icon_id": "25181181", + "name": "信息", + "font_class": "xinxi", + "unicode": "e62e", + "unicode_decimal": 58926 + }, + { + "icon_id": "25176785", + "name": "任务为空", + "font_class": "renwuweikong", + "unicode": "e62d", + "unicode_decimal": 58925 + }, + { + "icon_id": "25176783", + "name": "浏览记录为空", + "font_class": "liulanjiluweikong", + "unicode": "e62c", + "unicode_decimal": 58924 + }, + { + "icon_id": "25162308", + "name": "清除", + "font_class": "qingchu", + "unicode": "e62b", + "unicode_decimal": 58923 + }, + { + "icon_id": "25148507", + "name": "左边", + "font_class": "zuobian", + "unicode": "e629", + "unicode_decimal": 58921 + }, + { + "icon_id": "25148508", + "name": "右边", + "font_class": "youbian", + "unicode": "e62a", + "unicode_decimal": 58922 + }, + { + "icon_id": "25100884", + "name": "选中", + "font_class": "xuanzhong", + "unicode": "e628", + "unicode_decimal": 58920 + }, + { + "icon_id": "25097364", + "name": "双箭头收起-上", + "font_class": "shuangjiantoushouqi-shang", + "unicode": "e626", + "unicode_decimal": 58918 + }, + { + "icon_id": "25097365", + "name": "双箭头展开-下", + "font_class": "shuangjiantouzhankai-xia", + "unicode": "e627", + "unicode_decimal": 58919 + }, + { + "icon_id": "25097087", + "name": "刷新", + "font_class": "shuaxin", + "unicode": "e625", + "unicode_decimal": 58917 + }, + { + "icon_id": "25097062", + "name": "添加", + "font_class": "tianjia", + "unicode": "e624", + "unicode_decimal": 58916 + }, + { + "icon_id": "25097053", + "name": "保存", + "font_class": "baocun", + "unicode": "e623", + "unicode_decimal": 58915 + }, + { + "icon_id": "24910721", + "name": "右-展开更多", + "font_class": "you-zhankaigengduo", + "unicode": "e61d", + "unicode_decimal": 58909 + }, + { + "icon_id": "24910731", + "name": "左-展开更多", + "font_class": "zuo-zhankaigengduo", + "unicode": "e61e", + "unicode_decimal": 58910 + }, + { + "icon_id": "24910740", + "name": "下-展开", + "font_class": "xia-zhankai", + "unicode": "e61f", + "unicode_decimal": 58911 + }, + { + "icon_id": "24910742", + "name": "关闭", + "font_class": "guanbi", + "unicode": "e620", + "unicode_decimal": 58912 + }, + { + "icon_id": "24903722", + "name": "报表", + "font_class": "baobiao", + "unicode": "e612", + "unicode_decimal": 58898 + }, + { + "icon_id": "24903723", + "name": "采购", + "font_class": "caigou", + "unicode": "e613", + "unicode_decimal": 58899 + }, + { + "icon_id": "24903733", + "name": "仓库", + "font_class": "cangku", + "unicode": "e614", + "unicode_decimal": 58900 + }, + { + "icon_id": "24903735", + "name": "生产", + "font_class": "shengchan", + "unicode": "e615", + "unicode_decimal": 58901 + }, + { + "icon_id": "24903736", + "name": "销售", + "font_class": "xiaoshou", + "unicode": "e616", + "unicode_decimal": 58902 + }, + { + "icon_id": "24903737", + "name": "条码", + "font_class": "tiaoma", + "unicode": "e617", + "unicode_decimal": 58903 + }, + { + "icon_id": "24903738", + "name": "物料", + "font_class": "wuliao", + "unicode": "e618", + "unicode_decimal": 58904 + }, + { + "icon_id": "24903739", + "name": "委外", + "font_class": "weiwai", + "unicode": "e619", + "unicode_decimal": 58905 + }, + { + "icon_id": "24903740", + "name": "供应商", + "font_class": "gongyingshang", + "unicode": "e61a", + "unicode_decimal": 58906 + }, + { + "icon_id": "24903741", + "name": "设置", + "font_class": "shezhi", + "unicode": "e61b", + "unicode_decimal": 58907 + }, + { + "icon_id": "24903806", + "name": "211", + "font_class": "a-211", + "unicode": "e61c", + "unicode_decimal": 58908 + } + ] +} diff --git a/src/assets/font/iconfont.ttf b/src/assets/font/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d9602ceaa816769fab1a77913062fff419214b0a GIT binary patch literal 12516 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 WAmY%txt(-S3S&1y^W6La;Qs(NQR3$S literal 0 HcmV?d00001 diff --git a/src/assets/font/iconfont.woff2 b/src/assets/font/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..95c406e6ad58af39bc76651b5f3e4bdf8fb58e61 GIT binary patch literal 5152 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 O;Im1Ohr`_+0001*;?P4ToV&dQ2U>tdPJ># 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 b8TkJJ46{Jwq)`gk00000NkvXXu0mjf+|QkI literal 0 HcmV?d00001 diff --git a/src/assets/log_down.png b/src/assets/log_down.png new file mode 100644 index 0000000000000000000000000000000000000000..5b73241568c517fd7d2c6e557f3fcd424c052270 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Sc;uILpXq- zh9ji|$lv1W;uvDldvwx4!9xZ-EcueJHeBZPOSPE#Fldg5(8mJ~9DS4d58JBVJ$G`` zmwZLfb33&KuKOByUpC?0&G7!O@1%z7A8gJ~XYvhI=COQU5+_!C?)1YabA$!7{w1VM z`obBp`pEyNhchE4`RO)%shA&DFV1j8Y{@RCPKhvqt9n7c3_K3}UzSeUb}rI)!=AS9 zcD;{pTz_UJtaH_b0vr~oJhk+m(kVqJ0#!iET< zl2;tcuG$n`b_A;jDJuin1wjzQ!6Mh}D)3NNk{F`&HhX!p*P8Qk1d|vUK-#b^FMGaVsW}Pq;t|L0|6dR#zVErCv+>~t^fZo)IYeR>-4+VT7?o;iMy;>f3<9~jc8~1 zE3eD8<;1RcDP3;rdWWAhq^4#_X7&56Hwk81D4M}-vwhn{_MgVxr$yFPhKT!J zV>~M0CCfPRa=u=ec+KXOg$9OiE>2SyJW+Udy5WpB`}Q0@s8!zolsCw?;gL?TsTWgs zhs6E#!)vYVRKHx?@YC_~>624pu3R@~EtA~$yhFe5$`s*+2a@y43>N#YvATCW?$XyT z1;yp=FC_eugxUYH-FNiaV`3`5vhSGDc|D^gJX249HRI>JvFGm0Pl?;*Cr|utWfL?p z&2`@4_4&C6R;zM)z~OAeRD%Ds?FEmTiw&1C!{m=)vu6; z7u@7MR?kqp{xWHD1B>Ba5KRAA6Ls&KKH4tc(TC$!fnsJ i_wUcD$=>jDa{beL@fRDN-*N+!G=rzBpUXO@geCy~0KAC+ literal 0 HcmV?d00001 diff --git a/src/assets/nocheck@3x.png b/src/assets/nocheck@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..c2b3b6fec5382eeb666d716194163caeb9249e3f GIT binary patch literal 1244 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 z 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 literal 0 HcmV?d00001 diff --git a/src/assets/rise.png b/src/assets/rise.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb3ac151bcea1224a85cf999ca93d9fb16f38e8 GIT binary patch literal 2613 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 literal 0 HcmV?d00001 diff --git a/src/assets/rise1.png b/src/assets/rise1.png new file mode 100644 index 0000000000000000000000000000000000000000..610e402181b922119b11c99bd22652d9dc795876 GIT binary patch literal 371 zcmV-(0gV2MP)Px#1am@3R0s$N2z&@+hyVZq9Z5t%R7i=%m0c2oFbsqfE&$fCUZjR*O{c{A(3=b_KU%TA~rj4T=t`!lhnA~J*_$R@?fOJ|bAgTTWZwG_*9Pk6#M-RM% znRkZU%m+}(liopir?u*|R-wFD@cEct=CK#v^rirk3P`GUFlc&H#DK>~{MOSn~bfP?ZfQ@K2bSnx}Y^@OX)l&002ovPDHLkV1h%*qaFYN literal 0 HcmV?d00001 diff --git a/src/assets/serch.png b/src/assets/serch.png new file mode 100644 index 0000000000000000000000000000000000000000..f92004eceeed1f7020979a02b280d77095cb4ca3 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xa#^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#Vf?%~ICVXFH$E3T0>5``$hmypM3BN0H zGHW-j=~}Svwa|s%W{i>!q1@J{j8&D7SVZC(H+3YWC9`O^SCwn5vYHdRaMfEbt0|3T z{BIwGpIJG*=$t~iR72zY-z)FF?K0zC^>^7vgVNR3#qwbjA`bEM3hFp~Vv{+QY}wR1 z(^qLygNjnV@oc^YayxSODXZw*pY%7QL}6!e(!07w1IskCt`nQi9%!ztnzt&-W}Dx| lR~4>>5&s^FSuoZx%vl@uv2d^F6rjf#JYD@<);T3K0RUjIY-a!f literal 0 HcmV?d00001 diff --git a/src/assets/style/211/play.scss b/src/assets/style/211/play.scss new file mode 100644 index 0000000..393b2b6 --- /dev/null +++ b/src/assets/style/211/play.scss @@ -0,0 +1,42 @@ +::v-deep(.el-input-number.is-controls-right .el-input-number__decrease), +::v-deep(.el-input-number.is-controls-right .el-input-number__increase) { + line-height: 12px !important; +} +::v-deep(.el-input-number.is-controls-right .el-input-number__decrease) { + bottom: 6px !important; +} +::v-deep(.el-input-number.is-controls-right .el-input-number__increase) { + top: 8px !important; +} +::v-deep(.el-input-number) { + width: 120px !important; +} +.dialog-top { + display: flex; + margin-bottom: 10px; +} +.dialog-top span { + display: flex; + justify-content: left; + align-items: center; +} +.dialog-top div:nth-child(1), +.dialog-top div:nth-child(2) { + display: flex; + width: 18%; +} +.dialog-top div:nth-child(3) { + display: flex; + width: 64%; + overflow: hidden; +} +.hover-line:hover { + text-decoration: underline; + cursor: pointer; +} +::v-deep(.item-date .el-input__inner) { + padding: 0 8px 0 30px !important; +} +::v-deep(.item-date .el-input__suffix ){ + right: 15% !important; +} \ No newline at end of file diff --git a/src/assets/style/211/playCom.scss b/src/assets/style/211/playCom.scss new file mode 100644 index 0000000..6f62fbd --- /dev/null +++ b/src/assets/style/211/playCom.scss @@ -0,0 +1,37 @@ +::v-deep(.el-date-editor--date .el-input__inner) { + width: 160px; +} + +.sale-container ::v-deep(.s-p-t-g1::after), +.sale-container ::v-deep(.s-p-t-g2::after), +.sale-container ::v-deep(.s-p-t-g3::after), +.sale-container ::v-deep(.s-p-t-g4::after), +.sale-container ::v-deep(.s-p-t-g5::after), +.sale-container ::v-deep(.s-p-t-g6::after), +.sale-container ::v-deep(.s-p-t-g8::after), +.sale-container ::v-deep(.s-p-t-g9::after), +.sale-container ::v-deep(.s-p-t-g10::after) { + background: #fff !important; +} + +.sale-container ::v-deep(.s-p-t-g1), +.sale-container ::v-deep(.s-p-t-g2), +.sale-container ::v-deep(.s-p-t-g3), +.sale-container ::v-deep(.s-p-t-g4), +.sale-container ::v-deep(.s-p-t-g5), +.sale-container ::v-deep(.s-p-t-g6), +.sale-container ::v-deep(.s-p-t-g10) { + padding: 0; +} + +.sale-container ::v-deep(.s-p-t-g7) { + padding-left: 0; +} + +.sale-container ::v-deep(.s-p-t-g8) { + padding-right: 0; +} + +.f-c-r { + color: red; +} \ No newline at end of file diff --git a/src/assets/style/211/saleindex.scss b/src/assets/style/211/saleindex.scss new file mode 100644 index 0000000..12c36e7 --- /dev/null +++ b/src/assets/style/211/saleindex.scss @@ -0,0 +1,48 @@ +::v-deep(.el-input-number.is-controls-right .el-input-number__decrease), +::v-deep(.el-input-number.is-controls-right .el-input-number__increase) { + line-height: 12px !important; +} +::v-deep(.el-input-number.is-controls-right .el-input-number__decrease) { + bottom: 6px !important; +} +::v-deep(.el-input-number.is-controls-right .el-input-number__increase) { + top: 8px !important; +} +::v-deep(.el-input-number) { + width: 100px !important; +} +.dialog-top { + display: flex; + margin-bottom: 10px; +} +.dialog-top span { + display: flex; + justify-content: left; + align-items: center; +} +.dialog-top div:nth-child(1), +.dialog-top div:nth-child(2) { + display: flex; + width: 18%; +} +.dialog-top div:nth-child(3) { + display: flex; + width: 64%; + overflow: hidden; +} +#main { + height: 500px; +} +.dialog-header { + display: flex; + justify-content: center; + align-items: center; +} +.icon-zxt-sty { + color: #4178d5; +} +::v-deep(.overflow) { + overflow: hidden !important; + white-space: nowrap !important; + text-overflow: ellipsis !important; +} \ No newline at end of file diff --git a/src/assets/style/211/semiProdut.scss b/src/assets/style/211/semiProdut.scss new file mode 100644 index 0000000..3f6d551 --- /dev/null +++ b/src/assets/style/211/semiProdut.scss @@ -0,0 +1,82 @@ + ::v-deep(.table-header-row) { + background: #f5f7fa; + color: #000; + height: 41px; + font-size: 12px; + } + ::v-deep(.table-body-row) { + height: 50px; + font-size: 12px; + } + ::v-deep(.el-input__suffix) { + display: flex !important; + align-items: center !important; + } + ::v-deep(.el-input-number.is-controls-right .el-input-number__decrease), + ::v-deep(.el-input-number.is-controls-right .el-input-number__increase) { + line-height: 12px !important; + } + ::v-deep(.el-input-number.is-controls-right .el-input-number__decrease) { + bottom: 6px !important; + } + ::v-deep(.el-input-number.is-controls-right .el-input-number__increase) { + top: 8px !important; + } + ::v-deep(.el-input-number) { + width: 100px !important; + } + .dialog-top { + display: flex; + margin-bottom: 10px; + } + .dialog-top span { + display: flex; + justify-content: left; + align-items: center; + } + .dialog-top div:nth-child(1), + .dialog-top div:nth-child(2) { + display: flex; + width: 18%; + } + .dialog-top div:nth-child(3) { + display: flex; + width: 64%; + overflow: hidden; + } + #main { + height: 500px; + } + .dialog-header { + display: flex; + justify-content: center; + align-items: center; + } + // ::v-deep(.el-table .el-input__suffix) { + // top: -5px !important; + // } + .editDialog { + display: flex; + justify-content: center; + align-items: center; + margin: 10px 0; + } + .editDialog span:nth-child(1) { + width: 35%; + display: block; + text-align: right; + margin-right: 5px; + } + .editDialog span:nth-child(2) { + width: 45%; + display: block; + text-align: right; + margin-right: 5px; + } + ::v-deep(.el-dialog .el-input__suffix) { + top: -5px !important; + } + + .el-input__prefix { + color: #606266; + } \ No newline at end of file diff --git a/src/assets/style/activeDirect.scss b/src/assets/style/activeDirect.scss new file mode 100644 index 0000000..5c20f44 --- /dev/null +++ b/src/assets/style/activeDirect.scss @@ -0,0 +1,33 @@ +.f-c { + color: var(--el-disabled-color-base) !important; +} + +::v-deep(.is-checkbox .cell .el-checkbox .el-checkbox__input .el-checkbox__inner) { + background-color: var(--el-checkbox-disabled-input-fill) !important; + border-color: var(--el-checkbox-disabled-border-color) !important; + cursor: not-allowed; +} + +::v-deep(.el-form-item__label) { + width: 100px !important; +} + +.order-com-rr { + ::v-deep(.el-form-item__content .el-input .el-input__inner) { + padding: 0 16px 0 16px !important; + } +} + +.item-date { + ::v-deep(.el-form-item__content .el-input .el-input__inner) { + padding: 0 16px 0 16px !important; + } +} +::v-deep(.div-col .el-textarea__inner) { + padding: 0 8px !important ; + } + ::v-deep(.el-textarea__inner) { + width: 172px; + font-size: 12px !important; + padding: 0 8px 0 8px !important; + } \ No newline at end of file diff --git a/src/assets/style/global.scss b/src/assets/style/global.scss new file mode 100644 index 0000000..60ee8ec --- /dev/null +++ b/src/assets/style/global.scss @@ -0,0 +1,464 @@ +/*全局公共样式文件*/ +html, +body { + margin: 0; + padding: 0; + color: #333; + box-sizing: border-box; +} + +a { + text-decoration: none; +} + +/*去掉项目标签*/ +ul { + list-style-type: none; +} + +.f-12 { + font-size: 12px !important; +} + +.f-14 { + font-size: 14px; +} + +.main-container { + width: -moz-available; + width: -webkit-fill-available; + width: stretch; + height: -moz-available; + height: -webkit-fill-available; + height: stretch; + height: 100% !important; + margin: 0 16px; +} + +.el-main { + padding: 0; + margin-top: 16px; +} + +.min-height-fill4parent { + height: -moz-available; + height: -webkit-fill-available; + height: stretch; +} + +.bg-green { + background-color: #018a6d; +} + +.bg-green-light { + background-color: #38b48b; +} + +.bg-green-deep { + background-color: #006e54; +} + +.bg-gray-light { + background-color: #ebeef5; +} + +.bg-white { + background-color: #fff; +} + +.text-grey { + color: #c1cad5; +} + +.text-green { + color: #38b48b; +} + +.text-blue { + color: #2c74fa; +} + +.text-black { + color: #333; +} + +.text-black-light { + color: #666; +} + +.text-gray { + color: #999; +} + +.text-red { + color: #e73235; + cursor: pointer; +} + +.text-blue { + color: #3275f8; + cursor: pointer; +} + +.text-popor { + color: #796dff; +} + +.text-skyblue { + color: #60d1ff; +} + +.text-skyblue1 { + color: #59dcf1; +} + +.text-pink { + color: #ff7e9d; +} + +.text-yellow { + color: #fdc027; +} + +.button-green-bg { + background-color: rgba(56, 180, 139, 0.3); + border-radius: 3px; + padding: 7px 16px; +} + +.button-green-border { + border: 1px solid #38b48b; + border-radius: 3px; + padding: 7px 24px; + color: #38b48b; +} + +.button-green { + background-color: #38b48b; + padding: 9px 24px; + color: #fff; +} + +.button-green-four { + background-color: #38b48b; + padding: 9px 16px; + color: #fff; +} + +/*字体居中*/ +.text-l { + text-align: left; +} + +.text-c { + text-align: center; +} + +.text-r { + text-align: right; +} + +.txt-Red { + color: red; +} + +/*页面宽度*/ +.content-w { + width: 100%; + padding-left: 32px; + padding-right: 32px; +} + +/*边距*/ +.p-t-16 { + padding-top: 16px; +} + +.m-r-24 { + margin-right: 24px; +} + +.el-tabs__nav-wrap::after { + height: 1px !important; +} + +.el-tabs__item { + height: 45px !important; + line-height: 45px !important; +} + +.el-container.is-vertical { + background: #e8edef; +} + +/*缺省页样式*/ +.page-quesheng { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 80%; +} + +/*滚动条样式*/ +//滚动条的宽度 +.el-table__body-wrapper::-webkit-scrollbar { + width: 10px; + height: 10px; +} + +//滚动条的滑块 +.el-table__body-wrapper::-webkit-scrollbar-thumb { + background-color: #bcc3c9; + border-radius: 6px; +} + +//滚动条的宽度 +::-webkit-scrollbar { + width: 10px; + height: 10px; +} + +//滚动条的滑块 +::-webkit-scrollbar-thumb { + background-color: #acb7c0; + border-radius: 6px; +} + +.el-table--fluid-height .el-table__fixed, +.el-table--fluid-height .el-table__fixed-right { + bottom: 8px !important; +} + +/*公按钮下拉*/ +.btn-action { + float: left; + cursor: pointer; + font-size: 12px; + margin-top: 14px; + margin-left: 10px; + margin-right: 10px; +} + +.btn-action:hover .insert-row { + display: block; +} + +.dropdownselect { + font-size: 12px; + display: flex; + justify-content: center; + align-items: center; + padding: 0 12px; +} + +.dropdownselect .zdyspan { + position: relative; + margin-right: 4px; +} + +.dropdownselect .zdyspan i { + position: relative; + right: -10px; + top: 1px; + font-size: 16px; +} + +.cell span { + line-height: 0px; + cursor: pointer; +} + +.el-form-item__content { + font-size: 12px; +} + +.div-col span { + display: block; +} + +.input-number-box { + display: flex; + justify-content: center; + align-items: center; +} + +.el-input__inner { + padding: 0 16px 0 8px !important; + // padding-right: 15px; + height: 28px !important; + font-size: 12px !important; + line-height: 28px !important; +} + +.el-dialog__title { + font-size: 15px !important; +} + +.el-dialog__body { + padding: 0 20px !important; +} + +.el-table .cell { + font-size: 12px; + line-height: 20px !important; +} + +// 按钮禁用 +.btn-dsable { + cursor: no-drop; +} + +.el-input.is-disabled .el-input__inner, +.el-select .el-input.is-disabled .el-input__inner { + color: #99a0af; + cursor: auto; +} + +.el-date-editor .el-range-separator { + font-size: 12px; + line-height: 22px; +} + +.el-range-input { + font-size: 12px; +} + +.tell-info-query span, +.tell-info-delete-row span, +.el-dropdown-selfdefine, +.tell-info-copy-row span { + cursor: pointer; +} + +.tell-info-query span:hover, +.tell-info-delete-row span:hover, +.el-dropdown-selfdefine:hover, +.tell-info-copy-row span:hover { + color: #66b1ff; +} + +.TopInfo { + font-size: 12px; + padding-bottom: 5px; + margin-bottom: 10px; + background-color: rgba(84, 128, 240, 0.2); + color: #5480f0; + height: 20px; + padding-top: 5px; + padding-left: 20px; + height: auto; +} + +.span_tips { + width: 200px; + cursor: pointer; + white-space: nowrap; //不换行 + overflow: hidden; //超出隐藏 + text-overflow: ellipsis; //变成... +} + +.el-date-editor .el-range__icon { + line-height: 25px; +} + +.el-table .success-row { + color: red !important; +} + +.sale-details-base-info, +.order-create-base-info { + position: relative; +} + +.reviewIconImg { + width: 4%; + position: absolute; + z-index: 10; + top: 16%; + left: 65px; + transform: rotate(-20deg); +} + +.reviewIconImg-pur { + width: 4%; + position: absolute; + z-index: 10; + top: 18%; + left: 145px; + transform: rotate(-20deg); +} + +.el-cascader { + display: flex; + align-items: center; + justify-content: center; + line-height: 28px !important; + height: 28px; + width: 100%; +} + +.el-cascader-panel .el-radio { + position: absolute; + z-index: 10; + padding: 0 10px; + width: 132px; + height: 28px; + line-height: 28px; +} + +.el-cascader-panel .el-radio__input { + visibility: hidden; +} + +.el-cascader-panel .el-input-node__postfix { + top: 10px; +} + +:v-deep(.el-select .el-input.is-disabled .el-input__inner) { + cursor: pointer !important; +} + +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + -webkit-appearance: none !important; +} + +input[type='number'] { + -moz-appearance: textfield !important; +} + +.sc { + display: block !important; +} + +.zp .el-input__suffix { + top: -5px !important; +} + +.zp .el-input__inner { + padding-left: 100px; +} + +.rq .el-icon-date { + display: none; +} + +.bounce-enter-active { + animation: bounce-in 0.5s; +} +.bounce-leave-active { + animation: bounce-in 0.5s reverse; +} +@keyframes bounce-in { + 0% { + transform: scale(0); + } + 50% { + transform: scale(1.03); + } + 100% { + transform: scale(1); + } +} diff --git a/src/assets/style/index.scss b/src/assets/style/index.scss new file mode 100644 index 0000000..4267d98 --- /dev/null +++ b/src/assets/style/index.scss @@ -0,0 +1,198 @@ +/*首页*/ +.mainlayout-flex { + display: flex; + flex-direction: row; + justify-content: space-between; + overflow: hidden; +} + +.page-main { + margin: 0 16px; +} + +.page-title { + font-size: 14px; + font-weight: bold; + line-height: 19px; + color: #303133; + margin: 16px; +} + +.page-left { + display: flex; + flex-direction: column; + + .page-left-1 { + width: 100%; + height: 300px; + margin-bottom: 16px; + + .tag_main { + margin: 0 16px; + margin-bottom: 24px; + + .el-tag { + color: #303133; + padding: 7px 16px; + border: 1px solid #E4E7ED; + opacity: 1; + background: white; + height: auto; + width: auto; + line-height: inherit; + margin-right: 16px; + margin-bottom: 15px; + cursor: pointer; + } + } + } + + .page-left-2 { + width: 100%; + height: 518px; + position: relative; + + .page-title { + margin-bottom: 10px; + } + + .time { + width: 166px; + font-size: 12px; + position: absolute; + right: 16px; + color: #909399; + top: 65px; + } + } +} + +.page-left, +.page-right { + width: 906px; + height: 100%; +} + +.page-right { + max-height: 835px; +} + +.page-left div, +.page-right { + background: white; +} + +.hxsj-mian { + width: 100%; + height: 100%; + display: flex; + display: -webkit-flex; + flex-direction: row; + flex-wrap: wrap; + + .item { + width: 281px; + height: 192px; + border: 1px solid #E4E7ED; + margin-bottom: 8px; + margin-right: 8px; + + p { + font-size: 16px; + font-family: D-DIN DIN; + display: block; + } + + .numpoint { + text-align: center; + // margin-left: 95px; + margin-top: 72px; + color: #AAB2C2; + margin-bottom: 0; + + .num { + font-weight: bold; + font-size: 30px; + font-family: D-DIN DIN; + } + } + + .sm { + font-size: 14px; + color: #606266; + // margin-left: 95px; + text-align: center; + margin-top: 2px; + } + } +} + +.hxsj-mian:after { + content: ' '; + width: 271px; + flex: auto; +} + +.dbrw-main { + display: flex; + width: 96%; + height: 672px; + margin: 0 16px; + position: relative; + overflow-y: auto; + flex-direction: column; + + .dbitem { + width: 100%; + width: 834px; + height: 82px; + border: 1px solid #E4E7ED; + margin-bottom: 15px; + + div { + display: flex; + justify-content: space-between; + padding-top: 12px; + padding-bottom: 5px; + align-items: center; + + .title { + font-size: 12px; + color: #303133; + font-weight: bold; + margin-left: 12px; + } + + .time { + font-size: 13px; + color: #909399; + margin-right: 12px; + } + } + + .content { + font-size: 12px; + color: #606266; + padding-top: 0; + width: 100%; + + span { + width: 100%; + margin: 0 12px; + text-overflow: -o-ellipsis-lastline; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + line-clamp: 2; + -webkit-box-orient: vertical; + cursor: pointer; + } + } + } +} + +:v-deep(.el-table--scrollable-y ::-webkit-scrollbar) { + display: none; +} + diff --git a/src/assets/style/index1.scss b/src/assets/style/index1.scss new file mode 100644 index 0000000..db869ee --- /dev/null +++ b/src/assets/style/index1.scss @@ -0,0 +1,378 @@ +/*首页*/ +.mainlayout-flex { + flex-direction: row; + justify-content: space-between; + } + +.page-main { + margin: 0 16px; + } + .page-title { + font-size: 14px; + font-weight: bold; + line-height: 19px; + color: #303133; + margin: 16px; + } + .page-title-1 { + font-size: 14px; + font-weight: bold; + line-height: 0px; + color: #303133; + margin-top: 16px; + } + + .page-left { + height: 377px; + display: flex; + + .page-left-1 { + width: 100%; + // height: 477px; + .serch{ + margin: 0 16px; + margin-bottom:32px; + input{ + width: 320px; + height: 32px; + padding-left: 3%; + opacity: 1; + border-radius: 2px; + background: rgba(255, 255, 255, 1); + background-image: url(../style/img/serch.png); + background-repeat: no-repeat; + background-position: 2%; + border: 1px solid rgba(220, 223, 230, 1); + } + } + + .tag_main { + margin: 0 16px; + margin-bottom: 16px; + overflow: hidden; + .el-tag { + color: #303133; + padding: 7px 16px; + border: 1px solid #E4E7ED; + opacity: 1; + background: white; + height: auto; + width: auto; + line-height: inherit; + margin-right: 16px; + margin-bottom: 15px; + cursor: pointer; + } + } + + } + + } + .page-left, + .page-right { + width: 900px; + // height: 100%; + } + + .page-right { + margin-left: 16px; + max-height: 377px; + display: flex; + flex-direction: column; + } + +.page-left div { + background: white; +} +.page-right-1 { + width: 100%; + height: 377px; + background: white; + overflow: hidden; + + .tag_main { + margin: 0 16px; + margin-bottom: 24px; + .page-main>div{ + max-height: 290px !important; + } + .el-table__body-wrapper { + max-height: 290px !important; + .el-table__body{ + + max-height: 290px !important; + } + } + } + } + + ::v-deep .el-table__row > td { + /* 去除表格线 */ + border: none; + border-bottom: 1px solid #EBEEF7; + + } + + .xiaoshou{ + width: 100%; + height: 1166px; + background-color: white; + } + .kucun{ + margin-top: 28px; + overflow: hidden; + width: 100%; + height: 975px; + background-color: white; + } + .sales{ + display: flex; + width: 100%; + height: 220px; + background-color: white; + .sales-1 { + position: relative; + width: 100%; + margin-bottom: 16px; + .amount{ + position: relative; + float: left; + margin-left: 16px; + margin-top: 16px; + margin-bottom: 32px; + width: 435px; + height: 148px; + opacity: 1; + border-radius: 4px; + background: rgba(255, 255, 255, 1); + box-shadow: 0px 7px 29px 0px rgba(151, 154, 161, 0.2); + .amount-r1{ + position: absolute; + top: 18px; + right: 32px; + } + .amount-r2{ + position: absolute; + bottom: 32px; + right: 37px; + } + } + .amount-p{ + padding: 16px 16px 16px 32px; + font-size: 14px; + font-weight: 500; + letter-spacing: 0px; + line-height: 0px; + color: rgba(153, 153, 153, 1); + text-align: left; + vertical-align: middle; + } + .jine{ + margin-left: 32px; + font-size: 32px; + font-weight: 700; + letter-spacing: 0px; + line-height: 0px; + color: rgba(31, 31, 31, 1); + text-align: left; + } + .bagcolorg{ + margin-top: 10px; + margin-left: 32px; + width: 146px; + height: 30px; + line-height: 30px; + padding-left: 16px; + border-radius: 18px; + background: linear-gradient(90deg, rgba(4, 204, 141, 0.15) 0%, rgba(4, 204, 141, 0) 100%); + .span1{ + margin-left: 24px; + } + span{ + color: #04CC8DFF; + } + } + .bagcolorr{ + margin-top: 10px; + margin-left: 32px; + width: 146px; + height: 30px; + line-height: 30px; + padding-left: 16px; + border-radius: 18px; + background: linear-gradient(90deg, rgba(250, 87, 87, 0.15) 0%, rgba(250, 87, 87, 0) 100%); + .span1{ + margin-left: 24px; + } + span{ + color: #FA5757; + } + } + .bagcolory{ + margin-top: 10px; + margin-left: 32px; + width: 146px; + height: 30px; + line-height: 30px; + padding-left: 16px; + border-radius: 18px; + background: linear-gradient(90deg, rgb(255, 189,1, 0.15) 0%, rgb(255, 189,1, 0) 100%); + .span1{ + margin-left: 24px; + } + span{ + color: #FFBD00; + } + } + + } + } + .tishi{ + height: 56px; + width: 100%; + display: flex; + position: relative; + } + .tishi ul{ + padding-left: 16px; + } + .tishi .xx{ + position: absolute; + right:45px; + top:15px; + padding-right: 10px; + border-right: 1px solid #CED1D9; + } + .tishi .update{ + position: absolute; + right: 16px; + top:15px; + cursor: pointer; + } + .tishi .update :hover{ + + color: #4178D5; + } + .tishi img{ + padding: 16px; + vertical-align:bottom; + cursor: pointer; + } + .bb{ + position: relative; + overflow: hidden; + margin-top: 16px; + width: 100%; + height: 462px; + background-color: white; + } + +.Saleslist{ + margin-bottom: 85px; + margin-top: 16px; + overflow: hidden; + height: 600px; + background-color: white; + position: relative; +} +.bb .tian,.Saleslist .tian{ + position: absolute; + display: flex; + right: 5%; + top: 16px; + width: 120px; + height: 30px; + opacity: 1; + border-radius: 2px; + background: #FFFFFF; + padding: 0; + border: 1px solid #DCDFE6; +} +.bb-bumen{ + position: absolute; + right:5%; + top: 16px; + width: 80px; + // height: 30px; + opacity: 1; + border-radius: 2px; +} +.bb .bumen{ + position: absolute; + right:12%; + top: 34px; + width: 80px; + // height: 30px; + opacity: 1; + border-radius: 2px; +} + + .bb .tian li,.Saleslist .tian li{ + margin-top: 2px; + margin-left: 1px; + width: 56px; + height: 22px; + opacity: 1; + border-radius: 2px; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + line-height: 22px; + padding: 2px 3px 2px 3px; + cursor: pointer; +} +.active{ + font-weight: 600; + margin-top: 2px; + margin-left: 1px; + width: 56px; + height: 22px; + opacity: 1; + border-radius: 2px; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + line-height: 22px; + background: rgb(242, 243, 245); + padding: 2px 3px 2px 3px; + cursor: pointer; +} +.Saleslist .tian{ + position: absolute; + margin: 0; + right: 5%; + top: 10px; + width: 178px; + height: 30px; + opacity: 1; + border-radius: 2px; + background: #FFFFFF; + padding: 0; + border: 1px solid #DCDFE6; +} +.main3-tit{ + font-size: 14px; + font-weight: bold; + height: 19px; + line-height: 19px; + color: #303133; + padding-left: 16px; + +} +.main3-tit li{ + width: 120px; + height: 20px; + display: block; + float: left; + line-height: 22px; + cursor: pointer; + text-align: center; + + border-right: 1px solid #D5D9E0; +} + +.tit1{ + color: blue; +} diff --git a/src/assets/style/materialBom/bom.scss b/src/assets/style/materialBom/bom.scss new file mode 100644 index 0000000..53ea9f9 --- /dev/null +++ b/src/assets/style/materialBom/bom.scss @@ -0,0 +1,74 @@ +.base-info-form-box, +.pro-info-form-box, +.size-info-form-box { + .item-bt-s { + margin-bottom: 8px; + } +} + +.org-info-form-box { + .tell-info-button-group { + display: flex; + flex-direction: row; + box-sizing: border-box; + padding-left: 8px; + } +} + +.sale-details-base-info .tell-info-table { + margin-top: 13px; +} + +:deep(.el-upload--picture-card) { + width: 120px; + height: 120px; +} + +.sale-details-base-info { + margin-top: 12px; +} + +.sale-details-base-info :deep(.el-form-item .el-form-item__label) { + width: 120px!important; +} + +.sale-details-base-info .search-group-one :deep(.el-form-item__label) { + width: 30px!important; +} + +.sale-details-base-info .search-group-invalid :deep(.el-form-item__label) { + width: 115px!important; +} + +.sale-details-base-info .search-group-supplier :deep(.el-form-item__label) { + width: 130px!important; +} + +.tableData{ + margin-top: 12px; +} + +.sale-details-btn-group :deep(.page-top .s-p-t-g5 .el-button){ + padding: 7px 0 7px 0!important; +} + +.pro-info-form-box { + :deep(.el-form-item__label) { + width: 120px !important; + } +} +.size-info-form-box { + :deep(.el-form-item__label) { + width: 120px !important; + } +} +.other-info-form-box { + :deep(.el-form-item__label) { + width: 60px !important; + } +} +.arrow_none { + :deep(.el-icon-arrow-up:before) { + content: ''; + } +} diff --git a/src/assets/style/purchase/common.scss b/src/assets/style/purchase/common.scss new file mode 100644 index 0000000..f475e6b --- /dev/null +++ b/src/assets/style/purchase/common.scss @@ -0,0 +1,54 @@ +// 采购订单 +.order-com-r { + ::v-deep(.el-form-item .el-form-item__content .el-input .el-input__inner) { + padding: 0 16px 0 8px !important ; + } +} + +.order-com-rr { + ::v-deep(.el-form-item__content .el-input .el-input__inner) { + padding: 0 16px 0 8px !important ; + } +} + +.item-date { + ::v-deep(.el-form-item__content .el-input .el-input__inner) { + padding: 0 16px 0 8px !important ; + width: 173px !important; + } +} + +.address-textarea { + ::v-deep(.el-form-item__content .el-textarea .el-textarea__inner) { + padding: 0 16px 0 8px !important ; + } +} +.click-cell-show ::v-deep(.el-input__suffix) { + display: block !important; +} +.click-cell-show ::v-deep(.el-input__suffix .el-input__suffix-inner .el-input__icon) { + line-height: 30px !important; +} + +// 采购入库 +.f-c { + color: var(--el-disabled-color-base) !important; +} +::v-deep(.is-checkbox .cell .el-checkbox .el-checkbox__input .el-checkbox__inner) { + background-color: var(--el-checkbox-disabled-input-fill) !important; + border-color: var(--el-checkbox-disabled-border-color) !important; + cursor: not-allowed; +} +:v-deep(.el-form-item__label) { + width: 90px !important; +} + +::v-deep(.click-cell-ipt-issue .select-trigger .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; +} +.createdRow { + cursor: pointer; +} +.createdRow:hover { + color: #66b1ff; +} diff --git a/src/assets/style/purchase/createOrgNeeds.scss b/src/assets/style/purchase/createOrgNeeds.scss new file mode 100644 index 0000000..df1f556 --- /dev/null +++ b/src/assets/style/purchase/createOrgNeeds.scss @@ -0,0 +1,355 @@ +::v-deep(.el-form-item) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-form-item__label) { + font-size: 12px; + padding-right: 6px; + height: 27px; + display: flex; + justify-content: right; + align-items: center; + width: 88px !important; +} + +::v-deep(.el-input) { + line-height: 27px; +} + +::v-deep(.el-input__inner) { + padding: 0 16px 0 8px !important; + // padding: 0 8px; + height: 27px; + font-size: 12px; + line-height: 20px; +} + +::v-deep(.click-cell-ipt-issue .select-trigger .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; +} + +::v-deep(.el-form-item__content) { + line-height: 28px; +} + +::v-deep(input::-webkit-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-moz-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-ms-input-placeholder) { + font-size: 12px; +} + +::v-deep(.el-form-item) { + margin-bottom: 0; +} + +::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-select-dropdown__item) { + font-size: 12px !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before) { + content: '' !important; + color: #fff !important; + margin-right: 0 !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:after) { + content: '*' !important; + color: var(--el-color-danger) !important; + margin-right: 0 !important; +} + +::v-deep(.el-input__prefix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-date-editor) { + --el-date-editor-width: 100% !important; +} + +::v-deep(.el-dropdown) { + font-size: 12px; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; + text-align: left; + background: #F2F5F9; + color: #000; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +::v-deep(.el-table__body tbody tr td) { + padding: 0 !important; +} + + +::v-deep(.lead-time-style .el-input__inner) { + padding-left: 0px !important; + border: none; +} + +::v-deep(.lead-time-style .el-input__prefix) { + justify-content: right !important; + left: 0 !important; + right: 1px !important; +} + +::v-deep(.el-table__row) { + height: 50px !important; +} + +::v-deep(.el-row) { + width: 100%; +} + +::v-deep(.el-select) { + width: 100%; +} + +::v-deep(.sale-details-container .sale-details-base-info .base-info-form-box .div-col .item-date[data-v-fae5bece] .el-input__inner) { + padding-right: 2px; +} + +::v-deep(.el-table th.must>.cell::after) { + content: '*'; + color: var(--el-color-danger) !important; +} + +::v-deep(.tooltips-position) { + height: 50px; + color: #fff; + position: absolute; + z-index: -1; +} + +::v-deep(.tooltips-position text) { + height: inherit !important; + width: inherit !important; + display: block; +} + +.tooltipNote { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.getTextWidth { + font-size: 12px; + color: #fff; +} + +::v-deep(.slide-fade-enter-active) { + transition: all 0s ease !important; +} + +::v-deep(.slide-fade-leave-active) { + transition: all 0s ease !important; +} + +::v-deep(.el-button:visited) { + background-color: #fff; +} + +::v-deep(.el-button:focus) { + background-color: #fff; +} + +// ::v-deep(.el-button:hover) { +// background-color: #fff; +// } + +::v-deep(.el-table--border .el-table__cell:first-child .cell) { + text-align: center; +} + +::v-deep(.el-autocomplete-suggestion li) { + font-size: 12px !important; +} + +::v-deep(.el-autocomplete) { + width: 100% !important; + border: none !important; +} + +::v-deep(tbody .el-autocomplete .el-input__inner) { + border: none !important; +} + +.click-cell-ipt ::v-deep(.el-input__inner) { + border: none !important; + font-size: 12px; + padding: 0; +} + +.click-cell-ipt ::v-deep(.el-autocomplete-suggestion li) { + width: 100%; + border: none !important; + font-size: 12px; +} + +::v-deep(tbody tr:hover>td) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(tbody tr:hover .el-input__inner) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(.el-table--enable-row-transition .el-table__body td.el-table__cell) { + transition: none !important; +} + +.click-cell-ipt ::v-deep(.el-input__suffix) { + display: none !important; +} + +.click-cell-ipt ::v-deep(.el-table__cell .cell) { + height: inherit !important; + line-height: inherit !important; +} + +::v-deep(.el-textarea__inner) { + font-size: 12px !important; + padding: 0 8px !important; +} + +.address-textarea { + align-items: flex-start !important; +} + +.checkbox-style { + display: flex; + justify-content: center; + align-items: center; +} + +.disable { + background: rgb(245, 247, 250) +} + +.disable ::v-deep(.el-input__inner) { + background: rgb(245, 247, 250) +} + +.isDisable { + background: #fff; +} + +.isDisable ::v-deep(.el-input__inner) { + background: #fff; +} + +.t-r { + text-align: right; +} + +.t-r ::v-deep(.el-input__inner) { + text-align: right; +} + +::v-deep(.el-tabs__nav-scroll) { + background: #fff; +} + +::v-deep(.el-tabs--border-card) { + border: none; + box-shadow: none; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active) { + border: 1px solid #909399 !important; + color: #303133 !important; + +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item) { + color: #909399 !important; + font-weight: 600; + border: 1px solid #909399 !important; +} + +::v-deep(.el-tabs__item) { + padding: 0 8px !important; + height: 28px !important; + line-height: 28px !important; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child) { + margin-left: 0 !important; + margin-top: 0 !important; + position: relative; +} + +::v-deep(.el-tabs__nav-scroll) { + padding-left: 12px !important; + position: relative; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child::before) { + content: ''; + width: 4px; + height: 50%; + background-color: #4178D5; + position: absolute; + top: 50%; + left: -12px; + transform: translateY(-50%); +} + +// ::v-deep(.el-tabs__nav-scroll::before) { +// content: ''; +// width: calc(100% - 168px); +// height: 1px; +// background-color: #EDEFF5; +// position: absolute; +// top: 50%; +// left: 168px; +// z-index: 1; +// } + +.create-purchase-container ::v-deep(.s-p-t-g4::after) { + background: #fff !important; +} + +.f-c { + color: var(--el-disabled-color-base) !important; + cursor: not-allowed; +} + +::v-deep(.el-radio-group) { + display: flex !important; + flex-wrap: wrap !important; +} + +::v-deep(.el-radio) { + width: 50% !important; + margin: 0 !important; +} diff --git a/src/assets/style/purchase/createPurchase.scss b/src/assets/style/purchase/createPurchase.scss new file mode 100644 index 0000000..6eff42c --- /dev/null +++ b/src/assets/style/purchase/createPurchase.scss @@ -0,0 +1,371 @@ +::v-deep(.el-form-item) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-form-item__label) { + font-size: 12px; + padding-right: 6px; + height: 28px; + display: flex; + justify-content: right; + align-items: center; + min-width: 97px !important; +} + +::v-deep(.el-input) { + line-height: 27px; +} + +::v-deep(.el-input__inner) { + padding: 0 16px 0 8px !important; + height: 27px; + font-size: 12px; + line-height: 27px; +} + +::v-deep(.el-form-item__content) { + line-height: 27px; +} + +::v-deep(input::-webkit-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-moz-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-ms-input-placeholder) { + font-size: 12px; +} + +::v-deep(.el-form-item) { + margin-bottom: 0; +} + +::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-select-dropdown__item) { + font-size: 12px !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before) { + content: '' !important; + color: #fff !important; + margin-right: 0 !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label::before) { + content: '*' !important; + color: var(--el-color-danger) !important; + margin-right: 0 !important; +} + +::v-deep(.el-input__prefix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-date-editor) { + --el-date-editor-width: 100% !important; +} + +::v-deep(.el-dropdown) { + font-size: 12px; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; + text-align: left; + background: #F2F5F9; + color: #000; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +::v-deep(.el-table__body tbody tr td) { + padding: 0 !important; +} + + +::v-deep(.lead-time-style .el-input__inner) { + padding: 0px 30px 0 8px !important; + // border: none; +} + +::v-deep(.click-cell-ipt-issue .select-trigger .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; +} + +::v-deep(.click-cell-ipt-c .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; +} + +::v-deep(.lead-time-style .el-input__prefix) { + justify-content: right !important; + left: 0 !important; + right: 1px !important; +} + +::v-deep(.el-table__row) { + height: 50px !important; +} + +::v-deep(.el-row) { + width: 100%; +} + +::v-deep(.el-select) { + width: 100%; +} + +::v-deep(.sale-details-container .sale-details-base-info .base-info-form-box .div-col .item-date[data-v-fae5bece] .el-input__inner) { + padding-right: 2px; +} + +::v-deep(.el-table th.must>.cell::after) { + content: '*'; + color: var(--el-color-danger) !important; +} + +::v-deep(.tooltips-position) { + height: 50px; + color: #fff; + position: absolute; + z-index: -1; +} + +::v-deep(.tooltips-position text) { + height: inherit !important; + width: inherit !important; + display: block; +} + +.tooltipNote { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.getTextWidth { + font-size: 12px; + color: #fff; +} + +::v-deep(.slide-fade-enter-active) { + transition: all 0s ease !important; +} + +::v-deep(.slide-fade-leave-active) { + transition: all 0s ease !important; +} + +::v-deep(.el-button:visited) { + background-color: #fff; +} + +::v-deep(.el-button:focus) { + background-color: #fff; +} + +// ::v-deep(.el-button:hover) { +// background-color: #fff; +// } + +::v-deep(.el-table--border .el-table__cell:first-child .cell) { + text-align: center; +} + +::v-deep(.el-autocomplete-suggestion li) { + font-size: 12px !important; +} + +::v-deep(.el-autocomplete) { + width: 100% !important; + // border: none !important; +} + +::v-deep(tbody .el-autocomplete .el-input__inner) { + // border: none !important; +} + +.click-cell-ipt ::v-deep(.el-input__inner) { + // border: none !important; + font-size: 12px; + // padding: 0; +} + +.click-cell-ipt ::v-deep(.el-autocomplete-suggestion li) { + width: 100%; + border: none !important; + font-size: 12px; +} + +::v-deep(tbody tr:hover>td) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(tbody tr:hover .el-input__inner) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(.el-table--enable-row-transition .el-table__body td.el-table__cell) { + transition: none !important; +} + +.click-cell-ipt ::v-deep(.el-input__suffix) { + display: none !important; +} + +.click-cell-ipt ::v-deep(.el-table__cell .cell) { + height: inherit !important; + line-height: inherit !important; +} + +::v-deep(.el-textarea__inner) { + font-size: 12px !important; + padding: 0 8px !important; +} + +.address-textarea { + align-items: flex-start !important; +} + +::v-deep(.el-textarea) { + padding-right: 8px; +} + +.checkbox-style { + display: flex; + justify-content: center; + align-items: center; +} + +.disable { + background: rgb(245, 247, 250) +} + +.disable ::v-deep(.el-input__inner) { + background: rgb(245, 247, 250) +} + +.isDisable { + background: #fff; +} + +.isDisable ::v-deep(.el-input__inner) { + background: #fff; +} + +.t-r { + text-align: right; +} + +.t-r ::v-deep(.el-input__inner) { + text-align: right; +} + +::v-deep(.el-tabs__nav-scroll) { + background: #fff; +} + +::v-deep(.el-tabs--border-card) { + border: none; + box-shadow: none; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active) { + border: 1px solid #909399 !important; + color: #303133 !important; + +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item) { + color: #909399 !important; + font-weight: 600; + border: 1px solid #909399 !important; +} + +::v-deep(.el-tabs__item) { + padding: 0 8px !important; + height: 28px !important; + line-height: 28px !important; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child) { + margin-left: 0 !important; + margin-top: 0 !important; + position: relative; +} + +::v-deep(.el-tabs__nav-scroll) { + padding-top: 16px !important; + padding-left: 12px !important; + position: relative; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child::before) { + content: ''; + width: 4px; + height: 50%; + background-color: #4178D5; + position: absolute; + top: 50%; + left: -12px; + transform: translateY(-50%); +} + +::v-deep(.el-tabs__nav-scroll::before) { + content: ''; + width: calc(100% - 168px); + height: 1px; + background-color: #EDEFF5; + position: absolute; + top: 50%; + left: 168px; + z-index: 1; +} + +.create-purchase-container ::v-deep(.s-p-t-g4::after) { + background: #fff !important; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.f-c { + color: var(--el-disabled-color-base) !important; + cursor: not-allowed; +} + +::v-deep(.el-radio-group) { + display: flex !important; + flex-wrap: wrap !important; +} + +::v-deep(.el-radio) { + width: 50% !important; + margin: 0 !important; +} \ No newline at end of file diff --git a/src/assets/style/purchase/orgNeedsList.scss b/src/assets/style/purchase/orgNeedsList.scss new file mode 100644 index 0000000..66e2034 --- /dev/null +++ b/src/assets/style/purchase/orgNeedsList.scss @@ -0,0 +1,60 @@ +::v-deep(.el-table__row) { + height: 50px !important; + padding: 8px !important; +} + +::v-deep(.el-table__row td) { + padding: 0; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; +} + +.noteOrder { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +::v-deep(.total-select-item) { + margin-right: 24px !important; +} + +::v-deep(.el-pagination__sizes) { + margin-right: 0 !important; +} + +::v-deep(.el-pagination__total) { + margin-right: 24px !important; +} + +::v-deep(.el-table .headerRight) { + background: #F2F5F9; + color: #000; +} + +::v-deep(.el-date-editor) { + width: 100% !important; +} + +::v-deep(.el-date-editor .el-range-separator) { + display: flex !important; + justify-content: center !important; + align-items: center !important; + color: #9b9fa5 !important +} + +::v-deep(.el-radio-group) { + display: flex !important; + flex-wrap: wrap !important; +} + +::v-deep(.el-radio) { + width: 50% !important; + margin: 0 !important; +} \ No newline at end of file diff --git a/src/assets/style/purchase/purchaseCommon.scss b/src/assets/style/purchase/purchaseCommon.scss new file mode 100644 index 0000000..64f7e4d --- /dev/null +++ b/src/assets/style/purchase/purchaseCommon.scss @@ -0,0 +1,1169 @@ +// 采购列表 +.purchase-container { + display: flex; + flex-direction: column; + background: #fff; + margin-top: 16px; + + .purchase-page-body { + background: #fff; + + .purchase-page-table-header { + padding: 0 24px 0 24px; + + .el-form { + .form-row1 { + font-size: 12px; + + &:deep(.el-form-item__label) { + font-size: 12px; + } + + &:deep(.el-input__inner) { + height: 28px; + } + + &:deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; + } + + &:deep(.el-form-item) { + margin-bottom: 0; + } + + .form-row-lastcol { + display: flex; + justify-content: right; + align-items: center; + } + + &:deep(input::-webkit-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-moz-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-ms-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + font-size: 12px; + } + + .form-group1 { + display: flex; + flex-direction: row; + + ::v-deep(.el-form-item__content) { + display: flex; + justify-content: right; + height: 28px; + align-items: center; + + .alias-open { + background-color: #F2F5F9; + padding: 0 12px; + border: 1px solid #E4E7ED; + margin-right: 16px; + height: 28px; + display: flex; + justify-content: center; + align-items: center; + } + } + } + } + + .form-row2 { + font-size: 12px; + + ::v-deep(.el-form-item__label) { + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + height: 28px; + } + + ::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-range-separator) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-form-item__content) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-form-item) { + margin-bottom: 0; + } + + ::v-deep(input::-webkit-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-moz-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-ms-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + font-size: 12px; + } + + ::v-deep(.el-range-input) { + font-size: 12px; + } + + .form-row2-row2 { + ::v-deep(.el-form-item__content) { + display: flex; + + .el-select { + margin-right: 7px !important; + width: 100%; + } + } + } + } + } + } + + .purchase-page-table-body { + padding: 0 24px; + margin-top: 10px; + + .table-box { + th { + padding: 0 !important; + height: 48px; + line-height: 48px; + } + + td { + padding: 0 !important; + height: 48px; + line-height: 48px; + } + } + } + } + + .purchase-page-footer { + padding: 10px 24px; + display: flex; + flex-direction: row; + font-size: 12px; + + .footer-left { + display: flex; + justify-content: center; + align-items: center; + + div { + margin-right: 24px; + + span:first-child { + margin-right: 4px; + } + + .sale-number-color { + color: #4178D5; + } + } + } + + .footer-right { + display: flex; + flex: 1; + justify-content: right; + align-items: center; + + ::v-deep(.el-pagination) { + --el-pagination-font-size: 12px !important; + + .btn-prev { + span { + font-size: 12px; + } + } + + .btn-next { + span { + font-size: 12px; + } + } + } + + .total-select-item { + margin-right: 10px; + color: var(--el-text-color-regular); + font-weight: 400; + font-size: 12px; + } + } + + .footer-pagination-total-page { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding-bottom: 2px; + margin-left: 24px; + + span { + font-size: 12px; + display: flex; + justify-content: center; + align-items: center; + box-sizing: border-box; + height: 28px; + line-height: 28px; + color: #606266; + } + } + } +} + +// 新增采购订单 +.create-purchase-container { + display: flex; + flex-direction: column; + background: #fff; + margin-top: 16px; + + .create-purchase-btn-group { + padding: 10px 24px 4px; + + .s-p-t-g1::after { + content: ""; + height: 20px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 0; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g1 { + padding-right: 24px; + position: relative; + + .el-button:first-child { + color: #606266; + margin-right: 8px; + padding-left: 0; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + + .iconfont-mg { + margin-right: 4px; + } + } + + + .el-button:visited { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g2::after { + content: ""; + height: 20px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 0; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g2 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + } + + + .el-button:visited { + background-color: #fff; + } + } + + .s-p-t-g3::after { + content: ""; + height: 20px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 0; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g3 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + } + + + .el-button:visited { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g6::after, + .s-p-t-g4::after { + content: ""; + height: 20px; + width: 1px; + background: #606266; + position: absolute; + top: 0; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g4 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding: 7px 8px; + border: none; + color: #606266; + margin-right: 8px; + font-size: 12px; + } + + ::v-deep(.el-button:visited) { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g5, + .s-p-t-g6 { + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding: 7px 0 7px 24px; + border: none; + color: #606266; + margin-right: 24px; + font-size: 12px; + + .iconfont-mg { + margin-right: 4px; + } + } + + ::v-deep(.el-button:visited) { + color: #4178D5; + background-color: #fff; + } + } + } + + .create-purchase-base-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .base-info-row-title { + display: flex; + flex-direction: row; + margin-bottom: 6px; + + h3 { + padding: 0 8px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 12px; + background-color: #4178D5; + position: absolute; + top: 50%; + left: 0; + transform: translateY(-50%); + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .base-info-form-box { + .div-col { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + + // .order-number-bx { + // ::v-deep(.el-input__inner) { + // border: none; + // padding-left: 0 !important; + // padding-right: 32px !important; + // } + // } + + .item-bt-s { + margin-bottom: 8px; + } + + .item-date { + ::v-deep(.el-input__inner) { + width: 173px !important; + padding-left: 30px !important; + padding-right: 2px; + } + } + + .custom-address-row { + width: 100% !important; + margin: 0; + + .custom-address-col { + padding: 0 !important; + } + } + } + + .col-2 { + ::v-deep(.el-form-item__label) { + width: 92px !important; + } + } + } + } + + .create-purchase-tell-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .tell-info-row-title { + display: flex; + flex-direction: row; + + h3 { + padding: 0 8px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 12px; + background-color: #4178D5; + position: absolute; + top: 50%; + left: 0; + transform: translateY(-50%); + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .tell-info-button-group { + display: flex; + flex-direction: row; + box-sizing: border-box; + padding-left: 8px; + + .tell-info-add-row { + display: flex; + justify-content: center; + align-items: center; + } + + .tell-info-copy-row { + span { + font-size: 12px; + margin-left: 19px; + color: var(--el-text-color-regular); + } + } + + .tell-info-delete-row { + span { + font-size: 12px; + margin-left: 17px; + cursor: pointer; + color: var(--el-text-color-regular); + } + } + + .tell-info-operation { + display: flex; + justify-content: center; + align-items: center; + margin-left: 16px; + } + + .tell-info-query { + display: flex; + justify-content: center; + align-items: center; + margin-left: 16px; + } + } + + .tell-info-table { + margin-top: 13px; + position: relative; + + .tooltips-position { + position: absolute; + top: 0; + z-index: -1; + } + } + } +} + +// 组织间列表 +.org-needs-container { + display: flex; + flex-direction: column; + background: #fff; + margin-top: 16px; + + .org-needs-page-body { + background: #fff; + + .org-needs-page-table-header { + padding: 0 24px 0 24px; + + .el-form { + .form-row1 { + font-size: 12px; + + &:deep(.el-form-item__label) { + font-size: 12px; + } + + &:deep(.el-input__inner) { + height: 28px; + } + + &:deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; + } + + &:deep(.el-form-item) { + margin-bottom: 0; + } + + .form-row-lastcol { + display: flex; + justify-content: right; + align-items: center; + } + + &:deep(input::-webkit-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-moz-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-ms-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + font-size: 12px; + } + + .form-group1 { + display: flex; + flex-direction: row; + + ::v-deep(.el-form-item__content) { + display: flex; + justify-content: right; + height: 28px; + align-items: center; + + .alias-open { + background-color: #F2F5F9; + padding: 0 12px; + border: 1px solid #E4E7ED; + margin-right: 16px; + height: 28px; + display: flex; + justify-content: center; + align-items: center; + } + } + } + } + + .form-row2 { + font-size: 12px; + + ::v-deep(.el-form-item__label) { + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + height: 28px; + } + + ::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-range-separator) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-form-item__content) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-form-item) { + margin-bottom: 0; + } + + ::v-deep(input::-webkit-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-moz-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-ms-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + font-size: 12px; + } + + ::v-deep(.el-range-input) { + font-size: 12px; + } + + .form-row2-row2 { + ::v-deep(.el-form-item__content) { + display: flex; + + .el-select { + margin-right: 7px !important; + width: 100%; + } + } + } + } + } + } + + .org-needs-page-table-body { + padding: 0 24px; + margin-top: 10px; + + .table-box { + th { + padding: 0 !important; + height: 48px; + line-height: 48px; + } + + td { + padding: 0 !important; + height: 48px; + line-height: 48px; + } + } + } + } + + .org-needs-page-footer { + padding: 10px 24px; + display: flex; + flex-direction: row; + font-size: 12px; + + .footer-left { + display: flex; + justify-content: center; + align-items: center; + + div { + margin-right: 24px; + + span:first-child { + margin-right: 4px; + } + + .sale-number-color { + color: #4178D5; + } + } + } + + .footer-right { + display: flex; + flex: 1; + justify-content: right; + align-items: center; + + ::v-deep(.el-pagination) { + --el-pagination-font-size: 12px !important; + + .btn-prev { + span { + font-size: 12px; + } + } + + .btn-next { + span { + font-size: 12px; + } + } + } + + .total-select-item { + margin-right: 10px; + color: var(--el-text-color-regular); + font-weight: 400; + font-size: 12px; + } + } + + .footer-pagination-total-page { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding-bottom: 2px; + margin-left: 24px; + + span { + font-size: 12px; + display: flex; + justify-content: center; + align-items: center; + box-sizing: border-box; + height: 28px; + line-height: 28px; + color: #606266; + } + } + } +} + +// 新增组织间需求单 +.create-org-needs-container { + display: flex; + flex-direction: column; + background: #fff; + margin-top: 16px; + + .create-org-needs-btn-group { + padding: 10px 24px 4px; + + .s-p-t-g1::after { + content: ""; + height: 20px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 0; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g1 { + padding-right: 24px; + position: relative; + + .el-button:first-child { + color: #606266; + margin-right: 8px; + padding-left: 0; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + + .iconfont-mg { + margin-right: 4px; + } + } + + .el-button:visited { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g2::after { + content: ""; + height: 20px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 0; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g2 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + } + + + .el-button:visited { + background-color: #fff; + } + } + + .s-p-t-g3::after { + content: ""; + height: 20px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 0; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g3 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + } + + + .el-button:visited { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g4::after { + content: ""; + height: 20px; + width: 1px; + background: #606266; + position: absolute; + top: 0; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g4 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding: 7px 8px; + border: none; + color: #606266; + margin-right: 8px; + font-size: 12px; + } + + + ::v-deep(.el-button:visited) { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g5 { + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding: 7px 0 7px 24px; + border: none; + color: #606266; + margin-right: 24px; + font-size: 12px; + + .iconfont-mg { + margin-right: 4px; + } + } + + + ::v-deep(.el-button:visited) { + color: #4178D5; + background-color: #fff; + } + } + } + + .create-org-needs-base-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .base-info-row-title { + display: flex; + flex-direction: row; + margin-bottom: 6px; + + h3 { + padding: 0 8px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 12px; + background-color: #4178D5; + position: absolute; + top: 50%; + left: 0; + transform: translateY(-50%); + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .base-info-form-box { + .div-col { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + + // .order-number-bx { + // ::v-deep(.el-input__inner) { + // border: none; + // padding-left: 0 !important; + // padding-right: 32px !important; + // } + // } + + .item-bt-s { + margin-bottom: 8px; + } + + .item-date { + ::v-deep(.el-input__inner) { + padding-left: 30px !important; + width: 165px !important; + padding-right: 2px; + } + } + + .custom-address-row { + width: 100% !important; + margin: 0; + + .custom-address-col { + padding: 0 !important; + } + } + } + + .col-2 { + ::v-deep(.el-form-item__label) { + width: 92px !important; + } + } + } + } +} +::v-deep(.el-form-item__content){ + display: flex; + justify-content: center; + align-items: center; +} \ No newline at end of file diff --git a/src/assets/style/purchase/purchaseDetails.scss b/src/assets/style/purchase/purchaseDetails.scss new file mode 100644 index 0000000..208a9f4 --- /dev/null +++ b/src/assets/style/purchase/purchaseDetails.scss @@ -0,0 +1,299 @@ +::v-deep(.el-form-item) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-form-item__label) { + font-size: 12px; + padding-right: 6px; + height: 27px; + // line-height: 38px; + display: flex; + justify-content: right; + align-items: center; + min-width: 97px !important; + ; +} + +::v-deep(.el-input) { + line-height: 27px; +} + + +::v-deep(.el-form-item__content) { + line-height: 27px; +} + +::v-deep(input::-webkit-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-moz-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-ms-input-placeholder) { + font-size: 12px; +} + +::v-deep(.el-form-item) { + margin-bottom: 0; +} + +::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-select-dropdown__item) { + font-size: 12px !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before) { + content: '' !important; + color: #fff !important; + margin-right: 0 !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:after) { + content: '*' !important; + color: var(--el-color-danger) !important; + margin-right: 0 !important; +} + +::v-deep(.el-input__prefix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-date-editor) { + // --el-date-editor-width: 200px !important; + --el-date-editor-width: 100% !important; +} + +::v-deep(.el-dropdown) { + font-size: 12px; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; + text-align: left; + background: #F2F5F9; + color: #000; +} + +::v-deep(.el-table thead tr th .cell) { + // text-align: left; +} + +::v-deep(.el-table__body tbody tr td) { + padding: 0 !important; +} + +::v-deep(.el-table__body tbody tr td .cell) { + // display: -webkit-box; + // white-space:normal; + // text-overflow: ellipsis; + // overflow: hidden; + // -webkit-line-clamp: 2; + // -webkit-box-orient: vertical; +} + +::v-deep(.el-table__row) { + height: 50px !important; +} + +::v-deep(.el-row) { + width: 100%; +} + +::v-deep(.el-select) { + width: 100%; +} + +::v-deep(.sale-details-container .sale-details-base-info .base-info-form-box .div-col .item-date[data-v-fae5bece] .el-input__inner) { + padding-right: 2px; +} + +::v-deep(.el-table th.must>.cell::after) { + content: '*'; + color: var(--el-color-danger) !important; +} + +::v-deep(.tooltips-position) { + height: 50px; + color: #fff; + position: absolute; + z-index: -1; +} + +::v-deep(.tooltips-position text) { + height: inherit !important; + width: inherit !important; + display: block; +} + +.myNote { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.getTextWidth { + font-size: 12px; + color: #fff; +} + +::v-deep(.slide-fade-enter-active) { + transition: all 0s ease !important; +} + +::v-deep(.slide-fade-leave-active) { + transition: all 0s ease !important; +} + +::v-deep(.el-button:visited) { + background-color: #fff; +} + +::v-deep(.el-button:focus) { + background-color: #fff; +} + + +::v-deep(.el-table--border .el-table__cell:first-child .cell) { + text-align: center; +} + +::v-deep(.el-tabs__nav-scroll) { + background: #fff; +} + +::v-deep(.el-tabs--border-card) { + border: none; + box-shadow: none; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active) { + border: 1px solid #909399 !important; + color: #303133 !important; + +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item) { + color: #909399 !important; + font-weight: 600; + border: 1px solid #909399 !important; +} + +::v-deep(.el-tabs__item) { + padding: 0 8px !important; + height: 28px !important; + line-height: 28px !important; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child) { + margin-left: 0 !important; + margin-top: 0 !important; + position: relative; +} + +::v-deep(.el-tabs__nav-scroll) { + padding-left: 12px !important; + position: relative; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child::before) { + content: ''; + width: 4px; + height: 100%; + background-color: #4178D5; + position: absolute; + top: 0; + left: -12px; +} + +::v-deep(.el-tabs__nav-scroll::before) { + content: ''; + width: 100%; + height: 1px; + background-color: #EDEFF5; + position: absolute; + top: 50%; + z-index: 1; +} + +.click-cell-ipt ::v-deep(.el-input__inner) { + border: none !important; + font-size: 12px; + // background-color: var(--el-table-row-hover-background-color); + padding: 0; +} + +.click-cell-ipt ::v-deep(.el-autocomplete-suggestion li) { + width: 100%; + border: none !important; + font-size: 12px; +} + +::v-deep(tbody tr:hover>td) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(tbody tr:hover .el-input__inner) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(.el-table--enable-row-transition .el-table__body td.el-table__cell) { + transition: none !important; +} + +.click-cell-ipt ::v-deep(.el-input__suffix) { + display: none !important; +} + +.click-cell-ipt ::v-deep(.el-table__cell .cell) { + height: inherit !important; + line-height: inherit !important; +} + +::v-deep(.lead-time-style .el-input__inner) { + padding-left: 0px !important; + border: none; +} + +::v-deep(.lead-time-style .el-input__prefix) { + justify-content: right !important; + left: 0 !important; + right: 1px !important; +} + +::v-deep(.el-tabs__content) { + overflow: inherit !important; +} + +::v-deep(.matter-code-box .el-input__inner) { + border: none !important; + padding-left: 0 !important; + padding-right: 0 !important; +} + +::v-deep(.el-textarea__inner) { + font-size: 12px !important; + padding: 0 8px !important; +} + +.address-textarea { + align-items: flex-start !important; +} + +::v-deep(.el-textarea) { + padding-right: 8px; +} \ No newline at end of file diff --git a/src/assets/style/purchase/purchaseList.scss b/src/assets/style/purchase/purchaseList.scss new file mode 100644 index 0000000..5633a10 --- /dev/null +++ b/src/assets/style/purchase/purchaseList.scss @@ -0,0 +1,71 @@ +::v-deep(.el-table__row) { + height: 50px !important; + padding: 8px !important; +} + +::v-deep(.el-table__row td) { + padding: 0; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; +} + +.noteOrder { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +::v-deep(.total-select-item) { + margin-right: 24px !important; +} + +::v-deep(.el-pagination__sizes) { + margin-right: 0 !important; +} + +::v-deep(.el-pagination__total) { + margin-right: 24px !important; +} + +::v-deep(.el-table .headerRight) { + background: #F2F5F9; + color: #000; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +::v-deep(.el-radio-group) { + display: flex !important; + flex-wrap: wrap !important; +} + +::v-deep(.el-radio) { + width: 50% !important; + margin: 0 !important; +} + +.sale-container ::v-deep(.s-p-t-g7::after), +.sale-container::v-deep(.s-p-t-g8::after), +.sale-container ::v-deep(.s-p-t-g9::after), +.sale-container ::v-deep(.s-p-t-g10::after) { + background: #fff !important; +} + +.sale-container ::v-deep(.s-p-t-g7), +.sale-container ::v-deep(.s-p-t-g8), +.sale-container ::v-deep(.s-p-t-g9), +.sale-container ::v-deep(.s-p-t-g10) { + padding: 0; +} \ No newline at end of file diff --git a/src/assets/style/saleOrder/common.scss b/src/assets/style/saleOrder/common.scss new file mode 100644 index 0000000..de27c97 --- /dev/null +++ b/src/assets/style/saleOrder/common.scss @@ -0,0 +1,142 @@ +// 销售订单 +::v-deep(.el-cascader-node__label) { + font-size: 12px; +} + +::v-deep(.item-date .el-input__inner) { + padding: 0 16px 0 30px !important; +} + +.isEisShow { + overflow: none !important; + white-space: none !important; + text-overflow: none !important; +} +.Iisshow :hover>.copyBtn{ + display: block !important; +} + +.copyBtn { + position: absolute; + left: 88%; + top: 2%; + display: none; +} + +.copyBtnA { + position: absolute; + left: 95%; + top: 2%; +} +.copyBtnB{ + z-index: 9999; + position: absolute; + left: 78%; + top: 2%; +} +.copyBtnC{ + position: absolute; + left: 88%; + top: 30%; +} +.copyBtnS{ + position: absolute; + left: 88%; + top: 30%; + display: none !important; +} +// 销售退货 + +::v-deep(.el-textarea__inner) { + font-size: 12px !important; + padding: 0 8px 0 8px !important; +} +.copyBtn1 { + position: absolute; + left: 85%; + top: 2%; +} +::v-deep(.table-header-row) { + background: #f5f7fa; + color: #000; + height: 41px; + font-size: 12px; + } + ::v-deep(.table-body-row) { + height: 50px; + font-size: 12px; + } + .my-dropdown1 { + height: 200px; + overflow: auto; + border-radius: 4px; + border: 1px solid #dcdfe6; + background-color: #fff; + } + .list-item1:hover { + background-color: #f5f7fa; + } +// ::v-deep(.must){} +// ::v-deep(.must>.cell::after) { +// content: '*'; +// color: var(--el-color-danger) !important; +// } + +//物料列表 +.mate-col-width { + ::v-deep(.el-col .el-form-item .el-form-item__content .el-cascader .el-input .el-input__inner) { + width: 180px !important; + } +} +.mate-col-width { + ::v-deep(.el-col .el-form-item .el-form-item__content .el-select .el-input .el-input__inner) { + width: 180px !important; + } +} +.mate-col-width { + ::v-deep(.el-col .el-form-item .el-form-item__content .el-input .el-input__inner) { + width: 180px !important; + } +} + +.mate-lable-padding { + ::v-deep(.el-col .el-form-item .el-form-item__label) { + padding: 0 8px 0 0 !important; + } +} +.img-box { + display: flex; + justify-content: center; + align-items: center; + height: 50px; +} + +//物料 +.pro-info-form-box { + :deep(.el-form-item__label) { + width: 120px !important; + } +} +.size-info-form-box { + :deep(.el-form-item__label) { + width: 120px !important; + } +} +.other-info-form-box { + :deep(.el-form-item__label) { + width: 60px !important; + } +} +:deep(.el-upload-list--picture-card .el-upload-list__item) { + width: 120px; + height: 120px; +} +.line-28 { + line-height: 28px; +} +.tell-container .tell-info-query { + margin-left: 0 !important; +} +::v-deep(.xinxi .el-input___inner) { + width: 175px !important; +} \ No newline at end of file diff --git a/src/assets/style/saleOrder/createReturnOrder.scss b/src/assets/style/saleOrder/createReturnOrder.scss new file mode 100644 index 0000000..5fb6330 --- /dev/null +++ b/src/assets/style/saleOrder/createReturnOrder.scss @@ -0,0 +1,363 @@ +::v-deep(.el-form-item) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-form-item__label) { + font-size: 12px; + padding-right: 6px; + height: 27px; + display: flex; + justify-content: right; + align-items: center; + min-width: 95px !important; +} + +::v-deep(.el-input) { + line-height: 27px; +} + +::v-deep(.el-input__inner) { + padding: 0 16px 0 8px !important; + height: 27px; + font-size: 12px; + line-height: 27px; +} + +::v-deep(.el-form-item__content) { + line-height: 27px; +} + +::v-deep(input::-webkit-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-moz-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-ms-input-placeholder) { + font-size: 12px; +} + +::v-deep(.el-form-item) { + margin-bottom: 0; +} + +::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-select-dropdown__item) { + font-size: 12px !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before) { + content: '' !important; + color: #fff !important; + margin-right: 0 !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label::before) { + content: '*' !important; + color: var(--el-color-danger) !important; + margin-right: 0 !important; +} + +::v-deep(.el-input__prefix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-date-editor) { + --el-date-editor-width: 100% !important; +} + +::v-deep(.el-dropdown) { + font-size: 12px; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; + text-align: left; + background: #F2F5F9; + color: #000; +} + +::v-deep(.el-table__body tbody tr td) { + padding: 0 !important; +} + +::v-deep(.el-table__row) { + height: 50px !important; +} + +::v-deep(.el-row) { + width: 100%; +} + +::v-deep(.el-select) { + width: 100%; +} + +::v-deep(.sale-details-container .sale-details-base-info .base-info-form-box .div-col .item-date[data-v-fae5bece] .el-input__inner) { + padding-right: 2px; +} + +::v-deep(.el-table th.must>.cell::after) { + content: '*'; + color: var(--el-color-danger) !important; +} + +::v-deep(.tooltips-position) { + height: 50px; + color: #fff; + position: absolute; + z-index: -1; +} + +::v-deep(.tooltips-position text) { + height: inherit !important; + width: inherit !important; + display: block; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.getTextWidth { + font-size: 12px; + color: #fff; +} + +::v-deep(.slide-fade-enter-active) { + transition: all 0s ease !important; +} + +::v-deep(.slide-fade-leave-active) { + transition: all 0s ease !important; +} + +::v-deep(.el-table--border .el-table__cell:first-child .cell) { + text-align: center; +} + +::v-deep(.el-autocomplete-suggestion li) { + font-size: 12px !important; +} + +::v-deep(.el-tabs__nav-scroll) { + background: #fff; +} + +::v-deep(.el-tabs--border-card) { + border: none; + box-shadow: none; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active) { + border: 1px solid #909399 !important; + color: #303133 !important; + +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item) { + color: #909399 !important; + font-weight: 600; + border: 1px solid #909399 !important; +} + +::v-deep(.el-tabs__item) { + padding: 0 8px !important; + height: 28px !important; + line-height: 28px !important; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child) { + margin-left: 0 !important; + margin-top: 0 !important; + position: relative; +} + +::v-deep(.el-tabs__nav-scroll) { + padding-top: 15px !important; + padding-left: 12px !important; + position: relative; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child::before) { + content: ''; + width: 4px; + height: 50%; + background-color: #4178D5; + position: absolute; + top: 50%; + left: -12px; + transform: translateY(-50%); +} + +// ::v-deep(.el-tabs__nav-scroll::before) { +// content: ''; +// width: calc(100% - 168px); +// height: 1px; +// background-color: #EDEFF5; +// position: absolute; +// top: 50%; +// left: 168px; +// z-index: 1; +// } + +::v-deep(.el-autocomplete) { + width: 100% !important; + border: none !important; +} + +::v-deep(tbody .el-autocomplete .el-input__inner) { + border: none !important; +} + +.click-cell-ipt ::v-deep(.el-input__inner) { + // border: none !important; + font-size: 12px; + // padding: 0; +} + +::v-deep(.click-cell-ipt-issue .select-trigger .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; +} + +::v-deep(.click-cell-ipt-c .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; +} + +.click-cell-ipt ::v-deep(.el-autocomplete-suggestion li) { + width: 100%; + border: none !important; + font-size: 12px; +} + +::v-deep(.el-table--enable-row-transition .el-table__body td.el-table__cell) { + transition: none !important; +} + +.click-cell-ipt ::v-deep(.el-input__suffix) { + display: none !important; +} + +.click-cell-ipt ::v-deep(.el-table__cell .cell) { + height: inherit !important; + line-height: inherit !important; +} + +::v-deep(.el-tabs__content) { + overflow: inherit !important; +} + +::v-deep(.el-input__inner) { + height: 28px !important; + line-height: 28px !important; +} + +::v-deep(.el-table__row .el-select .el-input__inner) { + height: 28px !important; + line-height: 28px !important; + // border: none; +} + + + +::v-deep(.lead-time-style .el-input__inner) { + padding-left: 0px !important; + // border: none; +} + +::v-deep(.lead-time-style .el-input__prefix) { + justify-content: right !important; + left: 0 !important; + right: 1px !important; +} + +::v-deep(tbody tr:hover>td) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(tbody tr:hover .el-input__inner) { + background-color: var(--el-table-row-hover-background-color); +} + +.t-r { + text-align: right; +} + +.t-r ::v-deep(.el-input__inner) { + text-align: right; +} + +.disable { + background: rgb(245, 247, 250) +} + +.disable ::v-deep(.el-input__inner) { + background: rgb(245, 247, 250) +} + +::v-deep(.el-textarea__inner) { + font-size: 12px !important; + padding: 0 8px 0 8px !important; +} + +.address-textarea { + align-items: flex-start !important; +} + +.order-create-btn-group ::v-deep(.s-p-t-g4::after) { + background: #fff !important; +} + +.f-c { + color: var(--el-disabled-color-base) !important; +} + +::v-deep(.is-checkbox .cell .el-checkbox .el-checkbox__input .el-checkbox__inner) { + background-color: var(--el-checkbox-disabled-input-fill) !important; + border-color: var(--el-checkbox-disabled-border-color) !important; + cursor: not-allowed; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.order-create-btn-group ::v-deep(.s-p-t-g7::after), +.order-create-btn-group ::v-deep(.s-p-t-g8::after), +.order-create-btn-group ::v-deep(.s-p-t-g9::after), +.order-create-btn-group ::v-deep(.s-p-t-g10::after) { + background: #fff !important; +} + +.order-create-btn-group ::v-deep(.s-p-t-g7), +.order-create-btn-group ::v-deep(.s-p-t-g8), +.order-create-btn-group ::v-deep(.s-p-t-g9), +.order-create-btn-group ::v-deep(.s-p-t-g10) { + padding: 0; +} +::v-deep(.el-textarea__inner) { + width: 172px; + font-size: 12px !important; + padding: 0 8px 0 8px !important; + } \ No newline at end of file diff --git a/src/assets/style/saleOrder/issueDetails.scss b/src/assets/style/saleOrder/issueDetails.scss new file mode 100644 index 0000000..3d201cb --- /dev/null +++ b/src/assets/style/saleOrder/issueDetails.scss @@ -0,0 +1,363 @@ +::v-deep(.el-form-item) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-form-item__label) { + font-size: 12px; + padding-right: 6px; + height: 27px; + display: flex; + justify-content: right; + align-items: center; + width: 96px !important; +} + +::v-deep(.el-input) { + line-height: 27px; +} + +::v-deep(.el-input__inner) { + padding: 0 16px 0 8px !important; + height: 27px; + font-size: 12px; + line-height: 27px; +} + +::v-deep(.click-cell-ipt-issue .select-trigger .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; +} + +::v-deep(.click-cell-ipt-c .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; +} + +::v-deep(.el-form-item__content) { + line-height: 28px; +} + +::v-deep(input::-webkit-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-moz-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-ms-input-placeholder) { + font-size: 12px; +} + +::v-deep(.el-form-item) { + margin-bottom: 0; +} + +::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-select-dropdown__item) { + font-size: 12px !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before) { + content: '' !important; + color: #fff !important; + margin-right: 0 !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label::before) { + content: '*' !important; + color: var(--el-color-danger) !important; + margin-right: 0 !important; +} + +::v-deep(.el-input__prefix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-date-editor) { + --el-date-editor-width: 100% !important; +} + +::v-deep(.el-dropdown) { + font-size: 12px; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; + text-align: left; + background: #F2F5F9; + color: #000; +} + +::v-deep(.el-table__body tbody tr td) { + padding: 0 !important; +} + +::v-deep(.el-table__row) { + height: 50px !important; +} + +::v-deep(.el-row) { + width: 100%; +} + +::v-deep(.el-select) { + width: 100%; +} + +::v-deep(.sale-details-container .sale-details-base-info .base-info-form-box .div-col .item-date[data-v-fae5bece] .el-input__inner) { + padding-right: 2px; +} + +::v-deep(.el-table th.must>.cell::after) { + content: '*'; + color: var(--el-color-danger) !important; +} + +::v-deep(.tooltips-position) { + height: 50px; + color: #fff; + position: absolute; + z-index: -1; +} + +::v-deep(.tooltips-position text) { + height: inherit !important; + width: inherit !important; + display: block; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.getTextWidth { + font-size: 12px; + color: #fff; +} + +::v-deep(.slide-fade-enter-active) { + transition: all 0s ease !important; +} + +::v-deep(.slide-fade-leave-active) { + transition: all 0s ease !important; +} + +::v-deep(.el-table--border .el-table__cell:first-child .cell) { + text-align: center; +} + +::v-deep(.el-autocomplete-suggestion li) { + font-size: 12px !important; +} + +::v-deep(.el-tabs__nav-scroll) { + background: #fff; +} + +::v-deep(.el-tabs--border-card) { + border: none; + box-shadow: none; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active) { + border: 1px solid #909399 !important; + color: #303133 !important; + +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item) { + color: #909399 !important; + font-weight: 600; + border: 1px solid #909399 !important; +} + +::v-deep(.el-tabs__item) { + padding: 0 8px !important; + height: 28px !important; + line-height: 28px !important; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child) { + margin-left: 0 !important; + margin-top: 0 !important; + position: relative; +} + +::v-deep(.el-tabs__nav-scroll) { + padding-top: 15px !important; + padding-left: 12px !important; + position: relative; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child::before) { + content: ''; + width: 4px; + height: 50%; + background-color: #4178D5; + position: absolute; + top: 50%; + left: -12px; + transform: translateY(-50%); +} + +// ::v-deep(.el-tabs__nav-scroll::before) { +// content: ''; +// width: calc(100% - 168px); +// height: 1px; +// background-color: #EDEFF5; +// position: absolute; +// top: 50%; +// left: 168px; +// z-index: 1; +// } + +::v-deep(.el-autocomplete) { + width: 100% !important; + border: none !important; +} + +::v-deep(tbody .el-autocomplete .el-input__inner) { + border: none !important; +} + +// .click-cell-ipt ::v-deep(.el-input__inner) { +// border: none !important; +// font-size: 12px; +// padding: 0; +// } + +.click-cell-ipt ::v-deep(.el-autocomplete-suggestion li) { + width: 100%; + border: none !important; + font-size: 12px; +} + +::v-deep(.el-table--enable-row-transition .el-table__body td.el-table__cell) { + transition: none !important; +} + +.click-cell-ipt ::v-deep(.el-input__suffix) { + display: none !important; +} + +.click-cell-ipt ::v-deep(.el-table__cell .cell) { + height: inherit !important; + line-height: inherit !important; +} + +::v-deep(.el-tabs__content) { + overflow: inherit !important; +} + +::v-deep(.el-input__inner) { + height: 28px !important; + line-height: 28px !important; +} + +::v-deep(.el-table__row .el-select .el-input__inner) { + height: 28px !important; + line-height: 28px !important; + // border: none; +} + +.order-create-btn-group ::v-deep(.s-p-t-g4::after) { + background: #fff !important; +} + +::v-deep(.lead-time-style .el-input__inner) { + padding: 0px 30px 0 8px !important; + // border: none; +} + +::v-deep(.lead-time-style .el-input__prefix) { + justify-content: right !important; + left: 0 !important; + right: 1px !important; +} + +::v-deep(tbody tr:hover>td) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(tbody tr:hover .el-input__inner) { + background-color: var(--el-table-row-hover-background-color); +} + +.t-r { + text-align: right; +} + +.t-r ::v-deep(.el-input__inner) { + text-align: right; +} + +.disable { + background: rgb(245, 247, 250) +} + +.disable ::v-deep(.el-input__inner) { + background: rgb(245, 247, 250) +} + +.f-c { + color: var(--el-disabled-color-base) !important; +} + +::v-deep(.is-checkbox .cell .el-checkbox .el-checkbox__input .el-checkbox__inner) { + background-color: var(--el-checkbox-disabled-input-fill) !important; + border-color: var(--el-checkbox-disabled-border-color) !important; + cursor: not-allowed; +} + +::v-deep(.el-radio-group) { + display: flex !important; + flex-wrap: wrap !important; +} + +::v-deep(.el-radio) { + width: 50% !important; + margin: 0 !important; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.order-create-btn-group ::v-deep(.s-p-t-g7::after), +.order-create-btn-group::v-deep(.s-p-t-g8::after), +.order-create-btn-group ::v-deep(.s-p-t-g9::after), +.order-create-btn-group ::v-deep(.s-p-t-g10::after) { + background: #fff !important; +} + +.order-create-btn-group ::v-deep(.s-p-t-g7), +.order-create-btn-group ::v-deep(.s-p-t-g8), +.order-create-btn-group ::v-deep(.s-p-t-g9), + +.order-create-btn-group ::v-deep(.s-p-t-g10) { + padding: 0; +} +::v-deep(.el-textarea__inner) { + width: 166px !important; + font-size: 12px !important; + padding: 0 8px 0 8px !important; + } \ No newline at end of file diff --git a/src/assets/style/saleOrder/orderCreate.scss b/src/assets/style/saleOrder/orderCreate.scss new file mode 100644 index 0000000..addbd5e --- /dev/null +++ b/src/assets/style/saleOrder/orderCreate.scss @@ -0,0 +1,357 @@ +::v-deep(.el-form-item) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-form-item__label) { + font-size: 12px; + padding-right: 6px; + height: 27px; + display: flex; + justify-content: right; + align-items: center; + width: 96px !important; +} + +::v-deep(.el-input) { + line-height: 27px; +} + +::v-deep(.el-input__inner) { + padding: 0 8px; + height: 27px; + font-size: 12px; + line-height: 27px; +} + +::v-deep(.el-form-item__content) { + line-height: 28px; +} + +::v-deep(input::-webkit-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-moz-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-ms-input-placeholder) { + font-size: 12px; +} + +::v-deep(.el-form-item) { + margin-bottom: 0; +} + +::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-select-dropdown__item) { + font-size: 12px !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before) { + content: '' !important; + color: #fff !important; + margin-right: 0 !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label::before) { + content: '*' !important; + color: var(--el-color-danger) !important; + margin-right: 0 !important; +} + +::v-deep(.el-input__prefix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-date-editor) { + --el-date-editor-width: 100% !important; +} + +::v-deep(.el-dropdown) { + font-size: 12px; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; + text-align: left; + background: #F2F5F9; + color: #000; +} + +::v-deep(.el-table__body tbody tr td) { + padding: 0 !important; +} + +::v-deep(.el-table__row) { + height: 50px !important; +} + +::v-deep(.el-row) { + width: 100%; +} + +::v-deep(.el-select) { + width: 100%; +} + +::v-deep(.sale-details-container .sale-details-base-info .base-info-form-box .div-col .item-date[data-v-fae5bece] .el-input__inner) { + padding-right: 2px; +} + +::v-deep(.el-table th.must>.cell::after) { + content: '*'; + color: var(--el-color-danger) !important; +} + +::v-deep(.tooltips-position) { + height: 50px; + color: #fff; + position: absolute; + z-index: -1; +} + +::v-deep(.tooltips-position text) { + height: inherit !important; + width: inherit !important; + display: block; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.getTextWidth { + font-size: 12px; + color: #fff; +} + +::v-deep(.slide-fade-enter-active) { + transition: all 0s ease !important; +} + +::v-deep(.slide-fade-leave-active) { + transition: all 0s ease !important; +} + +::v-deep(.el-table--border .el-table__cell:first-child .cell) { + text-align: center; +} + +::v-deep(.el-autocomplete-suggestion li) { + font-size: 12px !important; +} + +::v-deep(.el-tabs__nav-scroll) { + background: #fff; +} + +::v-deep(.el-tabs--border-card) { + border: none; + box-shadow: none; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active) { + border: 1px solid #909399 !important; + color: #303133 !important; + +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item) { + color: #909399 !important; + font-weight: 600; + border: 1px solid #909399 !important; +} + +::v-deep(.el-tabs__item) { + padding: 0 8px !important; + height: 28px !important; + line-height: 28px !important; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child) { + margin-left: 0 !important; + margin-top: 0 !important; + position: relative; +} + +::v-deep(.el-tabs__nav-scroll) { + padding-top: 15px !important; + padding-left: 12px !important; + position: relative; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child::before) { + content: ''; + width: 4px; + height: 50%; + background-color: #4178D5; + position: absolute; + top: 50%; + left: -12px; + transform: translateY(-50%); +} + +// ::v-deep(.el-tabs__nav-scroll::before) { +// content: ''; +// width: calc(100% - 168px); +// height: 1px; +// background-color: #EDEFF5; +// position: absolute; +// top: 50%; +// left: 168px; +// z-index: 1; +// } + +::v-deep(.el-autocomplete) { + width: 100% !important; + border: none !important; +} + +::v-deep(tbody .el-autocomplete .el-input__inner) { + border: none !important; +} + +// .click-cell-ipt ::v-deep(.el-input__inner) { +// border: none !important; +// font-size: 12px; +// padding: 0; +// } + +.click-cell-ipt ::v-deep(.el-autocomplete-suggestion li) { + width: 100%; + border: none !important; + font-size: 12px; +} + +::v-deep(.el-table--enable-row-transition .el-table__body td.el-table__cell) { + transition: none !important; +} + +// .click-cell-ipt ::v-deep(.el-input__suffix) { +// display: none !important; +// } + +.click-cell-ipt ::v-deep(.el-table__cell .cell) { + height: inherit !important; + line-height: inherit !important; +} + +::v-deep(.el-tabs__content) { + overflow: inherit !important; +} + +::v-deep(.el-input__inner) { + height: 28px !important; + line-height: 28px !important; +} + +::v-deep(.el-table__row .el-select .el-input__inner) { + height: 28px !important; + line-height: 28px !important; + // border: none; +} + +.order-create-btn-group ::v-deep(.s-p-t-g4::after) { + background: #fff !important; +} + +::v-deep(.lead-time-style .el-input__inner) { + padding: 0px 30px 0 8px !important; + // border: none; +} + +::v-deep(.click-cell-ipt-issue .select-trigger .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; +} + +::v-deep(.click-cell-ipt-c .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; +} + +::v-deep(.lead-time-style .el-input__prefix) { + justify-content: right !important; + left: 0 !important; + right: 1px !important; +} + +::v-deep(tbody tr:hover>td) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(tbody tr:hover .el-input__inner) { + background-color: var(--el-table-row-hover-background-color); +} + +.t-r { + text-align: right; +} + +// .t-r ::v-deep(.el-input__inner) { +// text-align: right; +// } + +.disable { + background: rgb(245, 247, 250) +} + +.disable ::v-deep(.el-input__inner) { + background: rgb(245, 247, 250) +} + +.f-c { + color: var(--el-disabled-color-base) !important; +} + +::v-deep(.is-checkbox .cell .el-checkbox .el-checkbox__input .el-checkbox__inner) { + background-color: var(--el-checkbox-disabled-input-fill) !important; + border-color: var(--el-checkbox-disabled-border-color) !important; + cursor: not-allowed; +} + +::v-deep(.el-radio-group) { + display: flex !important; + flex-wrap: wrap !important; +} + +::v-deep(.el-radio) { + width: 50% !important; + margin: 0 !important; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.order-create-btn-group ::v-deep(.s-p-t-g7::after), +.order-create-btn-group::v-deep(.s-p-t-g8::after), +.order-create-btn-group ::v-deep(.s-p-t-g9::after), +.order-create-btn-group ::v-deep(.s-p-t-g10::after) { + background: #fff !important; +} + +.order-create-btn-group ::v-deep(.s-p-t-g7), +.order-create-btn-group ::v-deep(.s-p-t-g8), +.order-create-btn-group ::v-deep(.s-p-t-g9), +.order-create-btn-group ::v-deep(.s-p-t-g10) { + padding: 0; +} \ No newline at end of file diff --git a/src/assets/style/saleOrder/orderDetails.scss b/src/assets/style/saleOrder/orderDetails.scss new file mode 100644 index 0000000..8ff7a81 --- /dev/null +++ b/src/assets/style/saleOrder/orderDetails.scss @@ -0,0 +1,303 @@ +::v-deep(.el-form-item) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-form-item__label) { + font-size: 12px; + padding-right: 6px; + height: 28px; + // line-height: 38px; + display: flex; + justify-content: right; + align-items: center; + width: 97px !important; +} + +::v-deep(.el-input) { + line-height: 27px; +} + + +::v-deep(.el-input-deta) { + + padding-left: 30px !important; +} + + + +::v-deep(.el-form-item__content) { + line-height: 27px; +} + +::v-deep(input::-webkit-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-moz-input-placeholder) { + font-size: 12px; +} + +::v-deep(input::-ms-input-placeholder) { + font-size: 12px; +} + +::v-deep(.el-form-item) { + margin-bottom: 0; +} + +::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-select-dropdown__item) { + font-size: 12px !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before) { + content: '' !important; + color: #fff !important; + margin-right: 0 !important; +} + +::v-deep(.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label::before) { + content: '*' !important; + color: var(--el-color-danger) !important; + margin-right: 0 !important; +} + +::v-deep(.el-input__prefix) { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep(.el-date-editor) { + // --el-date-editor-width: 200px !important; + --el-date-editor-width: 100% !important; +} + +::v-deep(.el-dropdown) { + font-size: 12px; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; + text-align: left; + background: #F2F5F9; + color: #000; +} + +::v-deep(.el-table thead tr th .cell) { + // text-align: left; +} + +::v-deep(.el-table__body tbody tr td) { + padding: 0 !important; +} + +::v-deep(.el-table__body tbody tr td .cell) { + // display: -webkit-box; + // white-space:normal; + // text-overflow: ellipsis; + // overflow: hidden; + // -webkit-line-clamp: 2; + // -webkit-box-orient: vertical; +} + +::v-deep(.el-table__row) { + height: 50px !important; +} + +::v-deep(.el-row) { + width: 100%; +} + +::v-deep(.el-select) { + width: 100%; +} + +::v-deep(.sale-details-container .sale-details-base-info .base-info-form-box .div-col .item-date[data-v-fae5bece] .el-input__inner) { + // padding-right: 30px; + padding: 0 8px 0 30px !important; +} + +::v-deep(.el-table th.must>.cell::after) { + content: '*'; + color: var(--el-color-danger) !important; +} + +::v-deep(.tooltips-position) { + height: 50px; + color: #fff; + position: absolute; + z-index: -1; +} + +::v-deep(.tooltips-position text) { + height: inherit !important; + width: inherit !important; + display: block; +} + +.myNote { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.getTextWidth { + font-size: 12px; + color: #fff; +} + +::v-deep(.slide-fade-enter-active) { + transition: all 0s ease !important; +} + +::v-deep(.slide-fade-leave-active) { + transition: all 0s ease !important; +} + +::v-deep(.el-button:visited) { + background-color: #fff; +} + +::v-deep(.el-table--border .el-table__cell:first-child .cell) { + text-align: center; +} + +::v-deep(.el-tabs__nav-scroll) { + background: #fff; +} + +::v-deep(.el-tabs--border-card) { + border: none; + box-shadow: none; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active) { + border: 1px solid #909399 !important; + color: #303133 !important; + +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item) { + color: #909399 !important; + font-weight: 600; + border: 1px solid #909399 !important; +} + +::v-deep(.el-tabs__item) { + padding: 0 8px !important; + height: 28px !important; + line-height: 28px !important; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child) { + margin-left: 0 !important; + margin-top: 0 !important; + position: relative; +} + +::v-deep(.el-tabs__nav-scroll) { + padding-top: 15px !important; + padding-left: 12px !important; + position: relative; +} + +::v-deep(.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child::before) { + content: ''; + width: 4px; + height: 100%; + background-color: #4178D5; + position: absolute; + top: 0; + left: -12px; +} + +// ::v-deep(.el-tabs__nav-scroll::before) { +// content: ''; +// width: 100%; +// height: 1px; +// background-color: #EDEFF5; +// position: absolute; +// top: 50%; +// z-index: 1; +// } + +.click-cell-ipt ::v-deep(.el-input__inner) { + // border: none !important; + font-size: 12px; + // background-color: var(--el-table-row-hover-background-color); + padding: 0; +} + +.click-cell-ipt ::v-deep(.el-autocomplete-suggestion li) { + width: 100%; + border: none !important; + font-size: 12px; +} + +::v-deep(tbody tr:hover>td) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(tbody tr:hover .el-input__inner) { + background-color: var(--el-table-row-hover-background-color); +} + +::v-deep(.el-table--enable-row-transition .el-table__body td.el-table__cell) { + transition: none !important; +} + +.click-cell-ipt ::v-deep(.el-input__suffix) { + display: none !important; +} + +.click-cell-ipt ::v-deep(.el-table__cell .cell) { + height: inherit !important; + line-height: inherit !important; +} + +::v-deep(.lead-time-style .el-input__inner) { + padding-left: 0px !important; + border: none; +} + +::v-deep(.lead-time-style .el-input__prefix) { + justify-content: right !important; + left: 0 !important; + right: 1px !important; +} + +::v-deep(.el-tabs__content) { + overflow: inherit !important; +} + +::v-deep(.matter-code-box .el-input__inner) { + border: none !important; + padding-left: 0 !important; + padding-right: 0 !important; +} + +.sale-details-btn-group ::v-deep(.s-p-t-g7::after), +.sale-details-btn-group::v-deep(.s-p-t-g8::after), +.sale-details-btn-group ::v-deep(.s-p-t-g9::after), +.sale-details-btn-group ::v-deep(.s-p-t-g10::after) { + background: #fff !important; +} + +.sale-details-btn-group ::v-deep(.s-p-t-g7), +.sale-details-btn-group ::v-deep(.s-p-t-g8), +.sale-details-btn-group ::v-deep(.s-p-t-g9), +.sale-details-btn-group ::v-deep(.s-p-t-g10) { + padding: 0; +} \ No newline at end of file diff --git a/src/assets/style/saleOrder/orderList.scss b/src/assets/style/saleOrder/orderList.scss new file mode 100644 index 0000000..0c61e48 --- /dev/null +++ b/src/assets/style/saleOrder/orderList.scss @@ -0,0 +1,95 @@ +::v-deep(.el-table__row) { + height: 50px !important; + padding: 8px !important; +} + +::v-deep(.el-table__row td) { + padding: 0; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; + text-align: left; + background: #F2F5F9; + color: #000; +} + +.noteOrder { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +::v-deep(.total-select-item) { + margin-right: 24px !important; +} + +::v-deep(.el-pagination__sizes) { + margin-right: 0 !important; +} + +::v-deep(.el-pagination__total) { + margin-right: 24px !important; +} + +::v-deep(.el-table .headerRight) { + background: #F2F5F9; + color: #000; +} + +.caidandiv { + margin-bottom: 15px; + + span { + cursor: pointer; + margin-right: 15px; + } +} + +::v-deep(.el-radio-group) { + display: flex !important; + flex-wrap: wrap !important; +} + +::v-deep(.el-radio) { + width: 50% !important; + margin: 0 !important; +} + +::v-deep(.el-table td.el-table__cell div), +::v-deep(.el-table th.el-table__cell div) { + display: -webkit-box; + // line-height: 20px; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +// ::v-deep(.el-table th.el-table__cell div .el-input___inner) { +// padding: 0 30px 0 8px !important; +// } + +.sale-container ::v-deep(.s-p-t-g7::after), +.sale-container::v-deep(.s-p-t-g8::after), +.sale-container ::v-deep(.s-p-t-g9::after), +.sale-container ::v-deep(.s-p-t-g10::after) { + background: #fff !important; +} + +.sale-container ::v-deep(.s-p-t-g7), +.sale-container ::v-deep(.s-p-t-g8), +.sale-container ::v-deep(.s-p-t-g9), +.sale-container ::v-deep(.s-p-t-g10) { + padding: 0; +} \ No newline at end of file diff --git a/src/assets/style/saleOrder/returnOrder.scss b/src/assets/style/saleOrder/returnOrder.scss new file mode 100644 index 0000000..926209f --- /dev/null +++ b/src/assets/style/saleOrder/returnOrder.scss @@ -0,0 +1,83 @@ +::v-deep(.el-table__row) { + height: 50px !important; + padding: 8px !important; +} + +::v-deep(.el-table__row td) { + padding: 0; +} + +::v-deep(.el-table thead tr th) { + padding: 0 !important; + height: 40px; + max-height: 40px; +} + +.noteOrder { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +::v-deep(.total-select-item) { + margin-right: 24px !important; +} + +::v-deep(.el-pagination__sizes) { + margin-right: 0 !important; +} + +::v-deep(.el-pagination__total) { + margin-right: 24px !important; +} + +::v-deep(.el-table .headerRight) { + background: #F2F5F9; + color: #000; +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +::v-deep(.el-date-editor .el-range-separator) { + display: flex !important; + justify-content: center !important; + align-items: center !important; + color: #9b9fa5 !important +} + +::v-deep(.el-table td.el-table__cell div) { + display: -webkit-box; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.return-order-page-top ::v-deep(.s-p-t-g7::after), +.return-order-page-top::v-deep(.s-p-t-g8::after), +.return-order-page-top ::v-deep(.s-p-t-g9::after), +.return-order-page-top ::v-deep(.s-p-t-g10::after) { + background: #fff !important; +} + +.return-order-page-top ::v-deep(.s-p-t-g7), +.return-order-page-top ::v-deep(.s-p-t-g8), +.return-order-page-top ::v-deep(.s-p-t-g9), +.return-order-page-top ::v-deep(.s-p-t-g10) { + padding: 0; +} + + +::v-deep(.el-textarea__inner) { + width: 172px; + font-size: 12px !important; + padding: 0 8px 0 8px !important; +} \ No newline at end of file diff --git a/src/assets/style/saleOrder/saleOrderCommon.scss b/src/assets/style/saleOrder/saleOrderCommon.scss new file mode 100644 index 0000000..8d9c946 --- /dev/null +++ b/src/assets/style/saleOrder/saleOrderCommon.scss @@ -0,0 +1,1309 @@ +// 销售订单列表 +.sale-container { + display: flex; + flex-direction: column; + background: #fff; + margin-top: 16px; + + .sale-page-body { + background: #fff; + + .sale-page-table-header { + padding: 0 16px 0 16px; + margin: 12px 0 0 0; + + .el-form { + .form-row1 { + font-size: 12px; + + &:deep(.el-form-item__label) { + font-size: 12px; + } + + &:deep(.el-input__inner) { + height: 28px; + } + + &:deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; + } + + &:deep(.el-form-item) { + margin-bottom: 0; + } + + .form-row-lastcol { + display: flex; + justify-content: right; + align-items: center; + } + + &:deep(input::-webkit-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-moz-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-ms-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + font-size: 12px; + } + + .form-group1 { + display: flex; + flex-direction: row; + + ::v-deep(.el-form-item__content) { + display: flex; + justify-content: right; + height: 28px; + align-items: center; + + .alias-open { + background-color: #F2F5F9; + padding: 0 12px; + border: 1px solid #E4E7ED; + margin-right: 16px; + height: 28px; + display: flex; + justify-content: center; + align-items: center; + } + } + } + } + + .form-row2 { + font-size: 12px; + + ::v-deep(.el-form-item__label) { + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + height: 28px; + } + + ::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-range-separator) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-form-item__content) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-form-item) { + margin-bottom: 0; + } + + ::v-deep(input::-webkit-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-moz-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-ms-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + font-size: 12px; + } + + ::v-deep(.el-range-input) { + font-size: 12px; + } + + .form-row2-row2 { + ::v-deep(.el-form-item__content) { + display: flex; + + .el-select { + margin-right: 7px !important; + width: 100%; + } + } + + .input-number-box { + display: flex; + justify-content: center; + align-items: center; + + span { + margin: 0 4px; + } + } + } + } + } + } + + .sale-page-table-body { + padding: 0 16px; + margin-top: 12px; + + .table-box { + th { + padding: 0 !important; + height: 48px; + line-height: 48px; + } + + td { + padding: 0 !important; + height: 48px; + line-height: 48px; + } + } + } + } + + .sale-page-footer { + padding: 10px 24px; + display: flex; + flex-direction: row; + font-size: 12px; + + .footer-left { + display: flex; + justify-content: center; + align-items: center; + + div { + margin-right: 24px; + + span:first-child { + margin-right: 4px; + } + + .sale-number-color { + color: #4178D5; + } + } + } + + .footer-right { + display: flex; + flex: 1; + justify-content: right; + align-items: center; + + ::v-deep(.el-pagination) { + --el-pagination-font-size: 12px !important; + + .btn-prev { + span { + font-size: 12px; + } + } + + .btn-next { + span { + font-size: 12px; + } + } + } + + .total-select-item { + margin-right: 10px; + color: var(--el-text-color-regular); + font-weight: 400; + font-size: 12px; + } + } + + .footer-pagination-total-page { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding-bottom: 2px; + margin-left: 24px; + + span { + font-size: 12px; + display: flex; + justify-content: center; + align-items: center; + box-sizing: border-box; + height: 28px; + line-height: 28px; + color: #606266; + } + } + } +} + +// 创建订单 +.order-create-container { + display: flex; + flex-direction: column; + background: #fff; + margin-top: 16px; + + .order-create-base-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .base-info-row-title { + display: flex; + flex-direction: row; + margin-bottom: 6px; + + h3 { + padding: 0 8px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 12px; + background-color: #4178D5; + position: absolute; + top: 50%; + left: 0; + transform: translateY(-50%); + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .base-info-form-box { + .div-col { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + + // .order-number-bx { + // ::v-deep(.el-input__inner) { + // border: none; + // } + // } + + .item-bt-s { + margin-bottom: 8px; + } + + .item-date { + ::v-deep(.el-input__inner) { + width: 173px; + padding-left: 30px !important; + padding-right: 8px; + } + } + + .custom-address-row { + width: 100% !important; + margin: 0; + + .custom-address-col { + padding: 0 !important; + } + } + } + + .col-2 { + ::v-deep(.el-form-item__label) { + width: 108px !important; + } + } + } + } + + .order-create-tell-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .tell-info-row-title { + display: flex; + flex-direction: row; + + h3 { + padding: 0 8px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 12px; + background-color: #4178D5; + position: absolute; + top: 50%; + left: 0; + transform: translateY(-50%); + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .tell-info-button-group { + display: flex; + flex-direction: row; + box-sizing: border-box; + padding-left: 8px; + + .tell-info-add-row { + display: flex; + justify-content: center; + align-items: center; + } + + .tell-info-copy-row { + span { + font-size: 12px; + margin-left: 19px; + color: var(--el-text-color-regular); + } + } + + .tell-info-delete-row { + span { + cursor: pointer; + font-size: 12px; + margin-left: 17px; + color: var(--el-text-color-regular); + } + } + + .tell-info-operation { + display: flex; + justify-content: center; + align-items: center; + margin-left: 16px; + } + + .tell-info-query { + display: flex; + justify-content: center; + align-items: center; + margin-left: 16px; + } + } + + .tell-info-table { + margin-top: 13px; + position: relative; + + .tooltips-position { + position: absolute; + top: 0; + z-index: -1; + } + + // ::v-deep(.el-input__inner) { + // padding: 0 0 0 0 !important; + // } + } + } +} + +// 订单详情 +.sale-details-container { + display: flex; + flex-direction: column; + background: #fff; + margin-top: 16px; + + .sale-details-base-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .base-info-row-title { + display: flex; + flex-direction: row; + margin-bottom: 6px; + + h3 { + padding: 0 12px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 12px; + background-color: #4178D5; + position: absolute; + top: 50%; + left: 0; + transform: translateY(-50%); + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .base-info-form-box { + height: 185px; + + .div-col { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + + // .order-number-bx { + // ::v-deep(.el-input__inner) { + // border: none; + // padding-left: 0 !important; + // padding-right: 32px !important; + // } + // } + + .item-bt-s { + margin-bottom: 8px; + } + + .item-date { + ::v-deep(.el-input__inner) { + padding-left: 30px !important; + padding-right: 2px; + } + } + + .custom-address-row { + width: 100% !important; + margin: 0; + + .custom-address-col { + padding: 0 !important; + } + } + } + + .col-2 { + ::v-deep(.el-form-item__label) { + width: 83px !important; + } + } + } + } + + .sale-details-tell-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .tell-info-row-title { + display: flex; + flex-direction: row; + + h3 { + padding: 0 8px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 12px; + background-color: #4178D5; + position: absolute; + top: 50%; + left: 0; + transform: translateY(-50%); + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .tell-info-button-group { + display: flex; + flex-direction: row; + box-sizing: border-box; + padding-left: 8px; + + .tell-info-add-row { + display: flex; + justify-content: center; + align-items: center; + } + + .tell-info-copy-row { + span { + font-size: 12px; + margin-left: 19px; + color: var(--el-text-color-regular); + } + } + + .tell-info-delete-row { + span { + font-size: 12px; + margin-left: 17px; + color: var(--el-text-color-regular); + } + } + + .tell-info-operation { + display: flex; + justify-content: center; + align-items: center; + margin-left: 16px; + } + + .tell-info-query { + display: flex; + justify-content: center; + align-items: center; + margin-left: 16px; + } + } + + .tell-info-table { + margin-top: 13px; + position: relative; + + .tooltips-position { + position: absolute; + top: 0; + z-index: -1; + } + } + } +} + +// 退货单列表 +.return-order-container { + display: flex; + flex-direction: column; + background: #fff; + margin-top: 16px; + + .return-order-page-body { + background: #fff; + + .return-order-table-header { + padding: 0 24px 0 24px; + + .el-form { + .form-row1 { + font-size: 12px; + + ::v-deep(.el-form-item__label) { + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + height: 28px; + } + + ::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-form-item) { + margin-bottom: 0; + } + + .form-row-lastcol { + display: flex; + justify-content: right; + align-items: center; + } + + ::v-deep(input::-webkit-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-moz-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-ms-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + font-size: 12px; + } + + .form-group1 { + display: flex; + flex-direction: row; + + ::v-deep(.el-form-item__content) { + display: flex; + justify-content: right; + height: 28px; + align-items: center; + + .alias-open { + background-color: #F2F5F9; + padding: 0 12px; + border: 1px solid #E4E7ED; + margin-right: 16px; + height: 28px; + display: flex; + justify-content: center; + align-items: center; + } + } + } + } + + .form-row2 { + font-size: 12px; + + ::v-deep(.el-form-item__label) { + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + height: 28px; + } + + ::v-deep(.el-input__suffix) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-range-separator) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-form-item__content) { + display: flex; + justify-content: center; + align-items: center; + } + + ::v-deep(.el-form-item) { + margin-bottom: 0; + } + + ::v-deep(input::-webkit-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-moz-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(input::-ms-input-placeholder) { + color: #c0c4cc; + font-size: 12px; + } + + ::v-deep(.el-input__inner) { + font-size: 12px; + } + + ::v-deep(.el-range-input) { + font-size: 12px; + } + + .form-row2-row2 { + ::v-deep(.el-form-item__content) { + display: flex; + + .el-select { + margin-right: 7px !important; + width: 100%; + } + } + } + } + } + } + + .return-order-table-body { + padding: 0 24px; + margin-top: 10px; + + .table-box { + th { + padding: 0 !important; + height: 48px; + line-height: 48px; + } + + td { + padding: 0 !important; + height: 48px; + line-height: 48px; + } + } + } + } + + .return-order-page-footer { + padding: 10px 24px; + display: flex; + flex-direction: row; + font-size: 12px; + + .footer-left { + display: flex; + justify-content: center; + align-items: center; + + div { + margin-right: 24px; + + span:first-child { + margin-right: 4px; + } + + .sale-number-color { + color: #4178D5; + } + } + } + + .footer-right { + display: flex; + flex: 1; + justify-content: right; + align-items: center; + + ::v-deep(.el-pagination) { + --el-pagination-font-size: 12px !important; + + .btn-prev { + span { + font-size: 12px; + } + } + + .btn-next { + span { + font-size: 12px; + } + } + } + + .total-select-item { + margin-right: 10px; + color: var(--el-text-color-regular); + font-weight: 400; + font-size: 12px; + } + } + + .footer-pagination-total-page { + display: flex; + justify-content: center; + align-items: center; + height: 34px; + line-height: 34px; + padding-bottom: 2px; + margin-left: 24px; + + span { + font-size: 12px; + display: flex; + justify-content: center; + align-items: center; + box-sizing: border-box; + height: 28px; + line-height: 28px; + color: #606266; + } + } + } +} + +// 新增退货单 +.create-return-container { + display: flex; + flex-direction: column; + background: #fff; + background-color: #fff; + margin-top: 16px; + + .create-return-base-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .base-info-row-title { + display: flex; + flex-direction: row; + margin-bottom: 6px; + + h3 { + padding: 0 8px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 100%; + background-color: #4178D5; + position: absolute; + top: 0; + left: 0; + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .base-info-form-box { + .div-col { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + + // .order-number-bx { + // ::v-deep(.el-input__inner) { + // border: none; + // padding-left: 0 !important; + // padding-right: 32px !important; + // } + // } + + .item-bt-s { + margin-bottom: 8px; + } + + .item-date { + ::v-deep(.el-input__inner) { + padding-left: 30px !important; + padding-right: 2px; + } + } + + .custom-address-row { + width: 100% !important; + margin: 0; + + .custom-address-col { + padding: 0 !important; + } + } + } + + .col-2 { + ::v-deep(.el-form-item__label) { + width: 80px !important; + } + } + } + } + + .create-return-tell-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .tell-info-row-title { + display: flex; + flex-direction: row; + + h3 { + padding: 0 8px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 100%; + background-color: #4178D5; + position: absolute; + top: 0; + left: 0; + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .tell-info-button-group { + display: flex; + flex-direction: row; + box-sizing: border-box; + padding-left: 8px; + + .tell-info-add-row { + display: flex; + justify-content: center; + align-items: center; + } + + .tell-info-copy-row { + span { + font-size: 12px; + margin-left: 19px; + color: var(--el-text-color-regular); + } + } + + .tell-info-delete-row { + span { + font-size: 12px; + margin-left: 17px; + color: var(--el-text-color-regular); + } + } + + .tell-info-operation { + display: flex; + justify-content: center; + align-items: center; + margin-left: 16px; + } + + .tell-info-query { + display: flex; + justify-content: center; + align-items: center; + margin-left: 16px; + } + } + + .tell-info-table { + margin-top: 13px; + position: relative; + + .tooltips-position { + position: absolute; + top: 0; + z-index: -1; + } + } + } +} + +// 退货单详情 +.return-details-container { + display: flex; + flex-direction: column; + background: #fff; + margin-top: 16px; + + .return-details-base-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .base-info-row-title { + display: flex; + flex-direction: row; + margin-bottom: 6px; + + h3 { + padding: 0 12px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 100%; + background-color: #4178D5; + position: absolute; + top: 0; + left: 0; + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .base-info-form-box { + height: 148px; + + .div-col { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + + // .order-number-bx { + // ::v-deep(.el-input__inner) { + // border: none; + // padding-left: 0 !important; + // padding-right: 32px !important; + // } + // } + + .item-bt-s { + margin-bottom: 8px; + } + + .item-date { + ::v-deep(.el-input__inner) { + padding-left: 30px !important; + padding-right: 2px; + } + } + + .custom-address-row { + width: 100% !important; + margin: 0; + + .custom-address-col { + padding: 0 !important; + } + } + } + + .col-2 { + ::v-deep(.el-form-item__label) { + width: 83px !important; + } + } + } + } + + .return-details-tell-info { + padding: 0 24px 0 24px; + font-size: 12px; + + .tell-info-row-title { + display: flex; + flex-direction: row; + + h3 { + padding: 0 8px; + font-size: 14px; + position: relative; + text-align: center; + margin: 8px 0; + } + + h3:before { + content: ''; + width: 4px; + height: 100%; + background-color: #4178D5; + position: absolute; + top: 0; + left: 0; + } + + .long-line-bx { + display: flex; + justify-content: center; + align-items: center; + height: inherit; + flex-grow: 1; + + .long-line { + width: 100%; + height: 1px; + background-color: #EDEFF5; + } + } + } + + .tell-info-button-group { + display: flex; + flex-direction: row; + box-sizing: border-box; + padding-left: 8px; + + .tell-info-add-row { + display: flex; + justify-content: center; + align-items: center; + } + + .tell-info-copy-row { + span { + font-size: 12px; + margin-left: 19px; + color: var(--el-text-color-regular); + } + } + + .tell-info-delete-row { + span { + font-size: 12px; + margin-left: 17px; + color: var(--el-text-color-regular); + } + } + + .tell-info-operation { + display: flex; + justify-content: center; + align-items: center; + margin-left: 16px; + } + + .tell-info-query { + display: flex; + justify-content: center; + align-items: center; + margin-left: 16px; + } + } + + .tell-info-table { + margin-top: 13px; + position: relative; + + .tooltips-position { + position: absolute; + top: 0; + z-index: -1; + } + } + } +} + +::v-deep(.el-input__inner) { + overflow: hidden !important; + white-space: nowrap !important; + text-overflow: ellipsis !important; +} + +el-input { + overflow: hidden !important; + white-space: nowrap !important; + text-overflow: ellipsis !important; +} + +el-select { + overflow: hidden !important; + white-space: nowrap !important; + text-overflow: ellipsis !important; +} + +::v-deep(.el-form-item__content){ + display: flex; + justify-content: center; + align-items: center; +} \ No newline at end of file diff --git a/src/assets/style/saleOrder/stepByStepCom.scss b/src/assets/style/saleOrder/stepByStepCom.scss new file mode 100644 index 0000000..7f2d3dc --- /dev/null +++ b/src/assets/style/saleOrder/stepByStepCom.scss @@ -0,0 +1,60 @@ +// 分步式调出单 +.f-c { + color: var(--el-disabled-color-base) !important; +} + +::v-deep(.is-checkbox .cell .el-checkbox .el-checkbox__input .el-checkbox__inner) { + background-color: var(--el-checkbox-disabled-input-fill) !important; + border-color: var(--el-checkbox-disabled-border-color) !important; + cursor: not-allowed; +} + +:v-deep(.el-form-item__label) { + width: 90px !important; +} + +.order-com-rr { + ::v-deep(.el-form-item__content .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; + } +} +::v-deep(.div-col .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; + width: 165px !important; +} +::v-deep(.div-col .el-textarea__inner) { + padding: 0 8px !important ; +} +::v-deep(.div-col .icon-sty .el-input__suffix) { + margin: 0 20px 0 0 !important ; +} +::v-deep(.icon-x .el-input__suffix-inner) { + position: absolute; + left: -45px; + top: -5px; +} + +// 分步式调入单 +.f-c { + color: var(--el-disabled-color-base) !important; +} +::v-deep(.is-checkbox .cell .el-checkbox .el-checkbox__input .el-checkbox__inner) { + background-color: var(--el-checkbox-disabled-input-fill) !important; + border-color: var(--el-checkbox-disabled-border-color) !important; + cursor: not-allowed; +} +:v-deep(.el-form-item__label) { + width: 90px !important; +} + +.order-com-rr { + ::v-deep(.el-form-item__content .el-input .el-input__inner) { + padding: 0 16px 0 8px !important; + } +} +::v-deep(.input-width .el-input__inner) { + width: 165px !important ; +} +::v-deep(.div-col .icon-sty .el-input__suffix) { + margin: 0 20px 0 0 !important ; +} \ No newline at end of file diff --git a/src/assets/up@3x.png b/src/assets/up@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..d3dcdf0b957df79ab7233e8542a37a2276682876 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#Vf@BSrze}jt~E;uyH?7{d95a`*&>e4-NyRS28#qia8L)q?DjJv0vDm zX?c@Geb$64pYCiZJm$=p@56eJyK-)`&g;*6xl6rQeC`pL@JZ~JDx>%h;eF9eS^=E* zRT+gdc-BvA;Ltd{TICF@)nRk*E1zcEZ4Icc5UK{6pz+}BC#Le%$5zz8e45_CbT8z( z!)4wJ6Q8CpP?>N+QDn&FVdQ&MBb@ E0M6-nBLDyZ literal 0 HcmV?d00001 diff --git a/src/assets/vue.svg b/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/wrong@3x.png b/src/assets/wrong@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae3c13b35f391fd62b9512b186580701234bcbe GIT binary patch literal 408 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8jKx9jP7LeL$-D$|Sc;uILpXq- zh9ji|DCgwq;uw+z|VN+*UsxEpepH_|mC{6~RZ)S@k36*s;|IoW-d zwwNQxA}!q_;KZQ_BrFPF|9&l!{CukY(HnPv{mYst>cw2wUBaN)@;OuD*rhY+%OrMB zxuj!V7pM1p(jKLU={MaMEc{}BbEeYEoQL6?`U99>nr||`c}ad}s}sll_jTTyqJNi% zr--lL>vmCj@4_4Jtlv)j`TWlv;dCADs?$x41~)|3DssCW3JBXVO-F*uIqu`EO$j)2%tL9xq&Z{_rv}hFMXMGP4BFZ=R7}_ASP0>6fR091l!* z9@~Vy-}_DKR@Tka7tJpFSX?Sw2@Qje@H>nwH@hl@PTj5mhAxArtDnm{r-UW|{noB? literal 0 HcmV?d00001 diff --git a/src/assets/wuliao.png b/src/assets/wuliao.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3ac820efa5e533470155b748d82eb969a99007 GIT binary patch literal 478 zcmV<40U`d0P)Px#1am@3R0s$N2z&@+hyVZqh)G02R7i=nmODWDqkn64TjK&a$O|AwUzPJ=Q(k{{ursihK&PPa0tP4J zK)P|8#vA^fo&HxGK%nE_*=fQyXPL;87_`QLTzxrkYyMn@c!VnTVN+fez-?%$gdvvz z;*R2D+MvdIF|o&w3@6a=+&NEWYaNa^zT4Mt^LNsgVO`!h=?Y=7Yq&Q^UDk7q5iy3<^DOTK9Q}=_8e!I4O0+FbR U?#6l=A^-pY07*qoM6N<$f-cw5D*ylh literal 0 HcmV?d00001 diff --git a/src/components/Btns/index.vue b/src/components/Btns/index.vue new file mode 100644 index 0000000..e68e904 --- /dev/null +++ b/src/components/Btns/index.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue new file mode 100644 index 0000000..91f9bfc --- /dev/null +++ b/src/components/HelloWorld.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/components/examineTop/index.scss b/src/components/examineTop/index.scss new file mode 100644 index 0000000..2d286ba --- /dev/null +++ b/src/components/examineTop/index.scss @@ -0,0 +1,106 @@ +.examineTop_box { + margin-left: 16px; + margin-right: 16px; + .btns_box { + display: flex; + margin: 16px 0; + .btns_item { + cursor: pointer; + width: 76px; + height: 30px; + border-radius: 4px; + display: flex; + justify-content: center; + align-items: center; + background: rgba(65, 120, 213, 1); + color: #fff; + font-size: 12px; + :hover { + opacity: 0.5; + } + span { + margin-left: 5px; + } + } + .btns_item1 { + cursor: pointer; + width: 76px; + height: 30px; + border-radius: 4px; + display: flex; + background: #fff; + justify-content: center; + align-items: center; + color: #000; + font-size: 12px; + margin-left: 8px; + :hover { + opacity: 0.5; + } + span { + margin-left: 5px; + } + } + } + .examine_box { + width: 100%; + height: 139px; + border-radius: 4px; + background: #fff; + // margin-left: 16px; + // margin-right: 16px; + } + .detailed_box { + display: flex; + padding-left: 24px; + padding-top: 14px; + + align-items: center; + .detailed_line { + width: 4px; + height: 14px; + background: rgba(65, 120, 213, 1); + margin-right: 8px; + } + .detailed_title { + font-size: 14px; + font-weight: 700; + } + } + .look { + display: flex; + justify-content: center; + align-items: center; + margin-left: 18px; + cursor: pointer; + .look-text { + color: rgba(31, 31, 31, 1); + margin-left: 5px; + font-size: 12px; + } + } + .input-style { + width: 400px; + height: 36px; + margin-left: 40px; + } + ::v-deep(.el-radio__input.is-checked + .el-radio__labell) { + color: #333 !important; + } + ::v-deep(.el-input__inner) { + height: 36px !important; + } + + ::v-deep(.el-radio__input.is-checked .el-radio__inner) { + border-color: rgb(65, 120, 213); + background: rgb(65, 120, 213); + } + ::v-deep(.el-radio__input.is-checked + .el-radio__label) { + color: #333; + font-size: 12px; + } + + ::v-deep(.el-radio__label) { + font-size: 12px; + } +} diff --git a/src/components/examineTop/index.vue b/src/components/examineTop/index.vue new file mode 100644 index 0000000..d1f6236 --- /dev/null +++ b/src/components/examineTop/index.vue @@ -0,0 +1,177 @@ + + + + + + diff --git a/src/components/index.js b/src/components/index.js new file mode 100644 index 0000000..9b5b47d --- /dev/null +++ b/src/components/index.js @@ -0,0 +1,20 @@ +import Layout from './layout/index' +import toolBtn from './public/toolBtn/toolBtn.vue' +import InputMini from './public/InputMini.vue' +import operaRecorde from './public/operaRecorde.vue' +import DetailsOperation from './public/DetailsOperation.vue' +import CustomCondition from './public/CustomCondition.vue' +import DownPdf from './public/DownPdf.vue' +import PrintModel from './public/PrintModel.vue' +import prtMoled from './public/printviews/prtMoled.vue' +export { + toolBtn, + Layout, + InputMini, + operaRecorde, + DetailsOperation, + CustomCondition, + DownPdf, + PrintModel, + prtMoled +} \ No newline at end of file diff --git a/src/components/layout/index.vue b/src/components/layout/index.vue new file mode 100644 index 0000000..ed512e9 --- /dev/null +++ b/src/components/layout/index.vue @@ -0,0 +1,133 @@ + + + diff --git a/src/components/layout/libs/index.js b/src/components/layout/libs/index.js new file mode 100644 index 0000000..1456af7 --- /dev/null +++ b/src/components/layout/libs/index.js @@ -0,0 +1,5 @@ +import LayoutAside from './layout-aside/index.vue'; +import LayoutHeader from './layout-header/index.vue'; +import LayoutFooter from './layout-footer/index.vue'; + +export { LayoutAside, LayoutHeader, LayoutFooter }; diff --git a/src/components/layout/libs/layout-aside/index.vue b/src/components/layout/libs/layout-aside/index.vue new file mode 100644 index 0000000..2ab7a89 --- /dev/null +++ b/src/components/layout/libs/layout-aside/index.vue @@ -0,0 +1,75 @@ + + + + diff --git a/src/components/layout/libs/layout-aside/menu.vue b/src/components/layout/libs/layout-aside/menu.vue new file mode 100644 index 0000000..6df022b --- /dev/null +++ b/src/components/layout/libs/layout-aside/menu.vue @@ -0,0 +1,75 @@ + + + diff --git a/src/components/layout/libs/layout-aside/submenu.vue b/src/components/layout/libs/layout-aside/submenu.vue new file mode 100644 index 0000000..dfce039 --- /dev/null +++ b/src/components/layout/libs/layout-aside/submenu.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/components/layout/libs/layout-footer/index.vue b/src/components/layout/libs/layout-footer/index.vue new file mode 100644 index 0000000..4ba268c --- /dev/null +++ b/src/components/layout/libs/layout-footer/index.vue @@ -0,0 +1,6 @@ + + diff --git a/src/components/layout/libs/layout-header/index.vue b/src/components/layout/libs/layout-header/index.vue new file mode 100644 index 0000000..1eb630e --- /dev/null +++ b/src/components/layout/libs/layout-header/index.vue @@ -0,0 +1,284 @@ + + + diff --git a/src/components/layout/libs/layout-header/labels.vue b/src/components/layout/libs/layout-header/labels.vue new file mode 100644 index 0000000..146ce8f --- /dev/null +++ b/src/components/layout/libs/layout-header/labels.vue @@ -0,0 +1,398 @@ + + + diff --git a/src/components/public/CustomCondition.vue b/src/components/public/CustomCondition.vue new file mode 100644 index 0000000..1fb46cb --- /dev/null +++ b/src/components/public/CustomCondition.vue @@ -0,0 +1,330 @@ + + + \ No newline at end of file diff --git a/src/components/public/DetailsOperation.vue b/src/components/public/DetailsOperation.vue new file mode 100644 index 0000000..4502c86 --- /dev/null +++ b/src/components/public/DetailsOperation.vue @@ -0,0 +1,166 @@ + + + + \ No newline at end of file diff --git a/src/components/public/DownPdf.vue b/src/components/public/DownPdf.vue new file mode 100644 index 0000000..8596d17 --- /dev/null +++ b/src/components/public/DownPdf.vue @@ -0,0 +1,239 @@ + + + + + diff --git a/src/components/public/InputMini.vue b/src/components/public/InputMini.vue new file mode 100644 index 0000000..5e55c1d --- /dev/null +++ b/src/components/public/InputMini.vue @@ -0,0 +1,68 @@ + + + + + + + diff --git a/src/components/public/PrintModel.vue b/src/components/public/PrintModel.vue new file mode 100644 index 0000000..b9c2570 --- /dev/null +++ b/src/components/public/PrintModel.vue @@ -0,0 +1,485 @@ + + + diff --git a/src/components/public/operaRecorde.vue b/src/components/public/operaRecorde.vue new file mode 100644 index 0000000..06a3963 --- /dev/null +++ b/src/components/public/operaRecorde.vue @@ -0,0 +1,111 @@ + + + + \ No newline at end of file diff --git a/src/components/public/printviews/prtMoled.vue b/src/components/public/printviews/prtMoled.vue new file mode 100644 index 0000000..b39e467 --- /dev/null +++ b/src/components/public/printviews/prtMoled.vue @@ -0,0 +1,2768 @@ + + + diff --git a/src/components/public/printviews/prtMoledop.vue b/src/components/public/printviews/prtMoledop.vue new file mode 100644 index 0000000..f1d716d --- /dev/null +++ b/src/components/public/printviews/prtMoledop.vue @@ -0,0 +1,849 @@ + + + diff --git a/src/components/public/toolBtn/toolBtn.scss b/src/components/public/toolBtn/toolBtn.scss new file mode 100644 index 0000000..1e90257 --- /dev/null +++ b/src/components/public/toolBtn/toolBtn.scss @@ -0,0 +1,356 @@ +.page-top { + padding: 0 24px; + border-bottom: 1px solid #EAEEF1; + + .s-p-t-g1::after { + content: ""; + height: 16px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 4px; + right: 0%; + transform: translateY(50%); + } + + .btn-flex { + display: flex; + height: 40px; + + } + + .s-p-t-g1 { + padding-right: 24px; + position: relative; + + .el-button:first-child { + color: #606266; + margin-right: 8px; + padding-left: 0; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 40px; + line-height: 40px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + + .iconfont-mg { + margin-right: 4px; + } + } + + .el-button:hover { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g2::after { + content: ""; + height: 16px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 4px; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g2 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 40px; + line-height: 40px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + } + + .el-button:hover { + color: #4178D5; + background-color: #fff; + } + + } + + .s-p-t-g3::after { + content: ""; + height: 16px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 4px; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g3 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 40px; + line-height: 40px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + } + + .el-button:hover { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g4::after { + content: ""; + height: 16px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 4px; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g4 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 40px; + line-height: 40px; + padding: 7px 8px; + border: none; + color: #606266; + margin-right: 8px; + font-size: 12px; + } + + .el-button:hover { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g5 { + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 40px; + line-height: 40px; + padding: 7px 0 7px 24px; + border: none; + color: #606266; + margin-right: 24px; + font-size: 12px; + + .iconfont-mg { + margin-right: 4px; + } + } + + .el-button:hover { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g7::after { + content: ""; + height: 16px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 4px; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g7 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 40px; + line-height: 40px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + } + + .el-button:hover { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g8::after, + .s-p-t-g12::after { + content: ""; + height: 16px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 4px; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g8, + .s-p-t-g12 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 40px; + line-height: 40px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + } + + .el-button:hover { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g9::after, + .s-p-t-g6::after { + content: ""; + height: 16px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 4px; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g9, + .s-p-t-g6 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 40px; + line-height: 40px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + } + + .el-button:hover { + color: #4178D5; + background-color: #fff; + } + } + + .s-p-t-g11, + .s-p-t-g10::after { + content: ""; + height: 16px; + width: 1px; + background: #CBCFD3; + position: absolute; + top: 4px; + right: 0%; + transform: translateY(50%); + } + + .s-p-t-g11, + .s-p-t-g10 { + padding: 0 24px; + position: relative; + + .el-button:first-child { + margin-right: 8px; + } + + .el-button { + display: flex; + justify-content: center; + align-items: center; + height: 40px; + line-height: 40px; + padding: 7px 8px; + border: none; + color: #606266; + font-size: 12px; + } + + .el-button:hover { + color: #4178D5; + background-color: #fff; + } + } +} + +::v-deep(.el-button:visited) { + background-color: #fff; +} + +::v-deep(.el-button:focus) { + background-color: #fff; +} + +::v-deep(.el-button:hover) { + background-color: #fff; +} \ No newline at end of file diff --git a/src/components/public/toolBtn/toolBtn.vue b/src/components/public/toolBtn/toolBtn.vue new file mode 100644 index 0000000..ccc41dd --- /dev/null +++ b/src/components/public/toolBtn/toolBtn.vue @@ -0,0 +1,574 @@ + + + + + diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..a544d90 --- /dev/null +++ b/src/main.js @@ -0,0 +1,95 @@ +import { createApp } from 'vue'; +import App from './App.vue'; +import router from './router'; +import store from './store'; +import Request from '@/utils/request'; +import '@/router/permission.js'; +import '@/assets/font/iconfont.css'; +import { ElMessage } from 'element-plus'; +import { defineRule, configure } from 'vee-validate'; +import all from '@vee-validate/rules'; +import allValid from '@/utils/validate'; +import 'element-plus/dist/index.css'; +import '@/assets/style/global.scss'; +import ElementPlus from 'element-plus'; +import htmlToPdf from '@/utils/htmlToPdf'; +import zhCn from 'element-plus/es/locale/lang/zh-cn'; +import { + toolBtn, + InputMini, + operaRecorde, + DetailsOperation, + PrintModel, + prtMoled, +} from '@/components/index'; +import 'xe-utils'; +import VXETable from 'vxe-table'; +import 'vxe-table/lib/style.css'; +import 'font-awesome/css/font-awesome.css'; + +// import +import Clipboard from 'clipboard'; +configure({ + validateOnBlur: true, // controls if `blur` events should trigger validation with `handleChange` handler + validateOnChange: true, // controls if `change` events should trigger validation with `handleChange` handler + validateOnInput: false, // controls if `input` events should trigger validation with `handleChange` handler + validateOnModelUpdate: true, // controls if `update:modelValue` events should trigger validation with `handleChange` handler +}); +Object.keys(all).forEach((rule) => { + defineRule(rule, all[rule]); +}); +Object.keys(allValid).forEach((rule) => { + defineRule(rule, allValid[rule]); +}); + +const app = createApp(App); +// 全局注册组件 +app.component('toolBtn', toolBtn); +app.component('InputMini', InputMini); +app.component('operaRecorde', operaRecorde); +app.component('DetailsOperation', DetailsOperation); +app.component('PrintModel', PrintModel); +app.component('prtMoled', prtMoled); + +app.use(store); +app.use(router); +app.use(htmlToPdf); +app.use(VXETable); +// 化汉 +app.use(ElementPlus, { + locale: zhCn, +}); + +app.config.globalProperties.$clipboard = Clipboard; +app.config.globalProperties.$http = new Request(); +app.config.globalProperties.$message = ElMessage; +app.config.globalProperties.$close = function () { + store.dispatch('topNavTag/close'); +}; +app.mount('#app'); + +// app.on('ready',function() { +// mainwindow = new BrowserWindow({ +// width: 400, +// height: 300, +// webPreferences: { +// nodeIntegration : true, +// contextIsolation: false +// } +// }) + +app.config.globalProperties.$topNavTagRename = function (title) { + store.dispatch('topNavTag/rename', title); +}; + +app.config.globalProperties.$commonData = {}; + +// 注册一个全局自定义指令 `v-allow` 配合路由meta.permission信息控制节点显示权限 +app.directive('allow', { + mounted(el, binding) { + const permission = binding.instance.$route.meta.permission; + if (!permission.includes(binding.value)) { + el.parentNode.removeChild(el); + } + }, +}); diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..0791e2e --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,54 @@ +import { createRouter, createWebHistory } from 'vue-router'; +import Layout from '@/components/layout/index.vue'; + +export const staticRoutes = []; + +const systemRoutes = [ + { + path: '/', + name: 'Main', + component: Layout, + meta: { + title: '首页', + icon: 'icon-cangku', + }, + hidden: true, + redirect: '/index', + children: [ + { + path: '/index', + name: 'Index', + meta: { + title: '首页', + icon: 'el-icon-s-home', + }, + component: () => import('../views/index/index.vue'), + }, + ], + }, + { + path: '/login', + name: 'Login', + hidden: true, + component: () => import('../views/login/index.vue'), + meta: { + title: '登录页', + }, + }, + { + path: '/404', + name: '404', + hidden: true, + component: () => import('../views/public/404.vue'), + meta: { + title: '页面未找到', + }, + }, +]; + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: systemRoutes, +}); + +export default router; diff --git a/src/router/permission.js b/src/router/permission.js new file mode 100644 index 0000000..011559e --- /dev/null +++ b/src/router/permission.js @@ -0,0 +1,102 @@ +import router from '@/router'; +import store from '@/store'; +// import { title as settingsTitle } from '@/settings' +import { checkSignedInStatus, setNotLoggedIn } from '@/utils/auth'; + +let loadedDynamicRoutes = false; // 是否已加载动态路由 +const whiteList = ['/login']; +router.beforeEach(async (to, from, next) => { + // 网页title跟随路由title + document.title = 'OPS' + '-' + to.meta.title; + if (checkSignedInStatus()) { + // 身份验证通过 + if (to.path !== '/login') { + // 不在登录页面,正常进入相应页面 + if (loadedDynamicRoutes) { + store.dispatch('topNavTag/addNavTag', to); // 顶部页面标签处理 + console.log( + to.path, + '==================to,path================' + ); + + next(); + } else { + try { + // 获取用户信息 + await store.dispatch('user/getUserInfo'); + + // 获取用户权限列表 + const authList = store.getters['user/getUserAuthList']; + + // 获取用户有权限操作权限的路由 + const accessRoutes = await store.dispatch( + 'routes/generateRoutes', + authList + ); + + // 动态添加路由 + handleDynamicRoutes(accessRoutes).forEach((route) => { + router.addRoute(route); + }); + //404最后添加,不然会导致路由混乱 + router.addRoute({ + path: '/:pathMatch(.*)*', + redirect: '/404', + }); + // 设为已加载动态路由 + loadedDynamicRoutes = true; + + // 确保动态添加的路由已经被完全加载上去并替换浏览器路由使浏览器没有浏览历史可回退 + next({ + ...to, + replace: true, + }); + } catch (error) { + // 设为非登录状态 + setNotLoggedIn(); + next('/login'); + } + } + } else { + // 在登录页面 + next({ + path: '/', + }); + } + } else { + // 身份验证不过 + // 设为非登录状态 + setNotLoggedIn(); + if (whiteList.indexOf(to.path) !== -1) { + // 处于不用登录页面 + next(); + } else { + next('/login'); + } + } +}); + +// 处理动态路由 +function handleDynamicRoutes(routes) { + const result = []; + routes.forEach((route) => { + if (route.children) { + route.children = recursionReduce(route.children); + } + result.push(route); + }); + return result; +} + +// 递归还原 +function recursionReduce(data) { + let result = []; + data.forEach((it) => { + if (it.children) { + result = result.concat(recursionReduce(it.children)); + delete it.children; + } + result.push(it); + }); + return result; +} diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 0000000..c1dc951 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,120 @@ +module.exports = { + "workbench.colorTheme": "One Monokai", + "editor.fontSize": 14, + "workbench.editor.enablePreview": true, //预览模式关闭 + "editor.formatOnSave": true, // #每次保存的时候自动格式化 + // 自动修复 + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true, + }, + "eslint.enable": true, //是否开启vscode的eslint + // 配置 ESLint 检查的文件类型 + "eslint.validate": [ + "javascript", + "vue", + "html" + ], + "eslint.options": { //指定vscode的eslint所处理的文件的后缀 + "extensions": [ + ".js", + ".vue", + ".ts", + ".tsx" + ] + }, + "files.associations": { + "*.wpy": "vue", + "*.wxml": "wxml", + "*.cjson": "jsonc", + "*.wxss": "css", + "*.wxs": "javascript", + "*.html": "html" + }, + "emmet.includeLanguages": { + "wxml": "html" + }, + "minapp-vscode.disableAutoConfig": true, + // vscode默认启用了根据文件类型自动设置tabsize的选项 + "editor.detectIndentation": false, + // 重新设定tabsize + "editor.tabSize": 2, + // #去掉代码结尾的分号 + "prettier.semi": false, + // #使用单引号替代双引号 + "prettier.singleQuote": true, + // #让函数(名)和后面的括号之间加个空格 + "javascript.format.insertSpaceBeforeFunctionParenthesis": true, + // #让vue中的js按编辑器自带的ts格式进行格式化 + "vetur.format.defaultFormatter.js": "vscode-typescript", + "git.enableSmartCommit": true, + "editor.quickSuggestions": { + "strings": true + }, + //一定要在vutur.defaultFormatterOptions参数中设置,单独修改prettier扩展的设置是无法解决这个问题的,因为perttier默认忽略了vue文件(事实上从忽略列表移除vue也不能解决这个问题) + "vetur.format.defaultFormatterOptions": { + + "prettier": { + "semi": false, // 格式化不加分号 + "singleQuote": true, // 格式化以单引号为主 + }, + "js-beautify-html": { + // force-aligned | force-expand-multiline + "wrap_attributes": "force-aligned" + }, + "prettyhtml": { + "printWidth": 100, + "singleQuote": false, + "wrapAttributes": false, + "sortAttributes": true + }, + }, + // 插件KoroFileHeader + // 文件头部注释-快捷键crtl+alt+i(window),ctrl+cmd+t (mac) + "fileheader.customMade": { + "Descripttion": "", + //"version": "", + "Author": "voanit", + "Date": "Do not edit", + "LastEditors": "voanit", + "LastEditTime": "Do not Edit" + }, + //函数注释-快捷键ctrl+alt+t (window), ctrl+alt+t(mac) + "fileheader.cursorMode": { + "name": "", + // "test": "test font", + // "msg": "", + "param": "", + "return": "" + }, + //安装live Server插件 + "liveServer.settings.donotVerifyTags": true, + "liveServer.settings.donotShowInfoMsg": true, + "liveServer.settings.NoBrowser": true, + "liveServer.settings.CustomBrowser": "chrome", //设置默认打开的浏览器 + "liveServer.settings.host": "127.0.0.1", + "liveServer.settings.port": 5000, //设置本地服务的端口号 + "liveServer.settings.root": "/distserver", + "[vue]": { + "editor.defaultFormatter": "octref.vetur" + }, + "javascript.updateImportsOnFileMove.enabled": "never", + "javascript.implicitProjectConfig.experimentalDecorators": true, + "workbench.editor.showTabs": true, + "terminal.integrated.rendererType": "dom", + "sync.gist": "396472a5bb443e3680d5a0e2ffccefe8", + "window.zoomLevel": 0, + "diffEditor.ignoreTrimWhitespace": false, + "launch": {}, + "[jsonc]": { + "editor.defaultFormatter": "remimarsal.prettier-now" + }, + "[typescript]": { + "editor.defaultFormatter": "remimarsal.prettier-now" + }, + "json.schemas": [{ + "fileMatch": [ + "/myfile" + ], + "url": "schemaURL" + }] +} \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..30985e9 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,22 @@ +import { createStore } from 'vuex'; +import leftAside from './modules/leftAside'; +import topNavTag from './modules/topNavTag'; +import routes from './modules/routes'; +import user from './modules/user'; +import org from './modules/org'; +import storeData from './modules/storeData'; +import examine from './modules/examine'; +export default createStore({ + state: {}, + mutations: {}, + actions: {}, + modules: { + leftAside, + topNavTag, + routes, + user, + org, + storeData, + examine, + }, +}); diff --git a/src/store/modules/examine.js b/src/store/modules/examine.js new file mode 100644 index 0000000..ee141de --- /dev/null +++ b/src/store/modules/examine.js @@ -0,0 +1,66 @@ +const state = { + examineStatus: {}, //审批状态 + deptAll: [], + staffAllList: [], +}; +const mutations = { + //审批状态 + SET_EXAMINE: (state, data) => { + state.examineStatus = data || {}; + localStorage.setItem('examineStatus', JSON.stringify(data)); + }, + DELETE_SET_EXAMINE: (state) => { + state.examineStatus = {}; + localStorage.removeItem('examineStatus'); + }, + //所有部门 + SET_DEPTALL: (state, detpAllData) => { + state.deptAll = detpAllData || []; + localStorage.setItem('deptAll', JSON.stringify(detpAllData)); + }, + DELETE_SET_DEPTALL: (state) => { + state.deptAll = []; + localStorage.removeItem('deptAll'); + }, + //审批流人员 staffAllList + SET_STAFFALLLIST: (state, data) => { + state.staffAllList = data || []; + localStorage.setItem('staffAllList', JSON.stringify(data)); + }, + DELETE_SET_STAFFALLLIST: (state) => { + state.staffAllList = []; + localStorage.removeItem('staffAllList'); + }, +}; +const actions = { + //所有部门 + //所有部门 + setDeptAll(context, detpAllData) { + context.commit('SET_DEPTALL', detpAllData); + }, + deleteAll(context) { + context.commit('DELETE_SET_DEPTALL'); + }, + + //审批流人员 + setStaffAllList(context, data) { + context.commit('SET_STAFFALLLIST', data); + }, + deleteStaffAllList(context) { + context.commit('DELETE_SET_STAFFALLLIST'); + }, + + //审批状态 + setExamine(context, data) { + context.commit('SET_EXAMINE', data); + }, + deleteExamine(context) { + context.commit('DELETE_SET_EXAMINE'); + }, +}; +export default { + namespaced: true, + state, + mutations, + actions, +}; diff --git a/src/store/modules/leftAside.js b/src/store/modules/leftAside.js new file mode 100644 index 0000000..e008e78 --- /dev/null +++ b/src/store/modules/leftAside.js @@ -0,0 +1,28 @@ +const state = { + leftMenuWidth: '200px', + isCollapse: false +} + +const mutations = { + CHANGE_COLLAPSE: (state) => { + state.isCollapse = !state.isCollapse + if (state.isCollapse) { + state.leftMenuWidth = 'auto' + } else { + state.leftMenuWidth = '200px' + } + } +} + +const actions = { + changeCollapse (context) { + context.commit('CHANGE_COLLAPSE') + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/src/store/modules/org.js b/src/store/modules/org.js new file mode 100644 index 0000000..f08c37a --- /dev/null +++ b/src/store/modules/org.js @@ -0,0 +1,107 @@ +import { toRaw } from 'vue' + +const state = { + orgIdArr:[], + orgId:'', + orgName:'', + orgCode:'', + salePubInfo:{}, + purPubInfo:{}, +} + +const getters = {} + +const mutations = { + SET_ORGID: (state, orgId) => { + state.orgId = orgId + }, + SET_ORGID_ARR: (state, orgIdArr) =>{ + state.orgIdArr = orgIdArr + }, + SET_ORG_NAME: (state, orgName) => { + state.orgName = orgName + }, + SET_ORG_CODE: (state, orgCode) => { + state.orgCode = orgCode + }, + SET_SALE_INFO: (state,salePubInfo) =>{ + state.salePubInfo = salePubInfo + }, + SET_PURCHASE_INFO: (state,purPubInfo) =>{ + state.purPubInfo = purPubInfo + }, +} + +const actions = { + // 设置销售订单信息 + setSalInfo(context, name){ + context.commit('SET_SALE_INFO', name) + }, + // 设置采购订单信息 + setPurInfo(context, name){ + context.commit('SET_PURCHASE_INFO', name) + }, + // 设置组织名称 + setorgName (context, name) { + context.commit('SET_ORG_NAME', name) + }, + // 设置组织id + setorgId (context, orgId) { + context.commit('SET_ORGID', orgId) + }, + + // 设置组织List + setorgIdArr (context, orgIdArr){ + context.commit('SET_ORGID_ARR', orgIdArr) + }, + + // 设置组织code + setproductDeptList (context, productDeptList){ + context.commit('SET_ORG_PRODUCTDEPTLIST',productDeptList) + }, + + // 获取组织信息 + getOrdInfo (context) { + return new Promise((resolve, reject) => { + resolve(toRaw(context.state.orgIdArr)) + }) + }, + // 获取组织id + getOrdId (context) { + return new Promise((resolve, reject) => { + resolve(toRaw(context.state.orgId)) + }) + }, + // 获取组织名称 + getOrdName (context) { + return new Promise((resolve, reject) => { + resolve(toRaw(context.state.orgName)) + }) + }, + // 获取组织Code + getOrgCode (context){ + return new Promise((resolve, reject) => { + resolve(toRaw(context.state.orgCode)) + }) + }, + // 获取销售公共信息 + getSalInfo(context){ + return new Promise((resolve, reject) => { + resolve(toRaw(context.state.salePubInfo)) + }) + }, + // 获取采购公共信息 + getPurInfo(context){ + return new Promise((resolve, reject) => { + resolve(toRaw(context.state.purPubInfo)) + }) + } +} + +export default { + namespaced: true, + state, + getters, + mutations, + actions +} diff --git a/src/store/modules/routes.js b/src/store/modules/routes.js new file mode 100644 index 0000000..b699e8a --- /dev/null +++ b/src/store/modules/routes.js @@ -0,0 +1,120 @@ +import { staticRoutes } from '@/router'; +import Request from '@/utils/request'; +import Layout from '@/components/layout/index'; +import { defineAsyncComponent } from 'vue'; + +const modules = import.meta.glob('/src/views/**/*.vue'); + +// 从服务器获取菜单 +async function fetchAsyncRoutes4Server() { + return new Request().post('Home/GetMenuList').then((r) => { + if (r.status === 200) { + return r.data; + } else { + return []; + } + }); +} + +// 菜单路由 +function menuBuildTreeAsyncRoutes(routes) { + const menus = []; + routes.forEach((item) => { + const it = { + id: item.id, + path: item.path, + name: item.name, + meta: item.meta, + alwaysShow: item.alwaysShow, + hidden: item.hidden, + }; + if (item.children && item.children.length) { + it.children = menuBuildTreeAsyncRoutes(item.children); + } + menus.push(it); + }); + return menus; +} + +// 组装路由结构 +function buildTreeAsyncRoutes(routes) { + const menus = []; + routes.forEach((item) => { + const it = { + id: item.id, + path: item.path, + name: item.name, + meta: item.meta, + alwaysShow: item.alwaysShow, + hidden: item.hidden, + }; + if (item.redirect != null) { + it.redirect = item.redirect; + } + if (item.component) { + if (item.component === '/layout') { + it.component = Layout; + } else { + if ( + modules[`/src/views${item.component}.vue`] && + modules[`/src/views${item.component}.vue`] != + '() => import("/src/views/index.vue")' + ) { + it.component = modules[`/src/views${item.component}.vue`]; + } + // it.component = modules[`/src/views${item.component}.vue`] + // console.log(modules[`/src/views${item.component}.vue`]) + } + if (item.children && item.children.length) { + item.children.forEach((v) => { + if (!it.meta.permission) { + it.meta.permission = []; + } + if (item.path.startsWith('/')) { + item.path = item.path.substring(1); + } + it.meta.permission.push(item.name + '.' + v.name); + }); + it.children = buildTreeAsyncRoutes(item.children); + } + menus.push(it); + } + }); + return menus; +} + +const state = { + routes: [], +}; + +const mutations = { + SET_ROUTES: (state, routes) => { + state.routes = routes; + }, +}; + +const actions = { + async generateRoutes(context) { + // 服务器获取菜单 + const routes = await fetchAsyncRoutes4Server(); + // 权限过滤 + // const accessRoutes = routes.filter(v => authList.indexOf(v.id) >= 0) + // console.log('权限过滤',accessRoutes) + // 组装路由 + const treeRoutes = buildTreeAsyncRoutes(routes); + const menuRoutes = menuBuildTreeAsyncRoutes(routes); + // 不合规路由 + const mergeTreeRoutes = staticRoutes + .filter((it) => it.name != undefined) + .concat(treeRoutes); + context.commit('SET_ROUTES', menuRoutes); + return mergeTreeRoutes; + }, +}; + +export default { + namespaced: true, + state, + mutations, + actions, +}; diff --git a/src/store/modules/storeData.js b/src/store/modules/storeData.js new file mode 100644 index 0000000..e800b11 --- /dev/null +++ b/src/store/modules/storeData.js @@ -0,0 +1,544 @@ +const state = { + // 公共 + allUnit: [], // 单位 - reqesut url - SysConfig/GetUnitAllProperty + recondtion: [], // 收款条件 - request url - SysConfig/GetReccondition + settletype: [], // 结算方式 - request url - SysConfig/GetSettletype + dcurrency: [], // 本位币 - request url - SysConfig/GetDcurrency + rateType: [], // 固定汇率 - request url - SysConfig/GetRateType + taxRate: [], // 税率 - request url - SysConfig/GetTaxRate + customer: [], // 客户 - request url - SysConfig/GetCustomer + paymentTerm: [], // 付款条件 - request url - SysConfig/GetPaymentTerm + supplierSelect: [], // 供应商 - request url - SysConfig/supplier/select + warehouseAll: [], // 仓库 - request url - SysConfig/GetWarehouse + deptAll: [], //所有部门 + examineStatus: {}, //审批状态 + staffAllList: [], //审批流人员接口 + // 销售订单 + enumType: {}, // 枚举 单据类型、状态 - request url - SalOrder/GetEnum + dicSale: [], // 销售 自定义条件 - request url - Dictionary/sale + // 销售退货 + statusType: {}, // 枚举 订单状态、退货类型 - request url - ReturnStockOrder/GetStatus + dicRetrunOrder: [], // 销售退货 自定义条件 request url - Dictionary/RetrunOrder + // 采购订单 + statusGetType: {}, // 枚举 订单状态、类型、关闭状态、是否211、是否赠品、供应链、数据来源 - request url - Purchase/status/get + purOrderStatus: {}, // 私有 - request url - Purchase/status/get + dicPurOrder: [], // 采购 自定义 - request url - Dictionary/purchase + // 组织间 + dicOrgani: [], // 组织间 自定义 - request url - Dictionary/organization + // 采购入库单 + inStockType: {}, // 枚举 单据类型、单据状态 - request url - PurchaseInstock/status/get + dicPurInstock: [], // 采购入库 自定义 - request url - Dictionary/purchaseinstock + // 采购退料单 + returnMatType: {}, // 枚举 单据类型、单据状态、退料方式、补料方式 - request url - PurchaseReturnMaterial/status/get + dicPurReturn: [], // 退料 自定义 - request url - Dictionary/purchaserm + // 生产委外 + infoStatus: {}, //生产基础信息数据 + infoStatusww: {}, // 委外基础信息数据 + infoStatusck: {}, // 销售出库基础信息数据 + infoNoticeStatus: {}, // 通知基础信息数据 + infockStatus: {}, // 出库基础信息数据 + customerlist: [], // 客户数据 + // 分步式调出单 + stktranStatus: {}, // 枚举 单据状态、调拨类型、订单类型 request url - StktransferOut/GetStatus + dicStktrOut: [], // 调出 自定义 - request url - Dictionary/stktransferout + // 分步式调入单 + stktransInst: {}, // 枚举 单据状态、调拨类型、订单类型 request url - StktransferInst/GetStatus + dicStktrInst: [], // 调入 自定义 - request url - Dictionary/stktransferinst + // 直接调拨单 + stkdirecttrStatus: {}, // 枚举 单据状态、调拨类型、订单类型 request url - Stkdirecttransfers/GetStatus + dicStkdirFers: [], // 直接调拨 自定义 request url -Dictionary/stkdirecttransfers + // BOM - 物料清单 + bomMaterilasObj: {}, // 枚举 数据状态、发料方式、物料承担方 request url - Materials/GetStatus + // 列表 - 公共状态 + listGetStatus: {}, // 列表 公共状态 request url - SysConfig/GetStatus + userlistall: [], // 获取用户表集合,有用到,领料人,跟单员,销售员,仓管员的 + getAllUserList: [], // 公共人员接口 request url - SysConfig/GetUserList + lock: true, +}; + +const getters = {}; + +const mutations = { + // lock + SET_LOCK: (state, lock) => { + state.lock = lock; + }, + // 单位 + SET_ALL_UNIT: (state, allUnit) => { + state.allUnit = allUnit; + }, + DELETE_UNIT: (state) => { + state.allUnit = []; + }, + // 收款条件 + SET_RECONDTION: (state, recondtion) => { + state.recondtion = recondtion; + }, + DELETE_RECONDTION: (state) => { + state.recondtion = []; + }, + // 结算方式 + SET_SETTLETYPE: (state, settletype) => { + state.settletype = settletype; + }, + DELETE_SETTLETYPE: (state) => { + state.settletype = []; + }, + + // 本位币 + SET_DCURRENCY: (state, dcurrency) => { + state.dcurrency = dcurrency; + }, + DELETE_DCURRENCY: (state) => { + state.dcurrency = []; + }, + // 固定汇率 + SET_RATETYPE: (state, rateType) => { + state.rateType = rateType; + }, + DELETE_RATETYPE: (state) => { + state.rateType = []; + }, + // 税率 + SET_TAXRATE: (state, taxRate) => { + state.taxRate = taxRate; + }, + DELETE_TAXRATE: (state) => { + state.taxRate = []; + }, + // 客户 + SET_CUSTOMER: (state, customer) => { + state.customer = customer; + }, + DELETE_CUSTOMER: (state) => { + state.customer = []; + }, + // 付款条件 + SET_PAYMENTTERM: (state, paymentTerm) => { + state.paymentTerm = paymentTerm; + }, + DELETE_PAYMENTTERM: (state) => { + state.paymentTerm = []; + }, + // //审批流人员 staffAllList + // SET_STAFFALLLIST: (state, data) => { + // state.staffAllList = data || []; + // }, + // DELETE_SET_STAFFALLLIST: (state) => { + // state.staffAllList = []; + // }, + //所有部门 + // SET_DEPTALL: (state, detpAllData) => { + // state.deptAll = detpAllData || []; + // }, + // DELETE_SET_DEPTALL: (state) => { + // state.deptAll = []; + // }, + // //审批状态 + // SET_EXAMINE: (state, data) => { + // state.examineStatus = data || {}; + // }, + // DELETE_SET_EXAMINE: (state) => { + // state.examineStatus = {}; + // }, + // 供应商 + SET_SUPPLIERSELECT: (state, supplierSelect) => { + state.supplierSelect = supplierSelect; + }, + DELETE_SUPPLIERSELECT: (state) => { + state.supplierSelect = []; + }, + // 销售订单 + SET_ENUMTYPE: (state, enumType) => { + state.enumType = enumType; + }, + DELETE_ENUMTYPE: (state) => { + state.enumType = {}; + }, + SET_DICSALE: (state, dicSale) => { + state.dicSale = dicSale; + }, + DELETE_DICSALE: (state) => { + state.dicSale = []; + }, + // 销售退货 + SET_STATUSTYPE: (state, statusType) => { + state.statusType = statusType; + }, + DELETE_STATUSTYPE: (state) => { + state.statusType = {}; + }, + SET_DICRETRUNORDER: (state, dicRetrunOrder) => { + state.dicRetrunOrder = dicRetrunOrder; + }, + DELETE_DICRETRUNORDER: (state) => { + state.dicRetrunOrder = []; + }, + // 采购订单 + SET_STATUSGETTYPE: (state, statusGetType) => { + state.statusGetType = statusGetType; + }, + DELETE_STATUSGETTYPE: (state) => { + state.statusGetType = {}; + }, + SET_PURORDERSTATUS: (state, purOrderStatus) => { + state.purOrderStatus = purOrderStatus; + }, + DELETE_PURORDERSTATUS: (state) => { + state.purOrderStatus = {}; + }, + SET_DICPURORDER: (state, dicPurOrder) => { + state.dicPurOrder = dicPurOrder; + }, + DELETE_DICPURORDER: (state) => { + state.dicPurOrder = []; + }, + // 组织间 - 自定义 + SET_DICORGANI: (state, dicOrgani) => { + state.dicOrgani = dicOrgani; + }, + DELETE_DICORGANI: (state) => { + state.dicOrgani = []; + }, + // 采购入库 + SET_INSTOCKTYPE: (state, inStockType) => { + state.inStockType = inStockType; + }, + DELETE_INSTOCKTYPE: (state) => { + state.inStockType = {}; + }, + SET_DICPURINSTOCK: (state, dicPurInstock) => { + state.dicPurInstock = dicPurInstock; + }, + DELETE_DICPURINSTOCK: (state) => { + state.dicPurInstock = []; + }, + // 采购退料 + SET_RETURNMATTYPE: (state, returnMatType) => { + state.returnMatType = returnMatType; + }, + DELETE_RETURNMATTYPE: (state) => { + state.returnMatType = {}; + }, + SET_DICPURRETURN: (state, dicPurReturn) => { + state.dicPurReturn = dicPurReturn; + }, + DELETE_DICPURRETURN: (state) => { + state.dicPurReturn = []; + }, + // 分步式调出 + SET_STKTRANSTATUS: (state, stktranStatus) => { + state.stktranStatus = stktranStatus; + }, + DELETE_STKTRANSTATUS: (state) => { + state.stktranStatus = {}; + }, + SET_DICSTKTROUT: (state, dicStktrOut) => { + state.dicStktrOut = dicStktrOut; + }, + DELETE_DICSTKTROUT: (state) => { + state.dicStktrOut = []; + }, + // 分步式调入 + SET_STKTRANSINST: (state, stktransInst) => { + state.stktransInst = stktransInst; + }, + DELETE_STKTRANSINST: (state) => { + state.stktransInst = {}; + }, + SET_DICSTKTRINST: (state, dicStktrInst) => { + state.dicStktrInst = dicStktrInst; + }, + DELETE_DICSTKTRINST: (state) => { + state.dicStktrInst = []; + }, + // 直接调拨单 + SET_STKDIRECTTRSTATUS: (state, stkdirecttrStatus) => { + state.stkdirecttrStatus = stkdirecttrStatus; + }, + DELETE_STKDIRECTTRSTATUS: (state) => { + state.stkdirecttrStatus = {}; + }, + SET_DICSTKDIRFERS: (state, dicStkdirFers) => { + state.dicStkdirFers = dicStkdirFers; + }, + DELETE_DICSTKDIRFERS: (state) => { + state.dicStkdirFers = []; + }, + // 仓库 + SET_WAREHOUSEALL: (state, warehouseAll) => { + state.warehouseAll = warehouseAll; + }, + DELETE_WAREHOUSEALL: (state) => { + state.warehouseAll = []; + }, + // BOM清单 + SET_BOMMATERILASOBJ: (state, bomMaterilasObj) => { + state.bomMaterilasObj = bomMaterilasObj; + }, + DELETE_BOMMATERILASOBJ: (state) => { + state.bomMaterilasObj = {}; + }, + // 列表 公共状态 + SET_LISTGETSTATUS: (state, listGetStatus) => { + state.listGetStatus = listGetStatus; + }, + DELETE_LISTGETSTATUS: (state) => { + state.listGetStatus = {}; + }, + // 公共人员 + SET_GETALLUSERLIST: (state, getAllUserList) => { + state.getAllUserList = getAllUserList; + }, + DELETE_GETALLUSERLIST: (state) => { + state.getAllUserList = []; + }, +}; + +const actions = { + // //所有部门 + // setDeptAll(context, detpAllData) { + // context.commit('SET_DEPTALL', detpAllData); + // }, + // deleteAll(context) { + // context.commit('DELETE_SET_DEPTALL'); + // }, + + // //审批流人员 + // setStaffAllList(context, data) { + // context.commit('SET_STAFFALLLIST', data); + // }, + // deleteStaffAllList(context) { + // context.commit('DELETE_SET_STAFFALLLIST'); + // }, + + // //审批状态 + // setExamine(context, data) { + // console.log('调用了吗?'); + // context.commit('SET_EXAMINE', data); + // }, + // deleteExamine(context) { + // context.commit('DELETE_SET_EXAMINE'); + // }, + // 单位 + setAllUnit(context, allUnit) { + context.commit('SET_ALL_UNIT', allUnit); + }, + deleteUnit(context) { + context.commit('DELETE_UNIT'); + }, + + // 收款条件 + setRecondtion(context, recondtion) { + context.commit('SET_RECONDTION', recondtion); + }, + deleteRecondtion(context) { + context.commit('DELETE_RECONDTION'); + }, + // 结算方式 + setSettletype(context, settletype) { + context.commit('SET_SETTLETYPE', settletype); + }, + deleteSettletype(context) { + context.commit('DELETE_SETTLETYPE'); + }, + // 本位币 + setDcurrency(context, dcurrency) { + context.commit('SET_DCURRENCY', dcurrency); + }, + deleteDcurrency(context) { + context.commit('DELETE_DCURRENCY'); + }, + // 固定汇率 + setRateType(context, rateType) { + context.commit('SET_RATETYPE', rateType); + }, + deleteRateType(context) { + context.commit('DELETE_RATETYPE'); + }, + // 税率 + setTaxRate(context, taxRate) { + context.commit('SET_TAXRATE', taxRate); + }, + deleteTaxRate(context) { + context.commit('DELETE_TAXRATE'); + }, + // 客户 + setCustomer(context, customer) { + context.commit('SET_CUSTOMER', customer); + }, + deleteCustomer(context) { + context.commit('DELETE_CUSTOMER'); + }, + // 付款条件 + setPaymentTerm(context, paymentTerm) { + context.commit('SET_PAYMENTTERM', paymentTerm); + }, + deletePaymentTerm(context) { + context.commit('DELETE_PAYMENTTERM'); + }, + // 供应商 + setSupplierSelect(context, supplierSelect) { + context.commit('SET_SUPPLIERSELECT', supplierSelect); + }, + deleteSupplierSelect(context) { + context.commit('DELETE_SUPPLIERSELECT'); + }, + // 销售订单 - 订单状态、类型 + setEnumType(context, enumType) { + context.commit('SET_ENUMTYPE', enumType); + }, + deleteEnumType(context) { + context.commit('DELETE_ENUMTYPE'); + }, + setDicSale(context, dicSale) { + context.commit('SET_DICSALE', dicSale); + }, + deleteDicSale(context) { + context.commit('DELETE_DICSALE'); + }, + // 销售退货 - 订单状态、退货类型 + setStatusType(context, statusType) { + context.commit('SET_STATUSTYPE', statusType); + }, + deleteStatusType(context) { + context.commit('DELETE_STATUSTYPE'); + }, + setDicRetrunOrder(context, dicRetrunOrder) { + context.commit('SET_DICRETRUNORDER', dicRetrunOrder); + }, + deleteDicRetrunOrder(context) { + context.commit('DELETE_DICRETRUNORDER'); + }, + // 采购订单 - 订单状态、退货类型 + setStatusGetType(context, statusGetType) { + context.commit('SET_STATUSGETTYPE', statusGetType); + }, + deleteStatusGetType(context) { + context.commit('DELETE_STATUSGETTYPE'); + }, + setPurOrderStatus(context, purOrderStatus) { + context.commit('SET_PURORDERSTATUS', purOrderStatus); + }, + deletePurOrderStatus(context) { + context.commit('DELETE_PURORDERSTATUS'); + }, + setDicPurOrder(context, dicPurOrder) { + context.commit('SET_DICPURORDER', dicPurOrder); + }, + deleteDicPurOrder(context) { + context.commit('DELETE_DICPURORDER'); + }, + // 组织间 - 自定义 + setDicOrgani(context, dicOrgani) { + context.commit('SET_DICORGANI', dicOrgani); + }, + deleteDicOrgani(context) { + context.commit('DELETE_DICORGANI'); + }, + // 采购入库单 - 单据类型、单据状态 + setInStockType(context, inStockType) { + context.commit('SET_INSTOCKTYPE', inStockType); + }, + deleteInStockType(context) { + context.commit('DELETE_INSTOCKTYPE'); + }, + setDicPurInstock(context, dicPurInstock) { + context.commit('SET_DICPURINSTOCK', dicPurInstock); + }, + deleteDicPurInstock(context) { + context.commit('DELETE_DICPURINSTOCK'); + }, + // 采购退料单 - 单据类型、单据状态、退料方式、补料方式 + setReturnMatType(context, returnMatType) { + context.commit('SET_RETURNMATTYPE', returnMatType); + }, + deleteReturnMatType(context) { + context.commit('DELETE_RETURNMATTYPE'); + }, + setDicPurReturn(context, dicPurReturn) { + context.commit('SET_DICPURRETURN', dicPurReturn); + }, + deleteDicPurReturn(context) { + context.commit('DELETE_DICPURRETURN'); + }, + // 分步式调出单 - 单据类型、单据状态、调拨类型 + setStktranStatus(context, stktranStatus) { + context.commit('SET_STKTRANSTATUS', stktranStatus); + }, + deleteStktranStatus(context) { + context.commit('DELETE_STKTRANSTATUS'); + }, + setDicStktrOut(context, dicStktrOut) { + context.commit('SET_DICSTKTROUT', dicStktrOut); + }, + deleteDicStktrOut(context) { + context.commit('DELETE_DICSTKTROUT'); + }, + // 分步式调入单 - 单据类型、状态、调拨类型 + setStktransInst(context, stktransInst) { + context.commit('SET_STKTRANSINST', stktransInst); + }, + deleteStktransInst(context) { + context.commit('DELETE_STKTRANSINST'); + }, + setDicStktrInst(context, dicStktrInst) { + context.commit('SET_DICSTKTRINST', dicStktrInst); + }, + deleteDicStktrInst(context) { + context.commit('DELETE_DICSTKTRINST'); + }, + // 直接调拨单 - 单据类型、状态、调拨类型 + setStkdirecttrStatus(context, stkdirecttrStatus) { + context.commit('SET_STKDIRECTTRSTATUS', stkdirecttrStatus); + }, + deleteStkdirecttrStatus(context) { + context.commit('DELETE_STKDIRECTTRSTATUS'); + }, + setDicStkdirFers(context, dicStkdirFers) { + context.commit('SET_DICSTKDIRFERS', dicStkdirFers); + }, + deleteDicStkdirFers(context) { + context.commit('DELETE_DICSTKDIRFERS'); + }, + // 仓库 + setWarehouseAll(context, warehouseAll) { + context.commit('SET_WAREHOUSEALL', warehouseAll); + }, + deleteWarehouseAll(context) { + context.commit('DELETE_WAREHOUSEALL'); + }, + // BOM 物料清单 + setBomMaterilasObj(context, bomMaterilasObj) { + context.commit('SET_BOMMATERILASOBJ', bomMaterilasObj); + }, + deleteBomMaterilasObj(context) { + context.commit('DELETE_BOMMATERILASOBJ'); + }, + // 列表 公共状态 + setListGetStatus(context, listGetStatus) { + context.commit('SET_LISTGETSTATUS', listGetStatus); + }, + deleteListGetStatus(context) { + context.commit('DELETE_LISTGETSTATUS'); + }, + // 公共人员 + setGetAllUserList(context, getAllUserList) { + context.commit('SET_GETALLUSERLIST', getAllUserList); + }, + deleteGetAllUserList(context) { + context.commit('DELETE_GETALLUSERLIST'); + }, + //lock + setGetlock(context, lock) { + context.commit('SET_LOCK', lock); + }, +}; + +export default { + namespaced: true, + state, + getters, + mutations, + actions, +}; diff --git a/src/store/modules/topNavTag.js b/src/store/modules/topNavTag.js new file mode 100644 index 0000000..a922ec2 --- /dev/null +++ b/src/store/modules/topNavTag.js @@ -0,0 +1,184 @@ +import router from '@/router'; +const state = { + tags: [ + // 默认打开路由标签 + { + path: '/index', + fullPath: '/index', + name: 'Index', + meta: { title: '首页' }, + query: {}, + }, + ], // 标签 + keepAliveIncludes: ['Index'], +}; + +const mutations = { + // 新增标签 + ADD_NAV_TAG: (state, route) => { + state.tags.push(route); + if (state.keepAliveIncludes) { + if (!state.keepAliveIncludes.some((it) => it == route.name)) { + state.keepAliveIncludes.push(route.name); + } + } + }, + + // 修改标签名 + EDIT_META_TITLE: (state, obj) => { + state.tags[obj.ind] = obj.cont; + }, + + // 替换标签 + REPLACE_NAV_TAG: (state, route) => { + const index = state.tags.findIndex( + (it) => it.fullPath === route.fullPath + ); + // 标签应用修改后的 + route.meta.title = state.tags[index].meta.title; + state.tags.splice(index, 1, route); + }, + + // 删除标签 + RM_NAV_TAG: (state, index) => { + const route = state.tags[index]; + if ( + route && + state.tags.filter((it) => it.name == route.name).length <= 1 + ) { + state.keepAliveIncludes = state.keepAliveIncludes.filter( + (it, i) => { + return it != route.name; + } + ); + } + state.tags = state.tags.filter((it, i) => { + return i !== index || it.name === 'Index'; + }); + }, + + // 删除所有标签 + RM_NAV_ALLTAG: (state, index) => { + state.tags = [ + { + path: '/index', + fullPath: '/index', + name: 'Index', + meta: { title: '首页' }, + query: {}, + }, + ]; + state.keepAliveIncludes = ['Index']; + }, + + // 重命名标签名称 + RENAME_NAV_TAG: (state, [index, title]) => { + state.tags[index].meta.title = title; + }, +}; + +// 不需要加载数据的路由 +let unneedLoadDataRoutes = []; + +const actions = { + // 新增标签 + addNavTag: (context, route) => { + // 跳转至新打开页面 + if (route.name == '404') { + return false; + } + const tag = { + path: route.path, + fullPath: route.fullPath, + name: route.name, + meta: route.meta, + query: route.query, + }; + if (!context.state.tags.some((it) => it.fullPath === route.fullPath)) { + // 标签栏没有,新增页面标签 + context.commit('ADD_NAV_TAG', tag); + } else { + // 标签栏有,替换标签 + context.commit('REPLACE_NAV_TAG', tag); + } + // console.log(route.matched, '====route.matched==='); + // 为组件增加执行钩子,所有数据请求在该钩子函数下调用 (推荐方案) + // 解决keepalive多页签情况下,同组件不同参数中数据请求回调 + Object.defineProperty( + route.matched[route.matched.length - 1].instances, + 'default', + { + configurable: true, + set(target) { + if (target) { + if ( + !unneedLoadDataRoutes.some( + (it) => it == route.fullPath + ) + ) { + typeof target.$options.routeMounted == 'function' && + target.$options.routeMounted.call( + target, + route + ); + unneedLoadDataRoutes.push(route.fullPath); + } + } + }, + } + ); + }, + + // 修改标签 + editMetaTitle(context, obj) { + context.commit('EDIT_META_TITLE', obj); + }, + + // 删除标签 + removeNavTag: (context, index) => { + let nextIndex = index - 1; + if (context.state.tags.length - 1 > index) { + nextIndex = index + 1; + } + // 最后一个页面标签不允许删除 + if (nextIndex === -1) return false; + unneedLoadDataRoutes = unneedLoadDataRoutes.filter( + (it) => it != context.state.tags[index].fullPath + ); + router.push(context.state.tags[nextIndex]); + context.commit('RM_NAV_TAG', index); + }, + + // 删除所有标签 + removeAllNavTag: (context, index) => { + router.push(context.state.tags[0]); + context.commit('RM_NAV_ALLTAG'); + }, + + // 重名称标签 + rename: (context, title) => { + let _idx = context.state.tags.findIndex( + (it) => it.fullPath == router.currentRoute._value.fullPath + ); + if (_idx >= 0) { + context.commit('RENAME_NAV_TAG', [_idx, title]); + } + }, + + // 关闭标签页 + close: (context) => { + let _idx = context.state.tags.findIndex( + (it) => it.fullPath == router.currentRoute._value.fullPath + ); + if (_idx >= 0) { + context.dispatch('removeNavTag', _idx); + } + }, +}; + +export default { + namespaced: true, + state, + mutations, + actions, +}; diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 0000000..c1adbff --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,85 @@ +import { toRaw } from 'vue' +import Request from '@/utils/request' + +const state = { + userInfo: {}, + orgIdArr:[], + orgId:'', +} + +const getters = { + // 获取用户菜单权限 + getUserAuthList: state => { + if (state.userInfo.length <= 0) { + return [] + } + if (typeof state.userInfo.auth_list === undefined) { + return [] + } + return toRaw(state.userInfo.auth_list) + } +} + +const mutations = { + SET_USER_INFO: (state, user) => { + state.userInfo = user + }, + SET_ORGID: (state, orgId) => { + state.orgId = orgId + }, + SET_ORGID_ARR: (state, orgIdArr) =>{ + state.orgIdArr = orgIdArr + } +} + +const actions = { + // 设置用户信息 + setUserInfo (context, user) { + context.commit('SET_USER_INFO', user) + }, + + // 设置用户信息 + setorgId (context, orgId) { + context.commit('SET_ORGID', orgId) + }, + + // 设置组织 + setorgIdArr (context, orgIdArr){ + context.commit('SET_ORGID_ARR', orgIdArr) + }, + + // 获取用户信息 + getUserInfo (context) { + return new Promise((resolve, reject) => { + if (context.state.userInfo.length <= 0 || typeof context.state.userInfo.auth_list === undefined) { + // 服务器获取用户信息 + // return (new Request()).get('user/info') + // .then(r => { + // const { errno, data, errmsg } = r + // if (errno !== 0) { + // reject(errmsg) + // } + // context.commit('SET_USER_INFO', data) + // resolve(data) + // }) + // .catch(e => { + // reject(e) + // }) + } + resolve(toRaw(context.state.userInfo)) + }) + }, + getOrdInfo (context) { + return new Promise((resolve, reject) => { + resolve(toRaw(context.state.orgIdArr)) + }) + } +} + +export default { + namespaced: true, + state, + getters, + mutations, + actions +} diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..a566a34 --- /dev/null +++ b/src/style.css @@ -0,0 +1,90 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/src/utils/LodopFuncs.js b/src/utils/LodopFuncs.js new file mode 100644 index 0000000..db71958 --- /dev/null +++ b/src/utils/LodopFuncs.js @@ -0,0 +1,177 @@ +//==本JS是加载Lodop插件及CLodop服务的综合示例,可直接使用,建议看懂后融进自己页面程序== + +var CreatedOKLodopObject, CLodopIsLocal, CLodopJsState; + +//==判断是否需要CLodop(那些不支持插件的浏览器):== +function needCLodop() { + try { + var ua = navigator.userAgent; + if (ua.match(/Windows\sPhone/i)) + return true; + if (ua.match(/iPhone|iPod|iPad/i)) + return true; + if (ua.match(/Android/i)) + return true; + if (ua.match(/Edge\D?\d+/i)) + return true; + + var verTrident = ua.match(/Trident\D?\d+/i); + var verIE = ua.match(/MSIE\D?\d+/i); + var verOPR = ua.match(/OPR\D?\d+/i); + var verFF = ua.match(/Firefox\D?\d+/i); + var x64 = ua.match(/x64/i); + if ((!verTrident) && (!verIE) && (x64)) + return true; + else if (verFF) { + verFF = verFF[0].match(/\d+/); + if ((verFF[0] >= 41) || (x64)) + return true; + } else if (verOPR) { + verOPR = verOPR[0].match(/\d+/); + if (verOPR[0] >= 32) + return true; + } else if ((!verTrident) && (!verIE)) { + var verChrome = ua.match(/Chrome\D?\d+/i); + if (verChrome) { + verChrome = verChrome[0].match(/\d+/); + if (verChrome[0] >= 41) + return true; + } + } + return false; + } catch (err) { + return true; + } +} + +//==加载引用CLodop的主JS,用双端口8000和18000(以防其中一个被占):== +function loadCLodop() { + if (CLodopJsState == "loading" || CLodopJsState == "complete") return; + CLodopJsState = "loading"; + var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement; + var JS1 = document.createElement("script"); + var JS2 = document.createElement("script"); + JS1.src = "http://localhost:8000/CLodopfuncs.js?priority=1"; + JS2.src = "http://localhost:18000/CLodopfuncs.js"; + JS1.onload = JS2.onload = function () { CLodopJsState = "complete"; } + JS1.onerror = JS2.onerror = function (evt) { CLodopJsState = "complete"; } + head.insertBefore(JS1, head.firstChild); + head.insertBefore(JS2, head.firstChild); + CLodopIsLocal = !!((JS1.src + JS2.src).match(/\/\/localho|\/\/127.0.0./i)); +} + +if (needCLodop()) { loadCLodop(); }//加载 + +//==获取LODOP对象主过程,判断是否安装、需否升级:== +function getLodop(oOBJECT, oEMBED) { + var strHtmInstall = "
打印控件未安装!点击这里
执行安装,安装后请刷新页面或重新进入。"; + var strHtmUpdate = "
打印控件需要升级!点击这里执行升级,升级后请重新进入。"; + var strHtm64_Install = "
打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入。"; + var strHtm64_Update = "
打印控件需要升级!点击这里执行升级,升级后请重新进入。"; + var strHtmFireFox = "

(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)"; + var strHtmChrome = "

(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)"; + var strCLodopInstall_1 = "
Web打印服务CLodop未安装启动,点击这里下载执行安装"; + var strCLodopInstall_2 = "";// "
(若此前已安装过,可点这里直接再次启动)"; + var strCLodopInstall_3 = ",成功后请刷新本页面。
"; + var strCLodopUpdate = "
Web打印服务CLodop需升级!点击这里执行升级,升级后请刷新页面"; + var LODOP; + try { + var ua = navigator.userAgent; + var isIE = !!(ua.match(/MSIE/i)) || !!(ua.match(/Trident/i)); + if (needCLodop()) { + try { + LODOP = getCLodop(); + } catch (err) { console.log(err)} + if (!LODOP && CLodopJsState !== "complete") { + if (CLodopJsState == "loading") layer.msg("网页还没下载完毕,请稍等一下再操作."); else layer.msg("没有加载CLodop的主js,请先调用loadCLodop过程."); + return; + } + if (!LODOP) { + layer.open({ + type: 2, + title: "", + skin: 'layui-layer-rim', //加上边框 + area: ['420px', '240px'], //宽高 + content:"../Download.html" + // content: strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3 + }); + //document.body.innerHTML = strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3 + document.body.innerHTML; + return; + } else { + if (CLODOP.CVERSION < "3.0.2.5") { + //layer.open({ + // type: 1, + // title: "提示", + // skin: 'layui-layer-rim', //加上边框 + // area: ['420px', '240px'], //宽高 + // content: strCLodopUpdate + //}); + //document.body.innerHTML = strCLodopUpdate + document.body.innerHTML; + } + if (oEMBED && oEMBED.parentNode) + oEMBED.parentNode.removeChild(oEMBED); + if (oOBJECT && oOBJECT.parentNode) + oOBJECT.parentNode.removeChild(oOBJECT); + } + } else { + var is64IE = isIE && !!(ua.match(/x64/i)); + //==如果页面有Lodop就直接使用,否则新建:== + if (oOBJECT || oEMBED) { + if (isIE) + LODOP = oOBJECT; + else + LODOP = oEMBED; + } else if (!CreatedOKLodopObject) { + LODOP = document.createElement("object"); + LODOP.setAttribute("width", 0); + LODOP.setAttribute("height", 0); + LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;"); + if (isIE) + LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA"); + else + LODOP.setAttribute("type", "application/x-print-lodop"); + + document.documentElement.appendChild(LODOP); + CreatedOKLodopObject = LODOP; + } else + LODOP = CreatedOKLodopObject; + //==Lodop插件未安装时提示下载地址:== + if ((!LODOP) || (!LODOP.VERSION)) { + if (ua.indexOf('Chrome') >= 0) { + //layer.open({ + // type: 1, + // title: "提示", + // skin: 'layui-layer-rim', //加上边框 + // area: ['420px', '240px'], //宽高 + // content: strHtmChrome + //}); + //document.body.innerHTML = strHtmChrome + document.body.innerHTML; + } + + if (ua.indexOf('Firefox') >= 0) { + //layer.open({ + // type: 1, + // title: "提示", + // skin: 'layui-layer-rim', //加上边框 + // area: ['420px', '240px'], //宽高 + // content: strHtmFireFox + //}); + // document.body.innerHTML = strHtmFireFox + document.body.innerHTML; + } + + // document.body.innerHTML = (is64IE ? strHtm64_Install : strHtmInstall) + document.body.innerHTML; + return LODOP; + } + } + if (LODOP.VERSION < "6.2.2.0") { + //if (!needCLodop()) + // document.body.innerHTML = (is64IE ? strHtm64_Update : strHtmUpdate) + document.body.innerHTML; + } + //===如下空白位置适合调用统一功能(如注册语句、语言选择等):== + LODOP.SET_LICENSES("", "13528A153BAEE3A0254B9507DCDE2839", "EDE92F75B6A3D917F65910", "D60BC84D7CF2DE18156A6F88987304CB6D8"); + //=======================================================.com//.com台级//.net + return LODOP; + } catch (err) { + alert("getLodop出错:" + err); + } +} \ No newline at end of file diff --git a/src/utils/api.js b/src/utils/api.js new file mode 100644 index 0000000..101e6cd --- /dev/null +++ b/src/utils/api.js @@ -0,0 +1,30 @@ +import Request from '@/utils/request'; +let http = new Request(); + +// 获取人员 +export const getStaffListApi = (id) => { + return http.get('SysConfig/GetStaffList/' + id); +}; + +// 共公人员 接口 - 销售员、采购员、跟单员、仓管员 +export const getStaffListApiUser = () => { + return http.get('SysConfig/GetUserList'); +}; +//审批流 +export const approvalFlowList = 'ApprovalFlow/list'; //列表 +export const approvalFlowSave = 'ApprovalFlow/save'; //保存 +export const approvalFlowSubmit = 'ApprovalFlow/Submit'; //提交 +export const approvalFlowSubmitStatus = 'ApprovalFlow/Submit/status'; //列表提交 +export const approvalFlowCheck = 'ApprovalFlow/check'; //审核 +export const approvalFlowRecheck = 'ApprovalFlow/recheck'; //反审 +export const approvalFlowget = 'ApprovalFlow/get/'; //详情 +//审批流追踪-创建 +export const approvalFlowTrackingCreate = 'ApprovalFlowTracking/create'; +//更新 +export const approvalFlowTrackingUpdate = 'ApprovalFlowTracking/update'; +//详情:根据ID +export const approvalFlowTrackingGet = 'ApprovalFlowTracking/get/'; +//详情:根据订单和订单类型 +export const approvalFlowTrackingGetby = 'ApprovalFlowTracking/getby'; +//approvalFlowCheck +//approvalFlowRecheck diff --git a/src/utils/auth.js b/src/utils/auth.js new file mode 100644 index 0000000..aa189ae --- /dev/null +++ b/src/utils/auth.js @@ -0,0 +1,17 @@ +import Cookies from 'js-cookie'; + +const signedInKey = 's_pass'; +// 设置已登录状态cookie +export function setSignedIn() { + return Cookies.set(signedInKey, 1); +} +// 判断是否已登录 +export function checkSignedInStatus() { + return Cookies.get(signedInKey) * 1 === 1; +} +// 删除登录状态cookie +export function setNotLoggedIn() { + localStorage.clear(); + sessionStorage.clear(); + return Cookies.remove(signedInKey); +} diff --git a/src/utils/commonData.js b/src/utils/commonData.js new file mode 100644 index 0000000..2a933a3 --- /dev/null +++ b/src/utils/commonData.js @@ -0,0 +1,8 @@ +import Request from '@/utils/request' +let http = new Request() +export default class commonDataClass { + // 获取所有单位及单位属性 + getAllUnit(){ + return http.get('SysConfig/GetUnitAllProperty') + } +} \ No newline at end of file diff --git a/src/utils/count.js b/src/utils/count.js new file mode 100644 index 0000000..e64627e --- /dev/null +++ b/src/utils/count.js @@ -0,0 +1,1336 @@ +import { Decimal } from 'decimal.js'; + +export const countMethods = ( + arr, + index, + key, + exchangeRate, + unitpriceAccuracy, + amountAccuracy +) => { + // 销售订单计算 + if ( + unitpriceAccuracy === '' || + unitpriceAccuracy === undefined || + unitpriceAccuracy === null + ) { + unitpriceAccuracy = 6; + } + if ( + amountAccuracy === '' || + amountAccuracy === undefined || + amountAccuracy === null + ) { + amountAccuracy = 2; + } + if ( + exchangeRate === '' || + exchangeRate === undefined || + exchangeRate === null || + exchangeRate === '0' || + exchangeRate === 0 + ) { + exchangeRate = '1'; + } + if ( + arr[index].price === '' || + arr[index].price === undefined || + arr[index].price === null + ) { + arr[index].price = '0'; + } + if ( + arr[index].taxRate === '' || + arr[index].taxRate === undefined || + arr[index].taxRate === null + ) { + arr[index].taxRate = '0'; + } + if ( + arr[index].salesNumber === '' || + arr[index].salesNumber === undefined || + arr[index].salesNumber === null + ) { + arr[index].salesNumber = '0'; + } + if ( + arr[index].disCount === '' || + arr[index].disCount === undefined || + arr[index].disCount === null + ) { + arr[index].disCount = '0'; + } + if ( + arr[index].taxPrice === '' || + arr[index].taxPrice === undefined || + arr[index].taxPrice === null + ) { + arr[index].taxPrice = '0'; + } + if ( + arr[index].discountRate === '' || + arr[index].discountRate === undefined || + arr[index].discountRate === null + ) { + arr[index].discountRate = '0'; + } + if ( + arr[index].taxaMount === '' || + arr[index].taxaMount === undefined || + arr[index].taxaMount === null + ) { + arr[index].taxaMount = '0'; + } + if ( + arr[index].amount === '' || + arr[index].amount === undefined || + arr[index].amount === null + ) { + arr[index].amount = '0'; + } + if ( + arr[index].allAmountLc === '' || + arr[index].allAmountLc === undefined || + arr[index].allAmountLc === null + ) { + arr[index].allAmountLc = '0'; + } + if ( + arr[index].allAmount === '' || + arr[index].allAmount === undefined || + arr[index].allAmount === null + ) { + arr[index].allAmount = '0'; + } + if (arr[index].discountRate > 100) { + arr[index].discountRate = 100; + } + let templateObject = { + details: [], + }; + if (index != undefined || index != '' || index != null) { + if ( + key == 'taxRate' || + key == 'salesNumber' || + key == 'disCount' || + key === 'taxPrice' || + key === 'discountRate' + ) { + // 定义税率 value + if (arr[index].taxPrice == 0 || arr[index].taxPrice) { + // 计算单价 税额 判断 含税单价 是否为空 + if (!isNaN(parseFloat(arr[index].taxPrice))) { + arr[index].price = ( + parseFloat(arr[index].taxPrice).toFixed( + unitpriceAccuracy + ) / + (1 + + parseFloat(arr[index].taxRate).toFixed( + unitpriceAccuracy + ) / + 100) + ).toFixed(unitpriceAccuracy); // 计算单价 + } + } + if ( + arr[index].taxPrice == 0 || + arr[index].discountRate == 0 || + (arr[index].taxPrice && + arr[index].salesNumber && + arr[index].discountRate) + ) { + // 判断 折扣率 含税单价 销售数量 是否为空 + if ( + !isNaN(parseFloat(arr[index].taxPrice)) && + !isNaN(parseFloat(arr[index].salesNumber)) && + !isNaN(parseFloat(arr[index].discountRate)) + ) { + arr[index].disCount = ( + (parseFloat(arr[index].discountRate) / 100) * + parseFloat(arr[index].taxPrice) * + parseFloat(arr[index].salesNumber) + ).toFixed(amountAccuracy); + } + } + if ( + arr[index].taxPrice == 0 || + arr[index].disCount == 0 || + (arr[index].taxPrice && + arr[index].salesNumber && + arr[index].disCount) + ) { + // 计算价税合计 判断 含税单价 数量 折扣额 是否为空 + if ( + !isNaN(parseFloat(arr[index].taxPrice)) && + !isNaN(parseFloat(arr[index].salesNumber)) + ) { + let nV = + parseFloat(arr[index].taxPrice) * + parseFloat(arr[index].salesNumber) - + parseFloat(arr[index].disCount); + arr[index].allAmount = nV.toFixed(amountAccuracy); + } + } + if (arr[index].allAmount && exchangeRate) { + // 计算价税合计本位币 判断 价税合计 汇率 是否为空 + arr[index].allAmountLc = ( + parseFloat(arr[index].allAmount) * exchangeRate + ).toFixed(amountAccuracy); + } + if (arr[index].allAmount) { + // 计算金额、税额 判断 价税合计 税率 是否为空 + arr[index].taxaMount = ( + (parseFloat(arr[index].allAmount) * + (arr[index].taxRate / 100)) / + (1 + arr[index].taxRate / 100) + ).toFixed(amountAccuracy); // 计算税额 + arr[index].amount = ( + parseFloat(arr[index].allAmount) - arr[index].taxaMount + ).toFixed(amountAccuracy); // 计算金额 + } + let taxAmount = 0; + let amount = 0; + let allAmount = 0; + arr.forEach((el) => { + if ( + el.taxaMount === '' || + el.taxaMount === null || + el.taxaMount === undefined + ) { + el.taxaMount = '0'; + } + taxAmount += parseFloat(el.taxaMount); + if ( + el.amount === '' || + el.amount === null || + el.amount === undefined + ) { + el.amount = '0'; + } + amount += parseFloat(el.amount); + if ( + el.allAmount === '' || + el.allAmount === null || + el.allAmount === undefined + ) { + el.allAmount = '0'; + } + allAmount += parseFloat(el.allAmount); + }); + templateObject.baseTaxaMount = taxAmount.toFixed(amountAccuracy); + templateObject.baseAmount = amount.toFixed(amountAccuracy); + templateObject.baseAllAmount = allAmount.toFixed(amountAccuracy); + templateObject.details = arr; + } + } + templateObject.baseTaxaMount = + templateObject.baseTaxaMount == '' + ? 0 + : Number(templateObject.baseTaxaMount) * 1 + ''; + templateObject.baseAmount = + templateObject.baseAmount == '' + ? 0 + : Number(templateObject.baseAmount) * 1 + ''; + templateObject.baseAllAmount = + templateObject.baseAllAmount == '' + ? 0 + : Number(templateObject.baseAllAmount) * 1 + ''; + templateObject.details.forEach((el, ind) => { + templateObject.details[ind].price = + Number(templateObject.details[ind].price) * 1 + ''; + templateObject.details[ind].allAmount = + Number(templateObject.details[ind].allAmount) * 1 + ''; + templateObject.details[ind].allAmountLc = + Number(templateObject.details[ind].allAmountLc) * 1 + ''; + templateObject.details[ind].amount = + Number(templateObject.details[ind].amount) * 1 + ''; + templateObject.details[ind].disCount = + Number(templateObject.details[ind].disCount) * 1 + ''; + templateObject.details[ind].taxaMount = + Number(templateObject.details[ind].taxaMount) * 1 + ''; + // if(el.taxPrice.toString().substring(el.taxPrice.length - 1,el.taxPrice.length) === '.'){ + // el.taxPrice = el.taxPrice.toString().substring(0,el.taxPrice.length - 1) + // } + }); + return templateObject; +}; + +export const returnCountMethods = ( + arr, + index, + key, + exchangeRate, + unitpriceAccuracy, + amountAccuracy +) => { + // 销售退货订单计算 + if ( + unitpriceAccuracy === '' || + unitpriceAccuracy === undefined || + unitpriceAccuracy === null + ) { + unitpriceAccuracy = 6; + } + if ( + amountAccuracy === '' || + amountAccuracy === undefined || + amountAccuracy === null + ) { + amountAccuracy = 2; + } + if ( + exchangeRate === '' || + exchangeRate === undefined || + exchangeRate === null || + exchangeRate === '0' || + exchangeRate === 0 + ) { + exchangeRate = '1'; + } + if ( + arr[index].taxRate === '' || + arr[index].taxRate === undefined || + arr[index].taxRate === null + ) { + arr[index].taxRate = '0'; + } + if ( + arr[index].realQty === '' || + arr[index].realQty === undefined || + arr[index].realQty === null + ) { + arr[index].realQty = '0'; + } + if ( + arr[index].disCount === '' || + arr[index].disCount === undefined || + arr[index].disCount === null + ) { + arr[index].disCount = '0'; + } + if ( + arr[index].taxPrice === '' || + arr[index].taxPrice === undefined || + arr[index].taxPrice === null + ) { + arr[index].taxPrice = '0'; + } + if ( + arr[index].discountRate === '' || + arr[index].discountRate === undefined || + arr[index].discountRate === null + ) { + arr[index].discountRate = '0'; + } + // if(arr[index].taxaMount === '' || arr[index].taxaMount === undefined || arr[index].taxaMount === null){ + // arr[index].taxaMount = '0' + // } + if ( + arr[index].amount === '' || + arr[index].amount === undefined || + arr[index].amount === null + ) { + arr[index].amount = '0'; + } + if ( + arr[index].allAmountLc === '' || + arr[index].allAmountLc === undefined || + arr[index].allAmountLc === null + ) { + arr[index].allAmountLc = '0'; + } + if ( + arr[index].allAmount === '' || + arr[index].allAmount === undefined || + arr[index].allAmount === null + ) { + arr[index].allAmount = '0'; + } + if ( + arr[index].price === '' || + arr[index].price === undefined || + arr[index].price === null + ) { + arr[index].price = '0'; + } + if ( + arr[index].taxAmount === '' || + arr[index].taxAmount === undefined || + arr[index].taxAmount === null + ) { + arr[index].taxAmount = '0'; + } + let templateObject = { + details: [], + }; + if ( + key == 'taxRate' || + key == 'realQty' || + key == 'disCount' || + key == 'discountRate' || + key === 'taxPrice' + ) { + // 定义税率 value + if (index != undefined) { + if (arr[index].taxPrice === 0 || arr[index].taxPrice) { + // 计算单价 税额 判断 含税单价 是否为空 + arr[index].price = ( + parseFloat(arr[index].taxPrice) / + (1 + parseFloat(arr[index].taxRate) / 100) + ).toFixed(unitpriceAccuracy); // 计算单价 + } + if ( + arr[index].taxPrice === 0 || + (arr[index].taxPrice && + arr[index].realQty && + arr[index].discountRate) + ) { + // 计算折扣额 判断 折扣率 含税单价 销售数量 是否为空 + arr[index].disCount = ( + (parseFloat(arr[index].discountRate) * + parseFloat(arr[index].taxPrice) * + parseFloat(arr[index].realQty)) / + 100 + ).toFixed(amountAccuracy); + } + if ( + arr[index].taxPrice === 0 || + arr[index].disCount === 0 || + (arr[index].taxPrice && + arr[index].realQty && + arr[index].disCount) + ) { + // 计算价税合计 判断 含税单价 数量 折扣额 是否为空 + let nV = + parseFloat(arr[index].taxPrice) * + parseFloat(arr[index].realQty) - + parseFloat(arr[index].disCount); + arr[index].allAmount = nV.toFixed(amountAccuracy); + } + if (arr[index].allAmount && exchangeRate) { + // 计算价税合计本位币 判断 价税合计 汇率 是否为空 + arr[index].allAmountLc = ( + parseFloat(arr[index].allAmount) * exchangeRate + ).toFixed(amountAccuracy); + } + if (arr[index].allAmount) { + // 计算金额、税额 判断 价税合计 税率 是否为空 + arr[index].taxAmount = ( + (parseFloat(arr[index].allAmount) * + (parseFloat(arr[index].taxRate) / 100)) / + (1 + parseFloat(arr[index].taxRate) / 100) + ).toFixed(amountAccuracy); // 计算税额 + arr[index].amount = ( + parseFloat(arr[index].allAmount) - + parseFloat(arr[index].taxAmount) + ).toFixed(amountAccuracy); // 计算金额 + } + } + } + templateObject.details = arr; + templateObject.details.forEach((el, ind) => { + templateObject.details[ind].price = + Number(templateObject.details[ind].price) * 1 + ''; + templateObject.details[ind].allAmount = + Number(templateObject.details[ind].allAmount) * 1 + ''; + templateObject.details[ind].allAmountLc = + Number(templateObject.details[ind].allAmountLc) * 1 + ''; + templateObject.details[ind].disCount = + Number(templateObject.details[ind].disCount) * 1 + ''; + templateObject.details[ind].taxAmount = + Number(templateObject.details[ind].taxAmount) * 1 + ''; + templateObject.details[ind].amount = + Number(templateObject.details[ind].amount) * 1 + ''; + }); + return templateObject; +}; + +export const countMethodsPur = ( + arr, + value, + index, + key, + taxRates, + exchangeRate, + unitpriceAccuracy, + amountAccuracy +) => { + // 采购订单计算 + if ( + unitpriceAccuracy === '' || + unitpriceAccuracy === undefined || + unitpriceAccuracy === null + ) { + unitpriceAccuracy = 6; + } + if ( + amountAccuracy === '' || + amountAccuracy === undefined || + amountAccuracy === null + ) { + amountAccuracy = 2; + } + if (value === '' || value === undefined || value === null) { + value = '0'; + } + if ( + exchangeRate === '' || + exchangeRate === undefined || + exchangeRate === null || + exchangeRate === '0' || + exchangeRate === 0 + ) { + exchangeRate = '1'; + } + if ( + arr[index].qty === '' || + arr[index].qty === undefined || + arr[index].qty === null + ) { + arr[index].qty = '0'; + } + if ( + arr[index].price === '' || + arr[index].price === undefined || + arr[index].price === null + ) { + arr[index].price = '0'; + } + if ( + arr[index].taxRate === '' || + arr[index].taxRate === undefined || + arr[index].taxRate === null + ) { + arr[index].taxRate = '0'; + } + if ( + arr[index].taxPrice === '' || + arr[index].taxPrice === undefined || + arr[index].taxPrice === null + ) { + arr[index].taxPrice = '0'; + } + if ( + arr[index].allAmount === '' || + arr[index].allAmount === undefined || + arr[index].allAmount === null + ) { + arr[index].allAmount = '0'; + } + if ( + arr[index].localCurrAllAmount === '' || + arr[index].localCurrAllAmount === undefined || + arr[index].localCurrAllAmount === null + ) { + arr[index].localCurrAllAmount = '0'; + } + if ( + arr[index].discountRate === '' || + arr[index].discountRate === undefined || + arr[index].discountRate === null + ) { + arr[index].discountRate = '0'; + } + if ( + arr[index].discountAmount === '' || + arr[index].discountAmount === undefined || + arr[index].discountAmount === null + ) { + arr[index].discountAmount = '0'; + } + if ( + arr[index].taxAmount === '' || + arr[index].taxAmount === undefined || + arr[index].taxAmount === null + ) { + arr[index].taxAmount = '0'; + } + if ( + arr[index].amount === '' || + arr[index].amount === undefined || + arr[index].amount === null + ) { + arr[index].amount = '0'; + } + let templateObject = { + details: [], + }; + if (index != undefined || index != '' || index != null) { + if ( + key == 'taxRate' || + key == 'qty' || + key == 'discountAmount' || + key === 'taxPrice' || + key === 'discountRate' + ) { + // 定义税率 value + if (arr[index].taxPrice === 0 || arr[index].taxPrice) { + // 计算单价 税额 判断 含税单价 是否为空 + if (!isNaN(parseFloat(arr[index].taxPrice))) { + arr[index].price = ( + parseFloat(arr[index].taxPrice) / + (1 + parseFloat(arr[index].taxRate) / 100) + ).toFixed(unitpriceAccuracy); // 计算单价 + } + } + if ( + arr[index].taxPrice === 0 || + (arr[index].taxPrice && + arr[index].qty && + arr[index].discountRate) + ) { + // 计算折扣额 判断 折扣率 含税单价 销售数量 是否为空 + if ( + !isNaN(parseFloat(arr[index].taxPrice)) && + !isNaN(parseFloat(arr[index].qty)) && + !isNaN(parseFloat(arr[index].discountRate)) + ) { + // console.log('inner') + arr[index].discountAmount = ( + (parseFloat(arr[index].discountRate) * + parseFloat(arr[index].taxPrice) * + parseFloat(arr[index].qty)) / + 100 + ).toFixed(amountAccuracy); + } + } + if ( + arr[index].taxPrice === 0 || + arr[index].discountAmount === 0 || + (arr[index].taxPrice && + arr[index].qty && + arr[index].discountAmount) + ) { + // 计算价税合计 判断 含税单价 数量 折扣额 是否为空 + if ( + !isNaN(parseFloat(arr[index].taxPrice)) && + !isNaN(parseFloat(arr[index].qty)) + ) { + let nV = + parseFloat(arr[index].taxPrice) * + parseFloat(arr[index].qty) - + parseFloat(arr[index].discountAmount); + arr[index].allAmount = nV.toFixed(amountAccuracy); + } + } + if (arr[index].allAmount && exchangeRate) { + // 计算价税合计本位币 判断 价税合计 汇率 是否为空 + arr[index].localCurrAllAmount = ( + parseFloat(arr[index].allAmount) * exchangeRate + ).toFixed(amountAccuracy); + } + if (arr[index].allAmount) { + // 计算金额、税额 判断 价税合计 税率 是否为空 + // console.log('taxAmount',parseFloat(arr[index].allAmount) * (parseFloat(arr[index].taxRate)/100) / (1 + (parseFloat(arr[index].taxRate)/100))) + // console.log('allAmount',arr[index].allAmount) + // console.log('taxAmount',arr[index].taxAmount) + // console.log('amount',parseFloat(arr[index].allAmount) - parseFloat(arr[index].taxAmount)) + arr[index].taxAmount = ( + (parseFloat(arr[index].allAmount) * + (parseFloat(arr[index].taxRate) / 100)) / + (1 + parseFloat(arr[index].taxRate) / 100) + ).toFixed(amountAccuracy); // 计算税额 + arr[index].amount = ( + parseFloat(arr[index].allAmount) - + parseFloat(arr[index].taxAmount) + ).toFixed(amountAccuracy); // 计算金额 + } + + let taxAmount = 0; + let amount = 0; + let allAmount = 0; + // arr.forEach(el => { + // taxAmount =+ parseFloat(el.taxAmount) + // amount =+ parseFloat(el.amount) + // allAmount =+ parseFloat(el.allAmount) + // }); + arr.forEach((el) => { + if ( + el.taxAmount === '' || + el.taxAmount === null || + el.taxAmount === undefined + ) { + el.taxAmount = '0'; + } + taxAmount += parseFloat(el.taxAmount); + if ( + el.amount === '' || + el.amount === null || + el.amount === undefined + ) { + el.amount = '0'; + } + amount += parseFloat(el.amount); + if ( + el.allAmount === '' || + el.allAmount === null || + el.allAmount === undefined + ) { + el.allAmount = '0'; + } + allAmount += parseFloat(el.allAmount); + }); + templateObject.baseTaxaMount = taxAmount.toFixed(amountAccuracy); + templateObject.baseAmount = amount.toFixed(amountAccuracy); + templateObject.baseAllAmount = allAmount.toFixed(amountAccuracy); + } + } + templateObject.details = arr; + templateObject.baseTaxaMount = + templateObject.baseTaxaMount == '' + ? 0 + : Number(templateObject.baseTaxaMount) * 1 + ''; + templateObject.baseAmount = + templateObject.baseAmount == '' + ? 0 + : Number(templateObject.baseAmount) * 1 + ''; + templateObject.baseAllAmount = + templateObject.baseAllAmount == '' + ? 0 + : Number(templateObject.baseAllAmount) * 1 + ''; + templateObject.details.forEach((el, ind) => { + templateObject.details[ind].price = + Number(templateObject.details[ind].price) * 1 + ''; + templateObject.details[ind].allAmount = + Number(templateObject.details[ind].allAmount) * 1 + ''; + templateObject.details[ind].localCurrAllAmount = + Number(templateObject.details[ind].localCurrAllAmount) * 1 + ''; + templateObject.details[ind].amount = + Number(templateObject.details[ind].amount) * 1 + ''; + if (isNaN(templateObject.details[ind].discountAmount)) { + templateObject.details[ind].discountAmount = '0'; + } else { + templateObject.details[ind].discountAmount = + Number(templateObject.details[ind].discountAmount) * 1 + ''; + } + templateObject.details[ind].taxAmount = + Number(templateObject.details[ind].taxAmount) * 1 + ''; + }); + return templateObject; +}; + +export const countMethodsPurHo = ( + arr, + value, + index, + key, + taxRates, + exchangeRate, + unitpriceAccuracy, + amountAccuracy +) => { + // 采购入库单计算 + if ( + unitpriceAccuracy === '' || + unitpriceAccuracy === undefined || + unitpriceAccuracy === null + ) { + unitpriceAccuracy = 6; + } + if ( + amountAccuracy === '' || + amountAccuracy === undefined || + amountAccuracy === null + ) { + amountAccuracy = 2; + } + if (value === '' || value === undefined || value === null) { + value = '0'; + } + if ( + exchangeRate === '' || + exchangeRate === undefined || + exchangeRate === null || + exchangeRate === '0' || + exchangeRate === 0 + ) { + exchangeRate = '1'; + } + if ( + arr[index].realQty === '' || + arr[index].realQty === undefined || + arr[index].realQty === null + ) { + arr[index].realQty = '0'; + } + if ( + arr[index].price === '' || + arr[index].price === undefined || + arr[index].price === null + ) { + arr[index].price = '0'; + } + if ( + arr[index].taxRate === '' || + arr[index].taxRate === undefined || + arr[index].taxRate === null + ) { + arr[index].taxRate = '0'; + } + if ( + arr[index].taxPrice === '' || + arr[index].taxPrice === undefined || + arr[index].taxPrice === null + ) { + arr[index].taxPrice = '0'; + } + if ( + arr[index].allAmount === '' || + arr[index].allAmount === undefined || + arr[index].allAmount === null + ) { + arr[index].allAmount = '0'; + } + if ( + arr[index].localCurrAllAmount === '' || + arr[index].localCurrAllAmount === undefined || + arr[index].localCurrAllAmount === null + ) { + arr[index].localCurrAllAmount = '0'; + } + if ( + arr[index].discountRate === '' || + arr[index].discountRate === undefined || + arr[index].discountRate === null + ) { + arr[index].discountRate = '0'; + } + if ( + arr[index].discountAmount === '' || + arr[index].discountAmount === undefined || + arr[index].discountAmount === null + ) { + arr[index].discountAmount = '0'; + } + if ( + arr[index].billTaxAmount === '' || + arr[index].billTaxAmount === undefined || + arr[index].billTaxAmount === null + ) { + arr[index].billTaxAmount = '0'; + } + if ( + arr[index].amount === '' || + arr[index].amount === undefined || + arr[index].amount === null + ) { + arr[index].amount = '0'; + } + let templateObject = { + details: [], + }; + if (index != undefined || index != '' || index != null) { + // console.log('arr[index]',arr[index]) + if ( + key == 'taxRate' || + key == 'realQty' || + key == 'discountAmount' || + key === 'taxPrice' || + key === 'discountRate' + ) { + // 定义税率 value + if (arr[index].taxPrice === 0 || arr[index].taxPrice) { + // 计算单价 税额 判断 含税单价 是否为空 + if (!isNaN(parseFloat(arr[index].taxPrice))) { + arr[index].price = ( + parseFloat(arr[index].taxPrice) / + (1 + arr[index].taxRate / 100) + ).toFixed(unitpriceAccuracy); + } + } + if ( + arr[index].taxPrice === 0 || + (arr[index].taxPrice && + arr[index].realQty && + arr[index].discountRate) + ) { + // 计算折扣额 判断 折扣率 含税单价 销售数量 是否为空 + + if ( + !isNaN(parseFloat(arr[index].taxPrice)) && + !isNaN(parseFloat(arr[index].realQty)) && + !isNaN(parseFloat(arr[index].discountRate)) + ) { + arr[index].discountAmount = ( + (parseFloat(arr[index].discountRate) * + parseFloat(arr[index].taxPrice) * + parseFloat(arr[index].realQty)) / + 100 + ).toFixed(amountAccuracy); + } + } + if ( + arr[index].taxPrice === 0 || + arr[index].discountAmount === 0 || + (arr[index].taxPrice && + arr[index].realQty && + arr[index].discountAmount) + ) { + // 计算价税合计 判断 含税单价 数量 折扣额 是否为空 + if ( + !isNaN(parseFloat(arr[index].taxPrice)) && + !isNaN(parseFloat(arr[index].realQty)) + ) { + let nV = + parseFloat(arr[index].taxPrice) * + parseFloat(arr[index].realQty) - + parseFloat(arr[index].discountAmount); + arr[index].allAmount = nV.toFixed(amountAccuracy); + // console.log('arr[index].allAmount',arr[index].allAmount) + } + } + if (arr[index].allAmount && exchangeRate) { + // 计算价税合计本位币 判断 价税合计 汇率 是否为空 + arr[index].localCurrAllAmount = ( + parseFloat(arr[index].allAmount) * exchangeRate + ).toFixed(amountAccuracy); + } + if (arr[index].allAmount) { + // 计算金额、税额 判断 价税合计 税率 是否为空 + arr[index].billTaxAmount = ( + (parseFloat(arr[index].allAmount) * + (arr[index].taxRate / 100)) / + (1 + arr[index].taxRate / 100) + ).toFixed(amountAccuracy); + arr[index].amount = ( + parseFloat(arr[index].allAmount) - + parseFloat(arr[index].billTaxAmount) + ).toFixed(amountAccuracy); + } + let taxAmount = 0; + let amount = 0; + let allAmount = 0; + arr.forEach((el) => { + if ( + el.billTaxAmount === '' || + el.billTaxAmount === null || + el.billTaxAmount === undefined + ) { + el.billTaxAmount = '0'; + } + taxAmount += parseFloat(el.billTaxAmount); + if ( + el.amount === '' || + el.amount === null || + el.amount === undefined + ) { + el.amount = '0'; + } + amount += parseFloat(el.amount); + if ( + el.allAmount === '' || + el.allAmount === null || + el.allAmount === undefined + ) { + el.allAmount = '0'; + } + allAmount += parseFloat(el.allAmount); + }); + templateObject.baseTaxaMount = taxAmount.toFixed(amountAccuracy); + templateObject.baseAmount = amount.toFixed(amountAccuracy); + templateObject.baseAllAmount = allAmount.toFixed(amountAccuracy); + } + } + templateObject.details = arr; + templateObject.baseTaxaMount = + templateObject.baseTaxaMount == '' + ? 0 + : Number(templateObject.baseTaxaMount) * 1 + ''; + templateObject.baseAmount = + templateObject.baseAmount == '' + ? 0 + : Number(templateObject.baseAmount) * 1 + ''; + templateObject.baseAllAmount = + templateObject.baseAllAmount == '' + ? 0 + : Number(templateObject.baseAllAmount) * 1 + ''; + templateObject.details.forEach((el, ind) => { + templateObject.details[ind].price = + Number(templateObject.details[ind].price) * 1 + ''; + templateObject.details[ind].allAmount = + Number(templateObject.details[ind].allAmount) * 1 + ''; + if (isNaN(templateObject.details[ind].discountAmount)) { + templateObject.details[ind].discountAmount = '0'; + } else { + templateObject.details[ind].discountAmount = + Number(templateObject.details[ind].discountAmount) * 1 + ''; + } + templateObject.details[ind].billTaxAmount = + Number(templateObject.details[ind].billTaxAmount) * 1 + ''; + templateObject.details[ind].amount = + Number(templateObject.details[ind].amount) * 1 + ''; + }); + return templateObject; +}; + +export const countMethodsPurHoRe = ( + arr, + value, + index, + key, + taxRates, + exchangeRate, + unitpriceAccuracy, + amountAccuracy +) => { + // 采购退料单计算 + if ( + unitpriceAccuracy === '' || + unitpriceAccuracy === undefined || + unitpriceAccuracy === null + ) { + unitpriceAccuracy = 6; + } + if ( + amountAccuracy === '' || + amountAccuracy === undefined || + amountAccuracy === null + ) { + amountAccuracy = 2; + } + if (value === '' || value === undefined || value === null) { + value = '0'; + } + if ( + exchangeRate === '' || + exchangeRate === undefined || + exchangeRate === null || + exchangeRate === '0' || + exchangeRate === 0 + ) { + exchangeRate = '1'; + } + if ( + arr[index].returnRealQty === '' || + arr[index].returnRealQty === undefined || + arr[index].returnRealQty === null + ) { + arr[index].returnRealQty = '0'; + } + if ( + arr[index].taxPrice === '' || + arr[index].taxPrice === undefined || + arr[index].taxPrice === null + ) { + arr[index].taxPrice = '0'; + } + if ( + arr[index].taxRate === '' || + arr[index].taxRate === undefined || + arr[index].taxRate === null + ) { + arr[index].taxRate = '0'; + } + if ( + arr[index].price === '' || + arr[index].price === undefined || + arr[index].price === null + ) { + arr[index].price = '0'; + } + if ( + arr[index].allAmount === '' || + arr[index].allAmount === undefined || + arr[index].allAmount === null + ) { + arr[index].allAmount = '0'; + } + if ( + arr[index].taxAmount === '' || + arr[index].taxAmount === undefined || + arr[index].taxAmount === null + ) { + arr[index].taxAmount = '0'; + } + if ( + arr[index].amount === '' || + arr[index].amount === undefined || + arr[index].amount === null + ) { + arr[index].amount = '0'; + } + if ( + arr[index].replenishQty === '' || + arr[index].replenishQty === undefined || + arr[index].replenishQty === null + ) { + arr[index].replenishQty = '0'; + } + let templateObject = { + details: [], + }; + if (index != undefined || index != '' || index != null) { + if (key == 'taxRate' || key == 'returnRealQty' || key === 'taxPrice') { + // 定义税率 value + if (arr[index].taxPrice === 0 || arr[index].taxPrice) { + // 计算单价 税额 判断 含税单价 是否为空 + if (!isNaN(parseFloat(arr[index].taxPrice))) { + arr[index].price = ( + parseFloat(arr[index].taxPrice) / + (1 + arr[index].taxRate / 100) + ).toFixed(unitpriceAccuracy); // 计算单价 + } + } + // && arr[index].returnRealQty + if (arr[index].taxPrice === 0 || arr[index].taxPrice) { + // 计算价税合计 判断 含税单价 数量 折扣额 是否为空 + if ( + !isNaN(parseFloat(arr[index].taxPrice)) && + !isNaN(parseFloat(arr[index].returnRealQty)) + ) { + let nV = + parseFloat(arr[index].taxPrice) * + parseFloat(arr[index].returnRealQty); + arr[index].allAmount = nV.toFixed(amountAccuracy); + } + } + if (arr[index].allAmount) { + // 计算金额、税额 判断 价税合计 税率 是否为空 + arr[index].taxAmount = ( + (parseFloat(arr[index].allAmount) * + (arr[index].taxRate / 100)) / + (1 + arr[index].taxRate / 100) + ).toFixed(amountAccuracy); // 计算税额 + arr[index].amount = ( + parseFloat(arr[index].allAmount) / + (1 + arr[index].taxRate / 100) + ).toFixed(amountAccuracy); // 计算金额 + } + // && arr[index].returnRealQty + if (arr[index].taxPrice === 0 || arr[index].taxPrice) { + // 计算价税合计 判断 含税单价 数量 折扣额 是否为空 + if ( + !isNaN(parseFloat(arr[index].taxPrice)) && + !isNaN(parseFloat(arr[index].returnRealQty)) + ) { + let nV = + parseFloat(arr[index].taxPrice) * + parseFloat(arr[index].returnRealQty); + arr[index].allAmount = nV.toFixed(amountAccuracy); + } + } + let taxAmount = 0; + let amount = 0; + let allAmount = 0; + arr.forEach((el) => { + if ( + el.taxAmount === '' || + el.taxAmount === null || + el.taxAmount === undefined + ) { + el.taxAmount = '0'; + } + taxAmount += parseFloat(el.taxAmount); + if ( + el.amount === '' || + el.amount === null || + el.amount === undefined + ) { + el.amount = '0'; + } + amount += parseFloat(el.amount); + if ( + el.allAmount === '' || + el.allAmount === null || + el.allAmount === undefined + ) { + el.allAmount = '0'; + } + allAmount += parseFloat(el.allAmount); + }); + templateObject.baseTaxaMount = taxAmount.toFixed(amountAccuracy); + templateObject.baseAmount = amount.toFixed(amountAccuracy); + templateObject.baseAllAmount = allAmount.toFixed(amountAccuracy); + } + } + templateObject.details = arr; + templateObject.baseTaxaMount = + templateObject.baseTaxaMount == '' + ? 0 + : Number(templateObject.baseTaxaMount) * 1 + ''; + templateObject.baseAmount = + templateObject.baseAmount == '' + ? 0 + : Number(templateObject.baseAmount) * 1 + ''; + templateObject.baseAllAmount = + templateObject.baseAllAmount == '' + ? 0 + : Number(templateObject.baseAllAmount) * 1 + ''; + templateObject.details.forEach((el, ind) => { + templateObject.details[ind].price = + Number(templateObject.details[ind].price) * 1 + ''; + templateObject.details[ind].allAmount = + Number(templateObject.details[ind].allAmount) * 1 + ''; + templateObject.details[ind].taxAmount = + Number(templateObject.details[ind].taxAmount) * 1 + ''; + templateObject.details[ind].amount = + Number(templateObject.details[ind].amount) * 1 + ''; + }); + return templateObject; +}; + +export const countMethodsUnitNumber = ( + tempList, + value, + salesNumber, + isCount, + salePrecisionNumber, + copy +) => { + let returnValue = ''; + let returnCount = 2; + if (tempList.length == 0) { + return { + value: value * 1, + isDefault: 1, + }; + } + console.log(tempList, '=tempList='); + console.log(value, '=value='); + console.log(salesNumber, '=salesNumber='); + console.log(isCount, '=isCount='); + console.log(salePrecisionNumber, '=salePrecisionNumber='); + + if (value) { + if (value.toString().charAt(value.length - 1) == '.') { + return { + value: value, + isDefault: 1, + }; + } + } + if (tempList[0].roundoffType) { + if (tempList[0].roundoffType == 1) { + if (salePrecisionNumber != 0) { + let sumNum = ''; + if (isCount == 1 || copy) { + if (salesNumber) { + sumNum = + Decimal(salesNumber).toFixed( + salePrecisionNumber, + Decimal.ROUND_UP + ) * 1; + returnValue = sumNum; + } + } else { + if (value.toString().indexOf('.') != -1) { + if (value && salesNumber) { + let indexTax = value.toString().lastIndexOf('.'); + let newValue = value + .toString() + .substring(indexTax + 1, value.length); + sumNum = + newValue.length <= salePrecisionNumber + ? salesNumber + : salesNumber + .toString() + .slice( + 0, + value.toString().length - + (newValue.length - + salePrecisionNumber) + ); + returnValue = sumNum; + } + } else { + if (value && salesNumber) { + sumNum = + Decimal(salesNumber).toFixed( + salePrecisionNumber, + Decimal.ROUND_UP + ) * 1; + returnValue = sumNum; + } + } + } + } else { + if (salesNumber) { + let sumNum = Decimal.ceil(salesNumber).toNumber(); + returnValue = sumNum; + } + } + } + if (tempList[0].roundoffType == 2) { + if (salePrecisionNumber != 0 && value) { + if (value.toString().indexOf('.') == -1) { + returnValue = value; + } else { + let indexTax = value.toString().lastIndexOf('.'); + let newValue = value + .toString() + .substring(indexTax + 1, value.length); + returnValue = + newValue.length <= salePrecisionNumber + ? value + : value + .toString() + .slice( + 0, + value.toString().length - + (newValue.length - + salePrecisionNumber) + ); + } + } else { + if (value) { + let sumNum = + Decimal(salesNumber).toFixed( + salePrecisionNumber, + Decimal.ROUND_DOWN + ) * 1; + returnValue = sumNum; + } + } + } + if (tempList[0].roundoffType == 3) { + if (salePrecisionNumber != 0 && value && salesNumber) { + if (value.toString().indexOf('.') != -1) { + let indexTax = value.toString().lastIndexOf('.'); + let newValue = value + .toString() + .substring(indexTax + 1, value.length); + returnValue = + newValue.length <= salePrecisionNumber + ? value + : value + .toString() + .slice( + 0, + value.toString().length - + (newValue.length - + salePrecisionNumber) + ); + if (isCount == 1 || copy) { + let indexTax = value.toString().lastIndexOf('.'); + let newValue = value + .toString() + .substring(indexTax + 1, value.length); + returnValue = + newValue.length < salePrecisionNumber + ? value + : Decimal(value).toFixed(salePrecisionNumber); + } + } else { + let indexTax = value.toString().lastIndexOf('.'); + let newValue = value + .toString() + .substring(indexTax + 1, value.length); + returnValue = + newValue.length < salePrecisionNumber + ? value + : Decimal(value).toFixed(salePrecisionNumber); + } + } + if (salePrecisionNumber == 0) { + if (value) { + let sumNum = Decimal(value).toFixed(salePrecisionNumber); + returnValue = sumNum; + } + } + } + } + return { + value: returnValue * 1, + isDefault: returnCount, + }; +}; diff --git a/src/utils/examine.js b/src/utils/examine.js new file mode 100644 index 0000000..e69de29 diff --git a/src/utils/htmlToPdf.js b/src/utils/htmlToPdf.js new file mode 100644 index 0000000..9acc479 --- /dev/null +++ b/src/utils/htmlToPdf.js @@ -0,0 +1,69 @@ +import html2canvas from 'html2canvas'; +import JsPDF from 'jspdf'; + +function downloadPDF(ele, pdfName) { + let eleW = ele.offsetWidth; // 获得该容器的宽 + let eleH = ele.offsetHeight; // 获得该容器的高 + let eleOffsetTop = ele.offsetTop; // 获得该容器到文档顶部的距离 + let eleOffsetLeft = ele.offsetLeft; // 获得该容器到文档最左的距离 + var canvas = document.createElement("canvas"); + var abs = 0; + let win_in = document.documentElement.clientWidth || document.body.clientWidth; // 获得当前可视窗口的宽度(不包含滚动条) + let win_out = window.innerWidth; // 获得当前窗口的宽度(包含滚动条) + if (win_out > win_in) { + // abs = (win_o - win_i)/2; // 获得滚动条长度的一半 + abs = (win_out - win_in) / 2; // 获得滚动条宽度的一半 + // console.log(a, '新abs'); + } + canvas.width = eleW * 2; // 将画布宽&&高放大两倍 + canvas.height = eleH * 2; + var context = canvas.getContext("2d"); + context.scale(2, 2); + context.translate(-eleOffsetLeft - abs, -eleOffsetTop); + // 这里默认横向没有滚动条的情况,因为offset.left(),有无滚动条的时候存在差值,因此 + // translate的时候,要把这个差值去掉 + // html2canvas(element).then( (canvas)=>{ //报错 + // html2canvas(element[0]).then( (canvas)=>{ + html2canvas(ele, { + dpi: 300, + scale: 2, + // allowTaint: true, //允许 canvas 污染, allowTaint参数要去掉,否则是无法通过toDataURL导出canvas数据的 + useCORS: true //允许canvas画布内 可以跨域请求外部链接图片, 允许跨域请求。 + }).then((canvas) => { + var contentWidth = canvas.width; + var contentHeight = canvas.height; + //一页pdf显示html页面生成的canvas高度; + var pageHeight = contentWidth / 592.28 * 841.89; + //未生成pdf的html页面高度 + var leftHeight = contentHeight; + //页面偏移 + var position = 0; + //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高 + var imgWidth = 595.28; + var imgHeight = 595.28 / contentWidth * contentHeight; + var pageData = canvas.toDataURL('image/jpeg', 1.0); + var pdf = new JsPDF('', 'pt', 'a4'); + //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89) + //当内容未超过pdf一页显示的范围,无需分页 + if (leftHeight < pageHeight) { + //在pdf.addImage(pageData, 'JPEG', 左,上,宽度,高度)设置在pdf中显示; + pdf.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight); + // pdf.addImage(pageData, 'JPEG', 20, 40, imgWidth, imgHeight); + } else { // 分页 + while (leftHeight > 0) { + pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight); + leftHeight -= pageHeight; + position -= 841.89; + //避免添加空白页 + if (leftHeight > 0) { + pdf.addPage(); + } + } + } + //可动态生成 + pdf.save(pdfName); + }) +} +export default { + downloadPDF +} diff --git a/src/utils/lodash/formatDate.js b/src/utils/lodash/formatDate.js new file mode 100644 index 0000000..3c580e8 --- /dev/null +++ b/src/utils/lodash/formatDate.js @@ -0,0 +1,25 @@ +const formatTen = (num) => { + return num > 9 ? num + '' : '0' + num; +}; +export const formatDate = (date, isDate = true) => { + var year = date.getFullYear(); + var month = date.getMonth() + 1; + var day = date.getDate(); + var hour = date.getHours(); + var minute = date.getMinutes(); + var second = date.getSeconds(); + var dateNoTime = year + '-' + formatTen(month) + '-' + formatTen(day); + var dateTime = + year + + '-' + + formatTen(month) + + '-' + + formatTen(day) + + ' ' + + formatTen(hour) + + ':' + + formatTen(minute) + + ':' + + formatTen(second); + return isDate ? dateNoTime : dateTime; +}; diff --git a/src/utils/lodash/msg.js b/src/utils/lodash/msg.js new file mode 100644 index 0000000..41ee64d --- /dev/null +++ b/src/utils/lodash/msg.js @@ -0,0 +1,9 @@ +import { ElMessage } from 'element-plus'; +export const msg = (type, msg, showClose = true, duration = 1000) => { + ElMessage({ + message: msg, + type: type, + showClose, + duration, + }); +}; diff --git a/src/utils/print.js b/src/utils/print.js new file mode 100644 index 0000000..0e42ba0 --- /dev/null +++ b/src/utils/print.js @@ -0,0 +1,170 @@ +var CreatedOKLodop7766 = null +import { ElMessageBox } from 'element-plus' +import { ElMessage } from 'element-plus' +export function needCLodop() { + try { + var ua = navigator.userAgent + if (ua.match(/Windows\sPhone/i) != null) return true + if (ua.match(/iPhone|iPod/i) != null) return true + if (ua.match(/Android/i) != null) return true + if (ua.match(/Edge\D?\d+/i) != null) return true + + var verTrident = ua.match(/Trident\D?\d+/i) + var verIE = ua.match(/MSIE\D?\d+/i) + var verOPR = ua.match(/OPR\D?\d+/i) + var verFF = ua.match(/Firefox\D?\d+/i) + var x64 = ua.match(/x64/i) + if (verTrident == null && verIE == null && x64 !== null) return true + else if (verFF !== null) { + verFF = verFF[0].match(/\d+/) + if (verFF[0] >= 41 || x64 !== null) return true + } else if (verOPR !== null) { + verOPR = verOPR[0].match(/\d+/) + if (verOPR[0] >= 32) return true + } else if (verTrident == null && verIE == null) { + var verChrome = ua.match(/Chrome\D?\d+/i) + if (verChrome !== null) { + verChrome = verChrome[0].match(/\d+/) + if (verChrome[0] >= 41) return true + } + } + return false + } catch (err) { + return true + } +} + +//====页面引用CLodop云打印必须的JS文件:==== +if (needCLodop()) { + var head = + document.head || + document.getElementsByTagName('head')[0] || + document.documentElement + var oscript = document.createElement('script') + oscript.src = 'http://localhost:8000/CLodopfuncs.js?priority=1' + head.insertBefore(oscript, head.firstChild) + + //引用双端口(8000和18000)避免其中某个被占用: + oscript = document.createElement('script') + oscript.src = 'http://localhost:18000/CLodopfuncs.js?priority=0' + head.insertBefore(oscript, head.firstChild) +} + +//====获取LODOP对象的主过程:==== +export function getLodop(oOBJECT, oEMBED) { + var strHtmInstall = + "
打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入。" + var strHtmUpdate = + "
打印控件需要升级!点击这里执行升级,升级后请重新进入。" + var strHtm64_Install = + "
打印控件未安装!点击这里执行安装,安装后请刷新页面或重新进入。" + var strHtm64_Update = + "
打印控件需要升级!点击这里执行升级,升级后请重新进入。" + var strHtmFireFox = + "

(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)" + var strHtmChrome = + "

(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)" + var strCLodopInstall = + "CLodop云打印服务(localhost本地)未安装启动!点击下载执行安装,安装后请刷新页面再尝试打印。" + var strCLodopUpdate = + "
CLodop云打印服务需升级!点击这里执行升级,升级后请刷新页面。" + var LODOP + try { + var isIE = + navigator.userAgent.indexOf('MSIE') >= 0 || + navigator.userAgent.indexOf('Trident') >= 0 + if (needCLodop()) { + try { + LODOP = getCLodop() + } catch (err) {console.log(err)} + if (!LODOP && document.readyState !== 'complete') { + alert('C-Lodop没准备好,请稍后再试!') + return + } + if (!LODOP) { + if (isIE) document.write(strCLodopInstall) + else + ElMessageBox.alert(strCLodopInstall,'安装使用提示', { + dangerouslyUseHTMLString: true, + confirmButtonText: '下载' + }).then(() => { + const elink = document.createElement('a') + elink.href = 'http://www.lodop.net/demolist/CLodop_Setup_for_Win32NT.zip' //file.url + elink.download = 'xyqzmb.xls' //file.name + elink.style.display = 'none' + //link.target="_blank"; + elink.click() + }) + // document.body.innerHTML = + // strCLodopInstall + document.body.innerHTML + return + } else { + if (CLODOP.CVERSION < '3.0.4.3') { + if (isIE) document.write(strCLodopUpdate) + else + document.body.innerHTML = + strCLodopUpdate + document.body.innerHTML + } + if (oEMBED && oEMBED.parentNode) + oEMBED.parentNode.removeChild(oEMBED) + if (oOBJECT && oOBJECT.parentNode) + oOBJECT.parentNode.removeChild(oOBJECT) + } + } else { + var is64IE = isIE && navigator.userAgent.indexOf('x64') >= 0 + //=====如果页面有Lodop就直接使用,没有则新建:========== + if (oOBJECT != undefined || oEMBED != undefined) { + if (isIE) LODOP = oOBJECT + else LODOP = oEMBED + } else if (CreatedOKLodop7766 == null) { + LODOP = document.createElement('object') + LODOP.setAttribute('width', 0) + LODOP.setAttribute('height', 0) + LODOP.setAttribute( + 'style', + 'position:absolute;left:0px;top:-100px;width:0px;height:0px;', + ) + if (isIE) + LODOP.setAttribute( + 'classid', + 'clsid:2105C259-1E0C-4534-8141-A753534CB4CA', + ) + else LODOP.setAttribute('type', 'application/x-print-lodop') + document.documentElement.appendChild(LODOP) + CreatedOKLodop7766 = LODOP + } else LODOP = CreatedOKLodop7766 + //=====Lodop插件未安装时提示下载地址:========== + if (LODOP == null || typeof LODOP.VERSION == 'undefined') { + if (navigator.userAgent.indexOf('Chrome') >= 0) + document.body.innerHTML = + strHtmChrome + document.body.innerHTML + if (navigator.userAgent.indexOf('Firefox') >= 0) + document.body.innerHTML = + strHtmFireFox + document.body.innerHTML + if (is64IE) document.write(strHtm64_Install) + else if (isIE) document.write(strHtmInstall) + else + document.body.innerHTML = + strHtmInstall + document.body.innerHTML + + return LODOP + } + } + if (LODOP.VERSION < '6.2.2.3') { + if (!needCLodop()) { + if (is64IE) document.write(strHtm64_Update) + else if (isIE) document.write(strHtmUpdate) + else + document.body.innerHTML = + strHtmUpdate + document.body.innerHTML + } + return LODOP + } + //===如下空白位置适合调用统一功能(如注册语句、语言选择等):=== + + //=========================================================== + return LODOP + } catch (err) { + alert('getLodop出错:' + err) + } +} \ No newline at end of file diff --git a/src/utils/printPagekey.js b/src/utils/printPagekey.js new file mode 100644 index 0000000..7170715 --- /dev/null +++ b/src/utils/printPagekey.js @@ -0,0 +1,1406 @@ +/* + *各个页面打印字段表 + */ +// 销售订单 +export const orderPrint = [ + { + thName: 'No.', + field: '', + }, + { + thName: '销售订单号', + field: 'orderNum', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'partName', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'sku', + textAlign: 'left', + }, + { + thName: '数量', + field: 'sellNumber', + textAlign: 'right', + }, + { + thName: '含税单价', + field: 'unitPrice', + textAlign: 'right', + }, + { + thName: '单位', + field: 'unit', + textAlign: 'center', + }, + { + thName: '价税合计', + field: 'priceTax', + textAlign: 'right', + }, + { + thName: '备注', + field: 'remarks', + textAlign: 'left', + }, +]; +//销售退货单 +export const returnOrderPrint = [ + { + thName: 'No.', + field: '', + textAlign: 'center', + }, + { + thName: '销售订单号', + field: 'salOrderBillNo', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'partName', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'sku', + textAlign: 'left', + }, + { + thName: '仓库', + field: 'stock', + textAlign: 'center', + }, + { + thName: '数量', + field: 'realQty', + textAlign: 'right', + }, + { + thName: '含税单价', + field: 'taxPrice', + textAlign: 'right', + }, + { + thName: '单位', + field: 'unit', + textAlign: 'center', + }, + { + thName: '价税合计', + field: 'allAmountLc', + textAlign: 'right', + }, + { + thName: '备注', + field: 'remark', + textAlign: 'left', + }, +]; +//销售退货单 +export const demandOrderPrint = [ + { + thName: 'No.', + field: '', + textAlign: 'center', + }, + { + thName: '销售订单号', + field: 'salOrderBillNo', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'partName', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'sku', + textAlign: 'left', + }, + { + thName: '仓库', + field: 'stock', + textAlign: 'center', + }, + { + thName: '数量', + field: 'realQty', + textAlign: 'right', + }, + { + thName: '含税单价', + field: 'taxPrice', + textAlign: 'right', + }, + { + thName: '单位', + field: 'unit', + textAlign: 'center', + }, + { + thName: '价税合计', + field: 'allAmountLc', + textAlign: 'right', + }, + { + thName: '备注', + field: 'remark', + textAlign: 'left', + }, +]; +//分布式调出单 +export const issuePrint = [ + { + thName: 'No.', + field: '', + textAlign: 'center', + }, + { + thName: '销售订单号', + field: 'salOrderBillNo', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'partName', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + textAlign: 'left', + }, + { + thName: '调入仓库', + field: 'destStock', + textAlign: 'center', + }, + { + thName: '调出数量', + field: 'qty', + textAlign: 'right', + }, + { + thName: '备注', + field: 'remarks', + textAlign: 'left', + }, +]; +//直接调拨单 +export const directPrint = [ + { + thName: 'No.', + field: '', + textAlign: 'center', + }, + { + thName: '物料编码', + field: 'materialNumber', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'partName', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + textAlign: 'left', + }, + { + thName: '调出仓库', + field: 'srcStock', + textAlign: 'center', + }, + { + thName: '调入仓库', + field: 'destStock', + textAlign: 'center', + }, + { + thName: '调拨数量', + field: 'qty', + textAlign: 'right', + }, + { + thName: '单位', + field: 'unit', + textAlign: 'center', + }, + { + thName: '备注', + field: 'remarks', + textAlign: 'left', + }, +]; +//发货通知单 +export const noticePrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '销售订单号', + field: 'salOrderNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '发货通知单号', + field: 'billNO', + width: '10%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '10%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '20%', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'materialName', + width: '7%', + textAlign: 'center', + }, + { + thName: '仓库', + field: 'stock', + width: '7%', + textAlign: 'center', + }, + { + thName: '销售数量', + field: 'salesNumber', + width: '6%', + textAlign: 'right', + }, + { + thName: '累计出库数量', + field: 'stockOutNumber', + width: '6%', + textAlign: 'right', + }, + { + thName: '剩余未出库数量', + field: 'remainOutNumber', + width: '6%', + textAlign: 'right', + }, + { + thName: '单位', + field: 'unit', + width: '5%', + textAlign: 'center', + }, + { + thName: '备注', + field: 'remark', + width: '10%', + textAlign: 'center', + }, +]; +//仓库-销售出库单 +export const exWarehousePrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '销售订单号', + field: 'salOrderNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '销售出库单', + field: 'billNO', + width: '10%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '14%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '26.25%', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'materialName', + width: '6.75%', + textAlign: 'left', + }, + { + thName: '仓库', + field: 'stock', + width: '7.5%', + textAlign: 'center', + }, + { + thName: '数量', + field: 'realQty', + width: '7.5%', + textAlign: 'right', + }, + { + thName: '单位', + field: 'unit', + width: '5%', + textAlign: 'center', + }, + { + thName: '备注', + field: 'remark', + width: '10%', + textAlign: 'left', + }, +]; +//仓库-采购入库单 +export const warehousePrint = [ + { + thName: 'No.', + field: '', + textAlign: 'center', + }, + { + thName: '采购订单号', + field: 'parentOrderBillNo', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'materialName', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + textAlign: 'left', + }, + { + thName: '仓库', + field: 'soStock', + textAlign: 'center', + }, + { + thName: '采购员', + field: 'purchaserName', + textAlign: 'left', + }, + { + thName: '实收数量', + field: 'realQty', + textAlign: 'right', + }, + { + thName: '单位', + field: 'remaininStockUnit', + textAlign: 'center', + }, + { + thName: '备注', + field: 'note', + textAlign: 'left', + }, +]; +//仓库-采购退料单 +export const returnOrderwlPrint = [ + { + thName: 'No.', + field: '', + textAlign: 'center', + }, + { + thName: '采购退料单号', + field: 'billNo', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'materialName', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + textAlign: 'left', + }, + { + thName: '仓库', + field: 'stock', + textAlign: 'center', + }, + { + thName: '实退数量', + field: 'returnRealQty', + textAlign: 'right', + }, + { + thName: '退料方式', + field: 'returnMaterialMode', + textAlign: 'left', + }, + { + thName: '单位', + field: 'unitName', + textAlign: 'center', + }, + { + thName: '备注', + field: 'note', + textAlign: 'left', + }, +]; +//仓库-送货单 +export const sendOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '送货单号', + field: 'billNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '采购单号', + field: 'purchaseBillNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '采购组织', + field: 'purchaseOrgName', + width: '10%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '12%', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'materialName', + width: '6.75%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '16%', + textAlign: 'left', + }, + { + thName: '仓库', + field: 'stockName', + width: '7.5%', + textAlign: 'center', + }, + { + thName: '送货数量', + field: 'qty', + textAlign: 'right', + width: '6.75%', + }, + { + thName: '备品数量', + field: 'spareQty', + textAlign: 'right', + width: '5%', + }, + { + thName: '单位', + field: 'unitName', + textAlign: 'center', + width: '5%', + }, + { + thName: '备注', + field: 'remark', + width: '8%', + textAlign: 'left', + }, +]; +//供应商-采购订单 +export const purchaseOrderMangePrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '采购订单号', + field: 'billNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '14%', + textAlign: 'left', + }, + { + thName: '规格型号(SKU)', + field: 'specification', + width: '30.25%', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'materialName', + width: '6.75%', + textAlign: 'left', + }, + { + thName: '单位', + field: 'unitName', + textAlign: 'center', + width: '5%', + textAlign: 'left', + }, + { + thName: '数量', + field: 'qtyCount', + textAlign: 'right', + width: '6.75%', + }, + { + thName: '含税单价', + field: 'taxPrice', + textAlign: 'right', + width: '6.75%', + }, + { + thName: '价税合计', + field: 'allAmount', + textAlign: 'right', + width: '7.5%', + }, + { + thName: '备注', + field: 'note', + width: '10%', + textAlign: 'left', + }, +]; +//供应商-备料订单 +export const preparaMaterialPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '备料单号', + field: 'billNo', + width: '12%', + textAlign: 'left', + }, + { + thName: '备料组织', + field: 'orgName', + width: '12%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '12%', + textAlign: 'left', + }, + { + thName: '物料名称', + field: 'materialName', + width: '10%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '25%', + textAlign: 'left', + }, + { + thName: '数量', + field: 'qty', + textAlign: 'right', + width: '7%', + }, + { + thName: '单位', + field: 'unitName', + textAlign: 'center', + width: '7%', + }, + { + thName: '备注', + field: 'remark', + width: '12%', + textAlign: 'left', + }, +]; +// 生产订单 +export const productOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '子项物料编码', + field: 'materialNumber', + width: '12%', + textAlign: 'left', + }, + { + thName: '子项规格型号', + field: 'specification', + width: '23%', + textAlign: 'left', + }, + { + thName: '子项物料名称', + field: 'materialName', + width: '10%', + textAlign: 'center', + }, + { + thName: '分子', + field: 'numerator', + textAlign: 'center', + width: '7%', + }, + { + thName: '分母', + field: 'denominator', + textAlign: 'center', + width: '7%', + }, + { + thName: '子单位', + field: 'subUnit', + width: '7%', + textAlign: 'center', + }, + { + thName: '应发数量', + field: 'sendNumberchild', + textAlign: 'center', + width: '7%', + }, + { + thName: '已领', + field: 'receiveNumberchild', + textAlign: 'center', + width: '7%', + }, + { + thName: '即时库存(子单位)', + field: 'realStockchild', + textAlign: 'center', + width: '7%', + }, + { + thName: '位置号/模号/备注', + field: 'memo', + width: '10%', + textAlign: 'left', + }, +]; +// 生产领料订单 +export const pickingOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '销售订单号', + field: 'salBillNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '生产订单号', + field: 'moBillNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '生产领料单号', + field: 'producePickNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '10%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '21%', + textAlign: 'left', + }, + { + thName: '名称', + field: 'materialName', + width: '7%', + textAlign: 'center', + }, + { + thName: '子单位', + field: 'subUnit', + width: '5%', + textAlign: 'center', + }, + { + thName: '实发数量', + field: 'realNumberchild', + width: '7%', + textAlign: 'right', + }, + { + thName: '仓库', + field: 'stock', + width: '7%', + textAlign: 'center', + }, + { + thName: '位置号/模号/备注', + field: 'remark', + width: '10%', + textAlign: 'left', + }, +]; +// 生产补料订单 +export const replenishmentOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '销售订单', + field: 'salBillNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '生产订单号', + field: 'moBillNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '生产补料单号', + field: 'produceFeedNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '14%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '17%', + textAlign: 'left', + }, + { + thName: '名称', + field: 'materialName', + width: '7%', + textAlign: 'center', + }, + { + thName: '子单位', + field: 'subUnit', + width: '5%', + textAlign: 'center', + }, + { + thName: '实发数量', + field: 'realNumberchild', + width: '7%', + textAlign: 'right', + }, + { + thName: '仓库', + field: 'stock', + width: '7%', + textAlign: 'center', + }, + { + thName: '补料原因', + field: 'reason', + width: '7%', + textAlign: 'left', + }, + { + thName: '位置号/模号/备注', + field: 'remark', + width: '7%', + textAlign: 'left', + }, +]; +// 生产退料订单 +export const returnMaterialOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '销售订单号', + field: 'salBillNo', + width: '9%', + textAlign: 'left', + }, + { + thName: '生产订单号', + field: 'moBillNo', + width: '9%', + textAlign: 'left', + }, + { + thName: '生产退料单号', + field: 'produceReturnNo', + width: '9%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '9%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '17%', + textAlign: 'left', + }, + { + thName: '名称', + field: 'materialName', + width: '7%', + textAlign: 'center', + }, + { + thName: '子单位', + field: 'subUnit', + width: '5%', + textAlign: 'center', + }, + { + thName: '实退数量', + field: 'realNumberchild', + width: '6%', + textAlign: 'right', + }, + { + thName: '仓库', + field: 'stock', + width: '6%', + textAlign: 'center', + }, + { + thName: '退料类型', + field: 'documentType', + width: '6%', + textAlign: 'left', + }, + { + thName: '退料原因', + field: 'reason', + width: '6%', + textAlign: 'left', + }, + { + thName: '位置号/模号/备注', + field: 'remark', + width: '8%', + textAlign: 'left', + }, +]; +// 生产入库订单 +export const warehouOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '销售订单号', + field: 'salBillNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '生产订单号', + field: 'moBillNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '生产入库号', + field: 'produceInStockNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '10%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '21%', + textAlign: 'left', + }, + { + thName: '名称', + field: 'materialName', + width: '7%', + textAlign: 'center', + }, + { + thName: '单位', + field: 'unit', + width: '5%', + textAlign: 'center', + }, + { + thName: '实收数量', + field: 'realNumber', + width: '7%', + textAlign: 'right', + }, + { + thName: '仓库', + field: 'stock', + width: '7%', + textAlign: 'center', + }, + { + thName: '位置号/模号/备注', + field: 'remark', + width: '10%', + textAlign: 'left', + }, +]; +// 委外订单 +export const outSourcOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '子项物料编码', + field: 'materialNumber', + width: '12%', + textAlign: 'left', + }, + { + thName: '子项规格型号', + field: 'specification', + width: '23%', + textAlign: 'left', + }, + { + thName: '子项物料名称', + field: 'materialName', + width: '10%', + textAlign: 'center', + }, + { + thName: '分子', + field: 'numerator', + textAlign: 'center', + width: '7%', + }, + { + thName: '分母', + field: 'denominator', + textAlign: 'center', + width: '7%', + }, + { + thName: '子单位', + field: 'subUnit', + width: '7%', + textAlign: 'center', + }, + { + thName: '应发数量', + field: 'sendNumberchild', + textAlign: 'center', + width: '7%', + }, + { + thName: '已领', + field: 'receiveNumberchild', + textAlign: 'center', + width: '7%', + }, + { + thName: '即时库存(子单位)', + field: 'realStockchild', + textAlign: 'center', + width: '7%', + }, + + { + thName: '位置号/模号/备注', + field: 'memo', + width: '10%', + textAlign: 'left', + }, +]; +// 委外补料订单 +export const outSourcFeedOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '销售订单号', + field: 'salBillNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '委外订单号', + field: 'outSourcOrderNO', + width: '10%', + textAlign: 'left', + }, + { + thName: '委外补料号', + field: 'outSourcFeedNo', + width: '10%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '10%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '17%', + textAlign: 'left', + }, + { + thName: '名称', + field: 'materialName', + width: '7%', + textAlign: 'center', + }, + { + thName: '子单位', + field: 'subUnit', + width: '5%', + textAlign: 'center', + }, + { + thName: '实发数量', + field: 'realNumberchild', + width: '7%', + textAlign: 'right', + }, + { + thName: '仓库', + field: 'stock', + width: '7%', + textAlign: 'center', + }, + { + thName: '补料原因', + field: 'reason', + width: '7%', + textAlign: 'left', + }, + { + thName: '位置号/模号/备注', + field: 'remark', + width: '7%', + textAlign: 'left', + }, +]; +// 委外领料订单 +export const outSourcPickOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + + { + thName: '物料编码', + field: 'materialNumber', + width: '20%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '21%', + textAlign: 'left', + }, + { + thName: '名称', + field: 'materialName', + width: '15%', + textAlign: 'center', + }, + { + thName: '子单位', + field: 'subUnit', + width: '7%', + textAlign: 'center', + }, + { + thName: '实发数量', + field: 'realNumberchild', + width: '15%', + textAlign: 'center', + }, + { + thName: '仓库', + field: 'stock', + width: '19%', + textAlign: 'center', + }, +]; +// 委外退料订单 +export const outSourcRetrunOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '销售订单号', + field: 'salBillNo', + width: '9%', + textAlign: 'left', + }, + { + thName: '委外订单号', + field: 'outSourcOrderNO', + width: '9%', + textAlign: 'left', + }, + { + thName: '委外退料单号', + field: 'outSourcReturnNo', + width: '9%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '9%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '17%', + textAlign: 'left', + }, + { + thName: '名称', + field: 'materialName', + width: '7%', + textAlign: 'center', + }, + { + thName: '子单位', + field: 'subUnit', + width: '5%', + textAlign: 'center', + }, + { + thName: '实退数量', + field: 'realNumberchild', + width: '6%', + textAlign: 'right', + }, + { + thName: '仓库', + field: 'stock', + width: '6%', + textAlign: 'center', + }, + { + thName: '退料类型', + field: 'returnType', + width: '6%', + textAlign: 'left', + }, + { + thName: '退料原因', + field: 'reason', + width: '6%', + textAlign: 'left', + }, + { + thName: '位置号/模号/备注', + field: 'remark', + textAlign: 'left', + width: '8%', + }, +]; +// 其他出库单 +export const outSheetOrderPrint = [ + { + thName: 'No.', + field: '', + width: '3%', + textAlign: 'center', + }, + { + thName: '其他出库单号', + field: 'billNo', + width: '16%', + textAlign: 'left', + }, + { + thName: '物料编码', + field: 'materialNumber', + width: '16%', + textAlign: 'left', + }, + { + thName: '规格型号', + field: 'specification', + width: '26.25%', + textAlign: 'left', + }, + { + thName: '名称', + field: 'materialName', + width: '9%', + textAlign: 'center', + }, + + { + thName: '单位', + field: 'unitName', + textAlign: 'center', + width: '5%', + }, + { + thName: '数量', + field: 'qty', + textAlign: 'right', + width: '6.25%', + }, + { + thName: '仓库', + field: 'stockName', + width: '6.5%', + textAlign: 'center', + }, + { + thName: '备注', + field: 'note', + width: '12%', + textAlign: 'left', + }, +]; +/** + * 联级下拉选择组件数据的结构 + */ +export const pageoPtionProps = { + expandTrigger: 'hover', + checkStrictly: true, + value: 'id', + label: 'name', + children: 'children', + emitPath: false, +}; diff --git a/src/utils/pubulic.js b/src/utils/pubulic.js new file mode 100644 index 0000000..4b2a868 --- /dev/null +++ b/src/utils/pubulic.js @@ -0,0 +1,1129 @@ +import Request from '../utils/request.js'; +import { ElMessage } from 'element-plus'; +import { setNotLoggedIn } from '@/utils/auth'; +import router from '../router'; +import store from '../store'; +import FileSaver from 'file-saver'; +import XLSX from 'xlsx'; +import { getLodop } from '@/utils/print.js'; +const http = new Request(); + +// 日期转换 +export const transformTimestamp = (timestamp) => { + const date = new Date(timestamp); + const Y = date.getFullYear() + '-'; + const M = + (date.getMonth() + 1 < 10 + ? '0' + (date.getMonth() + 1) + : date.getMonth() + 1) + '-'; + const D = + (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; + const h = + (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; + const m = + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + + ':'; + const s = + date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); // 秒 + const dateString = Y + M + D; + return dateString; +}; + +// 根据key值获取value +export const getObjValue = (arr, thekey) => { + let thevalue = ''; + for (let key in arr) { + if (key === thekey) { + thevalue = key; + thevalue = arr[key]; + return thevalue; + } + } +}; +// 根据数据集合id,去查找对应的名称(一般结构是 id --name type存在是防止数据结构不同获取名称的拓展,暂时还没什么用途) +export const getListIdByName = (arr, id, type) => { + let datalist = []; + if (arr && arr.length > 0) { + datalist = arr.filter((it) => { + return it.id === id; + }); + if (datalist && datalist.length > 0) { + return datalist[0].name; + } else { + return ''; + } + } +}; +export const theUnitSet = (list, id) => { + // 修改标题 + if ((id || id == '0' || id == 0) && list && list.length > 0) { + return list.filter((i) => { + return i.id === id; + }).length > 0 + ? list.filter((i) => { + return i.id === id; + })[0].name + : ''; + } else { + return ''; + } +}; + +export const getStatusTypeQuery = (url, id, type, query) => { + if (type && type === 'post') { + if (id) { + return http + .showLoading(false) + .post(url, query) + .then((res) => { + if (res.status === 200) { + return res.data; + } else { + return []; + } + }); + } + } +}; + +// 获取各种状态 +export const getStatusType = (url, id, type) => { + // 获取状态 + if (type && type === 'post') { + // POST + if (id) { + if (url === 'SysConfig/GetDept/') { + return http + .showLoading(false) + .post(url + id) + .then((res) => { + if (res.status === 200) { + return res.data; + } else { + return []; + } + }); + } else { + return http + .showLoading(false) + .post(url + id) + .then((res) => { + if (res.status === 200) { + return res.data; + } else { + return []; + } + }); + } + } + } else { + // GET + if (id) { + return http + .showLoading(false) + .get(url + id) + .then((res) => { + if (res.status === 200) { + return res.data; + } else { + return []; + } + }); + } else { + return http + .showLoading(false) + .get(url) + .then((res) => { + if (res.status === 200) { + return res.data; + } else { + return []; + } + }); + } + } +}; + +// 获取本位币 +export const getBaseCurrency = (arr, val) => { + for (let index = 0; index < arr.length; index++) { + if (arr[index].id === val) { + return arr[index].standardCoinId; + } + } +}; + +// 获取汇率 +export const getTaxPrice = (localcurrId, url, settlecurrId) => { + if (localcurrId && settlecurrId) { + return http + .showLoading(false) + .post(url, { + from: settlecurrId, + to: localcurrId, + }) + .then((req) => { + if (req.status == 200) { + if (req.data === 0) { + return 1; + } else { + return req.data; + } + } + }); + } +}; + +// 获取时间 +export const getNowTime = () => { + var date = new Date(); + var year = date.getFullYear(); + var month = + date.getMonth() + 1 < 10 + ? '0' + (date.getMonth() + 1) + : date.getMonth() + 1; + var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); + return year + '-' + month + '-' + day; +}; + +// 判断isNan +export const isNanValue = (value) => { + if (value === 0) { + return value; + } else { + if (!isNaN(value)) { + return value; + } else { + return ''; + } + } +}; + +export const adoptValGetInd = (val, url) => { + if (val && url) { + return http + .showLoading(false) + .get(url + val) + .then((req) => { + if (req.status == 200) { + return req.data; + } + }); + } else { + return ''; + } +}; + +export const moreEnpty = (val) => { + if (val) { + return val.toString().replace(/(^\s*)|(\s*$)/g, ''); + } +}; +export const exporthandel = function (path, search) { + if (search && path) { + return http + .showLoading(false) + .post(path, search) + .then((res) => { + if (res.status === 200) { + ElMessage.success( + '导出成功!请前往[导出]-[导出管理]查看进度或下载文件' + ); + } + }); + } +}; + +//ljm---批量填充公共封装 页面数据 物料集合数据, 第几行 那个字段 要填充的字段 +export const batchhandle = function ( + pagefromData, + matterallCodelist, + romIndex, + columnkey, + batcharry, + diftag +) { + if ((romIndex || romIndex === 0) && columnkey) { + if (columnkey === 'customerStockId') { + ElMessage.error('客户仓库不允许批量填充'); + } + (diftag + ? pagefromData.product[0].details + : pagefromData.details + ).forEach((it, index) => { + if (index > romIndex) { + if ( + columnkey !== 'materialId' && + columnkey !== 'specification' + ) { + if (batcharry.indexOf(columnkey) !== -1) { + it[columnkey] = ( + diftag + ? pagefromData.product[0].details + : pagefromData.details + )[romIndex][columnkey]; + if (columnkey === 'stockId') { + it['stockManagerId'] = ( + diftag + ? pagefromData.product[0].details + : pagefromData.details + )[romIndex]['stockManagerId']; + it['stockManagerName'] = ( + diftag + ? pagefromData.product[0].details + : pagefromData.details + )[romIndex]['stockManagerName']; + it['stockerName'] = ( + diftag + ? pagefromData.product[0].details + : pagefromData.details + )[romIndex]['stockerName']; + it['stockerId'] = ( + diftag + ? pagefromData.product[0].details + : pagefromData.details + )[romIndex]['stockerId']; + } + } + } else { + if ( + columnkey === 'materialId' || + columnkey === 'specification' + ) { + matterallCodelist[index] = matterallCodelist[romIndex]; + let metterInfo = {}; + metterInfo = matterallCodelist[index].filter((res) => { + return ( + (diftag + ? pagefromData.product[0].details + : pagefromData.details)[romIndex] + .materialId === res.id + ); + })[0]; + it.materialId = metterInfo.id; + it.materialName = metterInfo.name; + it.materialNumber = metterInfo.number; + it.specification = metterInfo.specifications; + it.unitId = metterInfo.baseUnitId; + it.bomId = metterInfo.bomId; + it.is211 = metterInfo.is211; + it.bomVersion = metterInfo.bomVersion; + it.subUnitMultiple = metterInfo.subUnitMultiple; + it.supplierId = metterInfo.defaultSupplierId; + it.subUnitId = metterInfo.subUnitId; + } + } + } + }); + } + return pagefromData; +}; + +function offline() { + // mingpin.f2b211 http://login.ops.f2b211.com/api/ https://api.mingpin.f2b211.com/api/v1/Public/get/offline + //let pathurl = `http://login.ops.f2b211.com/api/v1/Public/get/online?c=${localStorage.getItem( + let companyId = localStorage.getItem('companyId'); + const pathurl = `https://proxy.ops.f2b211.com/api/v1/Public/get/offline?c=${companyId}`; + //http://dev.proxy.ops.f2b211.com/api/ + //const pathurl = `https://login.ops.f2b211.com/api/v1/Public/get/offline?c=${companyId}`; + fetch(pathurl, { + method: 'GET', + credentials: 'include', + keepalive: true, + headers: { + Authorization: window.localStorage.getItem('userToken'), + }, + }).then((r) => { + console.log(r, '=========r==========='); + if (r) { + http.post('Login/LoginOut').then((r) => { + if (store && store.state && store.state.org) { + store.state.org.orgId = null; + } + console.log(r.isSuccess, '=r.isSuccess='); + if (r.isSuccess) { + setTimeout(() => { + router.push({ + path: '/login', + }); + setNotLoggedIn(); + store.replaceState({}); + localStorage.removeItem('store'); + localStorage.removeItem('userToken'); + localStorage.clear(); + }, 500); + } + }); + } + }); +} +// ljm 退出公共方法 +export const SigninOut = function (path, search) { + offline(); +}; + +// ljm 操作弹框的导出 +export const htmlToExcel = function (dom, title) { + var excelTitle = title ? title : '导出文件'; + var wb = XLSX.utils.table_to_book(document.querySelector('#' + dom)); + var wbout = XLSX.write(wb, { + bookType: 'xlsx', + bookSST: true, + type: 'array', + }); + try { + FileSaver.saveAs( + new Blob([wbout], { + type: 'application/octet-stream', + }), + excelTitle + '.xlsx' + ); + } catch (e) { + if (typeof console !== 'undefined') console.log(e, wbout); + } + return wbout; +}; + +// jx 递归删除children[] +export const removeChildren = function (arr) { + if (arr) { + if (arr.length) { + for (let i in arr) { + if (arr[i].children && arr[i].children.length) { + removeChildren(arr[i].children); + } else { + delete arr[i].children; + } + } + } + } + return arr; +}; + +// jx 处理自定义搜索框返回结果 +export const resultComMethods = function ( + result, + fieldSale, + fieldObj, + tempObj, + search +) { + fieldSale = result.currVal; + if (JSON.stringify(fieldObj) != '{}') { + tempObj = JSON.parse(JSON.stringify(fieldObj)); + for (const key in fieldObj) { + search[key] = fieldObj[key]; + } + } else { + for (const key in tempObj) { + delete search[key]; + } + tempObj = null; + } + if (fieldSale == undefined || fieldSale == '') { + for (const key in tempObj) { + delete search[key]; + } + tempObj = null; + } + return { + fieldSale, + fieldObj, + tempObj, + search, + }; +}; + +// jx 监听自定义搜索 +export const customChangeMethods = function ( + selfVal, + otherO, + otherT, + key, + keyRsf +) { + if (selfVal == undefined) { + selfVal = key; + } + if (selfVal !== '') { + if (selfVal == otherO || selfVal == otherT) { + selfVal = key; + keyRsf += 1; + ElMessage.error('不能重复选择!'); + } + } + return { + selfVal, + otherO, + otherT, + key, + keyRsf, + }; +}; + +// jx 快粘贴处理 +export const copyValueMethods = function (event, value) { + let pastedText = undefined; // 定义变量 + let isPasteOneCol = false; // 锁 + let oldVal = value; // 记录当前的值 + if (event.clipboardData && event.clipboardData.getData) { + // 获取复制内容 + pastedText = event.clipboardData.getData('Text'); + } else { + pastedText = event.originalEvent.clipboardData.getData('Text'); + } + let rows = pastedText.split('\r\n'); // 分割字符 + rows.forEach((el) => { + if (el.indexOf('\t') !== -1) { + // 判断是否多列 + isPasteOneCol = true; + } + }); + return { + pastedText, + isPasteOneCol, + oldVal, + rows, + }; +}; + +// jx 日期比较 +export const compareDateMethods = function (logintime, logouttime) { + let arys1 = new Array(); + let arys2 = new Array(); + if (logintime != null && logouttime != null) { + arys1 = logintime.split('-'); + logintime = new Date(arys1[0], parseInt(arys1[1] - 1), arys1[2]); + arys2 = logouttime.split('-'); + logouttime = new Date(arys2[0], parseInt(arys2[1] - 1), arys2[2]); + } + return logintime > logouttime ? false : true; +}; + +// jx 销售物料编码携带数据 +export const saleMatterGetMethods = function ( + matterDate, + matterallCodelist, + specificationalllist, + details, + ind, + type +) { + if (matterDate.length > 0) { + matterallCodelist[ind] = matterDate; + specificationalllist[ind] = matterDate; + if (type === 'getDate') { + if (details[ind] !== undefined) { + matterallCodelist[ind].forEach((el) => { + details[ind].materialId = el.id; + details[ind].specificationId = el.id; + details[ind].matterName = el.name; + details[ind].unitId = el.baseUnitId; + details[ind].paezOrgName = el.paezOrgName; + details[ind].defaultSupplierName = el.defaultSupplierName; + details[ind].taxRateNmae = el.taxRateNmae; + details[ind].is211 = el.is211; + details[ind].supplyChainName = el.supplyChain; + details[ind].supplyChain = el.supplyChainKey; + details[ind].lifeCycle = el.lifeCycleKey; + details[ind].lifeCycleName = el.lifeCycle; + details[ind].supplyOriginId = el.paezOrgId; + details[ind].defaultSupplier = el.defaultSupplierId; + }); + } + } + } + return { + matterallCodelist, + specificationalllist, + details, + }; +}; +// ljm 快粘贴处理 +export const quikecopyValue = function (event) { + let pastedText = + event.clipboardData && event.clipboardData.getData + ? event.clipboardData.getData('Text') + : event.originalEvent.clipboardData.getData('Text'); // 定义变量 + let rows = + pastedText && pastedText.split('\r\n') + ? pastedText.split('\r\n').filter((it) => { + return it !== ''; + }) + : []; + return rows && rows.length > 0 ? rows : []; +}; +// ljm 订单下载 +export const orderDownload = function (api, contractId, filename) { + if (contractId) { + var xhr = new XMLHttpRequest(); // 用这种原生请求下载后端返回的二进制流打开就不会出现空白 + xhr.open( + 'get', + import.meta.env.VITE_APP_API_BASEURL + + import.meta.env.VITE_APP_API_VERSION + + '/' + + api + + contractId, + true + ); + xhr.responseType = 'blob'; + xhr.setRequestHeader( + 'Authorization', + localStorage.getItem('userToken') + ); + xhr.onload = function () { + const url = window.URL.createObjectURL(this.response); + const link = document.createElement('a'); + link.style.display = 'none'; + link.href = url; + link.setAttribute('download', filename); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + }; + xhr.send(); + } else { + ElMessage.error('还不能下载!'); + } +}; +// ljm 数据日期降序 +export const dateData = function (property, bol) { + //property是你需要排序传入的key,bol为true时是升序,false为降序 + return function (a, b) { + var value1 = a[property]; + var value2 = b[property]; + if (bol) { + // 升序 + return Date.parse(value1) - Date.parse(value2); + } else { + // 降序 + return Date.parse(value2) - Date.parse(value1); + } + }; +}; +//ljm打印 +export const printPreview = function (s, pageName, arry) { + LODOP = getLodop(); + var companyTilte = + '' + + document.getElementById('companyTilte').innerHTML + + ''; + var str1 = + '' + document.getElementById('headhtml').innerHTML + ''; + var str2 = + '' + document.getElementById('foothtml').innerHTML + ''; + LODOP.PRINT_INIT('订单'); //打印初始化 + LODOP.ADD_PRINT_HTM(10, 0, 2100, 2970, companyTilte); + LODOP.SET_PRINT_STYLEA(0, 'ItemType', 1); + LODOP.ADD_PRINT_HTM(100, 0, 2100, 2970, str1); + LODOP.ADD_PRINT_TABLE( + pageName === '销售出库单' + ? 180 + : pageName === '发货通知单' + ? 190 + : pageName === '生产用料清单' + ? arry && + arry.length > 0 && + (arry[0].pSpecification.length > 45 || + arry[0].orderRemark.length.length > 45) + ? 235 + : 205 + : pageName === '委外用料清单' + ? 205 + : pageName === '分步式调出单' + ? 165 + : pageName === '采购入库单' + ? 130 + : 150, + 0, + '100%', + pageName === '生产用料清单' ? '70%' : '72%', + document.getElementById('div2').innerHTML + ); + LODOP.SET_PRINT_STYLEA( + 0, + 'Offset2Top', + pageName === '生产用料清单' && + (arry[0].pSpecification.length > 45 || + arry[0].orderRemark.length.length > 45) + ? -150 + : -120 + ); //设置次页偏移把区域向上扩 + LODOP.ADD_PRINT_HTM(40, 0, 2100, 2970, str2); + //LODOP.SET_PRINT_STYLEA(0,"Top2Offset",-40); //这句可让次页起点向上移 + LODOP.SET_PRINT_STYLEA(0, 'LinkedItem', -1); + LODOP.ADD_PRINT_HTM( + 1070, + 380, + 300, + 100, + "第##页/共##页" + ); + LODOP.SET_PRINT_STYLEA(0, 'ItemType', 1); //0代表文件 + if (s == 0) { + LODOP.PRINT(); //直接打印 + } + if (s == 1) { + LODOP.PREVIEW(); //打印预览 + } + if (s == 2) { + LODOP.PRINT_SETUP(); //打印维护 + } + if (s == 3) { + LODOP.PRINT_DESIGN(); //打印设计 + } +}; +export const newprintPreview1 = function (pageName, length, list) { + LODOP = getLodop(); + + LODOP.PRINT_INIT('订单'); //打印初始化 + for (let i = 0; i < length; i++) { + var companyTilte = + '' + + document.getElementById('companyTilte' + i).innerHTML + + ''; + var str1 = + '' + + document.getElementById('headhtml' + i).innerHTML + + ''; + var str2 = + '' + + document.getElementById('foothtml' + i).innerHTML + + ''; + if (i > 0) { + LODOP.NewPage(); + } + + LODOP.ADD_PRINT_HTM(10, 0, '100%', '100%', companyTilte); + LODOP.SET_PRINT_STYLEA(0, 'ItemType', 1); // 0代表文件 + LODOP.ADD_PRINT_HTM(105, 0, '100%', '100%', str1); + var table_top = 242; + var table_height = '70%'; + var fy_top = -150; + + if (pageName === '生产用料清单' || pageName === '委外用料清单') { + var head1 = document.getElementById('head1').scrollHeight; + var head2 = document.getElementById('head2').scrollHeight; + if (head1 >= 55 && head2 >= 55) { + table_top = 295; + table_height = '67%'; + fy_top = -210; + } + if ((head2 == 38 && head1 == 55) || (head2 == 55 && head1 == 38)) { + table_top = 270; + table_height = '69%'; + fy_top = -186; + } + if (head1 == 38 && head2 == 38) { + table_top = 248; + table_height = '70%'; + fy_top = -164; + } + if ((head2 == 38 && head1 == 19) || (head2 == 19 && head1 == 38)) { + table_top = 232; + table_height = '70%'; + fy_top = -148; + } + if (head1 == 19 && head2 == 19) { + table_top = 215; + table_height = '74%'; + fy_top = -131; + } + if ((head1 == 19 && head2 == 55) || (head2 == 55 && head1 == 19)) { + table_top = 258; + table_height = '69%'; + fy_top = -174; + } + } + + if (list[i].length > 24) { + LODOP.ADD_PRINT_TABLE( + table_top, + 0, + '100%', + table_height, + document.getElementById('div2' + i).innerHTML + ); + LODOP.NewPage(); + } else { + LODOP.ADD_PRINT_TABLE( + table_top, + 0, + '100%', + table_height, + document.getElementById('div2' + i).innerHTML + ); + } + + LODOP.SET_PRINT_STYLEA(0, 'Offset2Top', fy_top); //设置次页偏移把区域向上扩 + LODOP.ADD_PRINT_HTM(40, 0, '100%', '100%', str2); + LODOP.SET_PRINT_STYLEA(0, 'LinkedItem', -1); + LODOP.ADD_PRINT_HTM( + '98%', + '48%', + '100%', + '2%', + `第##页/共##页` + ); + + LODOP.SET_PRINT_STYLEA(0, 'ItemType', 1); + } + LODOP.PREVIEW(); //打印预览 +}; +//ljm打印 +export const newprintPreview = function (pageName) { + LODOP = getLodop(); + + var companyTilte = + '' + + document.getElementById('companyTilte').innerHTML + + ''; + var str1 = + '' + document.getElementById('headhtml').innerHTML + ''; + var str2 = + '' + document.getElementById('foothtml').innerHTML + ''; + LODOP.PRINT_INIT('订单'); //打印初始化 + LODOP.ADD_PRINT_HTM(10, 0, '100%', '100%', companyTilte); + LODOP.SET_PRINT_STYLEA(0, 'ItemType', 1); + LODOP.ADD_PRINT_HTM(105, 0, '100%', '100%', str1); + var table_top = 242; + var table_height = '70%'; + var fy_top = -150; + if (pageName === '生产用料清单' || pageName === '委外用料清单') { + var head1 = document.getElementById('head1').scrollHeight; + var head2 = document.getElementById('head2').scrollHeight; + if (head1 >= 55 && head2 >= 55) { + table_top = 295; + table_height = '67%'; + fy_top = -210; + } + if ((head2 == 38 && head1 == 55) || (head2 == 55 && head1 == 38)) { + table_top = 270; + table_height = '69%'; + fy_top = -186; + } + if (head1 == 38 && head2 == 38) { + table_top = 248; + table_height = '70%'; + fy_top = -164; + } + if ((head2 == 38 && head1 == 19) || (head2 == 19 && head1 == 38)) { + table_top = 232; + table_height = '70%'; + fy_top = -148; + } + if (head1 == 19 && head2 == 19) { + table_top = 215; + table_height = '74%'; + fy_top = -131; + } + if ((head1 == 19 && head2 == 55) || (head2 == 55 && head1 == 19)) { + table_top = 258; + table_height = '69%'; + fy_top = -174; + } + } + if ( + pageName === '采购订单管理' || + pageName === '销售出库单' || + pageName === '发货通知单' + ) { + table_top = 160; + table_height = '70%'; + fy_top = -76; + } + if ( + pageName === '其他出库单' || + pageName === '委外领料单' || + pageName === '委外补料单' || + pageName === '委外退料单' + ) { + table_top = 140; + table_height = '75%'; + fy_top = -56; + } + if (pageName === '备料订单' || pageName === '送货单') { + table_top = 160; + table_height = '75%'; + fy_top = -76; + } + if ( + pageName === '生产入库单' || + pageName === '生产领料单' || + pageName === '生产补料单' || + pageName === '生产退料单' + ) { + table_top = 84; + table_height = '82%'; + fy_top = 0; + } + LODOP.ADD_PRINT_TABLE( + table_top, + 0, + '100%', + table_height, + document.getElementById('div2').innerHTML + ); + LODOP.SET_PRINT_STYLEA(0, 'Offset2Top', fy_top); //设置次页偏移把区域向上扩 + LODOP.ADD_PRINT_HTM(40, 0, '100%', '100%', str2); + LODOP.SET_PRINT_STYLEA(0, 'LinkedItem', -1); + LODOP.ADD_PRINT_HTM( + '98%', + '48%', + '100%', + '2%', + "第##页/共##页" + ); + LODOP.SET_PRINT_STYLEA(0, 'ItemType', 1); + LODOP.PREVIEW(); //打印预览 +}; + +// jx 仓库 客户仓库 +export const splitJointList = function ( + historyDataList, + requestDataList, + key, + single, + other +) { + let tempList = []; + if ( + key === 'stockList' || + key === 'outStockList' || + key === 'inStockList' + ) { + if (single) { + let contact = false; + if (historyDataList[key] && historyDataList[key].length > 0) { + requestDataList.filter((it) => { + if (it.id === historyDataList[key][0].id) { + contact = true; + } + }); + } + if (!contact) { + if (tempList.length === 0) { + if (historyDataList[key]) { + tempList.push(historyDataList[key][0]); + } + } + tempList.forEach((element) => { + if (element.id !== historyDataList[key][0].id) { + tempList.push(historyDataList[key][0]); + } + }); + historyDataList.isCusHouse = true; + } + } else { + historyDataList.forEach((el) => { + let contact = false; + if (el[key] && el[key].length > 0) { + requestDataList.filter((it) => { + if (it.id === el[key][0].id) { + contact = true; + } + }); + } + if (!contact) { + if (tempList.length === 0) { + if (el[key]) { + tempList.push(el[key][0]); + } + } + tempList.forEach((element) => { + if (element && element.id !== el[key][0].id) { + tempList.push(el[key][0]); + } + }); + el.isCusHouse = true; + } + }); + } + return requestDataList.concat(tempList); + } else if ( + key === 'customerStockList' || + key === 'inCustomerStockList' || + key === 'outCustomerStockList' + ) { + if (single) { + if (historyDataList[key]) { + let contact = false; + if (historyDataList[key] && historyDataList[key] > 0) { + requestDataList.filter((it) => { + if (it.id === historyDataList[key][0].id) { + contact = true; + } + }); + } + if (!contact) { + if (tempList.length === 0) { + if (historyDataList[key]) { + tempList.push(historyDataList[key][0]); + } + } + tempList.forEach((element) => { + if (element.id !== historyDataList[key][0].id) { + tempList.push(historyDataList[key][0]); + } + }); + } + } + let ifTempList = requestDataList.filter( + (it) => it.id == tempList[0].id + ); + if (ifTempList.length > 0) { + return requestDataList; + } else { + return requestDataList.concat(tempList); + } + } else { + if (other) { + if (historyDataList[key]) { + historyDataList.forEach((el) => { + let contact = false; + if (el[key] && el[key].length > 0) { + requestDataList.filter((it) => { + if (it.id === el[key][0].id) { + contact = true; + } + }); + } + if (!contact) { + if (tempList.length === 0) { + if (el[key]) { + tempList.push(el[key][0]); + } + } + tempList.forEach((element) => { + if (element.id !== el[key][0].id) { + tempList.push(el[key][0]); + } + }); + el.isCusHouse = true; + } + }); + return requestDataList.concat(tempList); + } else { + return requestDataList; + } + } else { + if (historyDataList[key]) { + historyDataList.forEach((el, ind) => { + if (el[key] && el[key].length > 0) { + let contact = false; + if (requestDataList[ind]) { + requestDataList[ind].filter((it) => { + if (it.id === el[key][0].id) { + contact = true; + } + }); + if (!contact) { + if (!tempList[ind]) { + tempList[ind] = []; + } + if (tempList[ind].length === 0) { + tempList[ind].push(el[key][0]); + } else { + tempList[ind].forEach((element) => { + if (element.id !== el[key][0].id) { + tempList[ind].push(el[key][0]); + } + }); + } + if (tempList[ind] !== undefined) { + requestDataList[ind] = requestDataList[ + ind + ].concat(tempList[ind]); + } + } + } + } + }); + return requestDataList; + } else { + return requestDataList; + } + } + } + } +}; +//ljm仓库和旧仓库 + 数据去重 +export const oldstocklist = function (data, type) { + if (!type) { + // 整合仓库和客户仓库旧数据集合data是明细数据 + let customerStockList = []; + let stockList = []; + if (data && data.length > 0) { + data.forEach((it) => { + if (it) { + if ( + it.customerStockList && + it.customerStockList.length > 0 + ) { + customerStockList = customerStockList.concat( + it.customerStockList + ); + } + if (it.stockList && it.stockList.length > 0) { + stockList = stockList.concat(it.stockList); + } + } + }); + } + return { + customerStockList: customerStockList, + stockList: stockList, + }; + } else { + // 数据去重 data是去重的数字对象 + let obj = {}; + data = data.reduce((newArr, next) => { + obj[next.id] ? '' : (obj[next.id] = true && newArr.push(next)); + return newArr; + }, []); + return data; + } +}; +//ljm 输入框,仅限数字输入,小数点后最多6位,小数点前最多8位 +export const inputEnter = function (inputValue, empty) { + inputValue = inputValue.replace(/[^\d.]/g, ''); // 清除"数字"和"."以外的字符 只能输入数字和小数点 + inputValue = inputValue.replace(/\.{2,}/g, '.'); // 不能连续输入两个及以上小数点 + inputValue = inputValue + .replace('.', '$#$') + .replace(/\./g, '') + .replace('$#$', '.'); // 只保留第一个".", 清除多余的"." + inputValue = inputValue.replace(/^(-)*(\d+)\.(\d\d\d\d\d\d).*$/, '$1$2.$3'); // 只能输入六位小数 + if (inputValue && inputValue.indexOf('.') < 0 && inputValue != '') { + inputValue = parseFloat(inputValue); + inputValue = inputValue + ''; + inputValue = inputValue.slice(0, 8); + } // 如果没有小数点,首位不能为类似于 01、02的值 + // 输入过程中,只能输入六位小数且六位小数都为零,则清空小数点和后面的六个零(如果输入完成了只输入四个零,则在blur事件中处理) + if ( + inputValue.indexOf('.') > 0 && + inputValue.length - inputValue.indexOf('.') > 6 + ) { + let str = inputValue.slice(inputValue.indexOf('.'), inputValue.length); + if (str / 1 <= 0) { + inputValue = inputValue.replace(str, ''); + } + } + if (inputValue.length > 15) { + ElMessage.error( + '仅限数字输入,小数点后最多6位,小数点前最多8位,请重新输入' + ); + return empty ? '' : 0; + } else { + return inputValue; + } +}; + +export const inputBlur = function (inputValue) { + // 若小数点后面全是零,则清楚小数点和后面的零 + if (inputValue.indexOf('.') > 0) { + let str = inputValue.slice(inputValue.indexOf('.'), inputValue.length); + if (str / 1 <= 0) { + inputValue = inputValue.replace(str, ''); + } + } +}; diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..5d4575f --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,234 @@ +import axios from 'axios'; +import router from '@/router'; +import store from '../store'; +import { ElLoading, ElMessage } from 'element-plus'; +import { setNotLoggedIn } from '@/utils/auth'; +export default class Request { + http; + isMock = false; + isJWT = true; + isLoginIn = false; + // loadingInstance + loading = true; + constructor() { + // let token = localStorage.getItem('userToken') + this.http = axios.create({ + baseURL: + import.meta.env.VITE_APP_API_BASEURL + + import.meta.env.VITE_APP_API_VERSION + + '/', + timeout: 30000, + withCredentials: true, + }); + + this.interceptors(); + } + + mock(mock) { + this.isMock = mock; + return this; + } + + JWT(isJwt) { + this.isJWT = isJwt; + // this.http.defaults.headers.common['isJWT'] = true; + return this; + } + + LoginIn() { + this.http.defaults.headers.common['LoginIn'] = 'LoginIn'; + return this; + } + + showLoading(show) { + this.loading = show; + return this; + } + + post(path, params) { + let config = {}; + if (this.isMock) + config = { baseURL: import.meta.env.VITE_APP_API_MOCK }; + return new Promise((resolve, reject) => { + this.http + .post(path, params, config) + .then((r) => { + resolve(r); + }) + .catch((e) => { + reject(e.message); + }); + }); + } + + get(path, params) { + const data = { + params: params, + }; + if (this.isMock) data.baseURL = import.meta.env.VITE_APP_API_MOCK; + return new Promise((resolve, reject) => { + this.http + .get(path, data) + .then((r) => { + resolve(r); + }) + .catch((e) => { + reject(e.message); + }); + }); + } + + put(path, params) { + let config = {}; + if (this.isMock) + config = { baseURL: import.meta.env.VITE_APP_API_MOCK }; + return new Promise((resolve, reject) => { + this.http + .put(path, params, config) + .then((r) => { + resolve(r); + }) + .catch((e) => { + reject(e.message); + }); + }); + } + + delete(path) { + let config = {}; + if (this.isMock) + config = { baseURL: import.meta.env.VITE_APP_API_MOCK }; + return new Promise((resolve, reject) => { + this.http + .delete(path, config) + .then((r) => { + resolve(r); + }) + .catch((e) => { + reject(e.message); + }); + }); + } + + interceptors() { + this.http.defaults.headers.post['Content-Type'] = + 'application/x-www-form-urlencoded;charset=utf-8'; + // 添加请求拦截器 + this.http.interceptors.request.use( + (config) => { + let url = ''; + const NO_C_API = ['Login/code']; + if (!NO_C_API.includes(config.url)) { + let companyId = localStorage.getItem('companyId') || ''; + url = companyId + ? config.url + `?c=${companyId}` + : config.url; + config.url = url; + } + + var token = localStorage.getItem('userToken'); + config.headers.Authorization = token; + // 显示loading + // if (this.loading) { + // this.loadingInstance = ElLoading.service({ + // fullscreen: true + // }) + // } + return config; + }, + (error) => { + // 请求错误 + // console.log('请求错误',error) + return Promise.reject(error); + } + ); + // 添加响应拦截器 + this.http.interceptors.response.use( + (response) => { + // 关闭loading + // if (this.loading) this.loadingInstance.close() + if (response.status === 200) { + if ( + response.data.status !== 200 && + response.data.status !== 99999 + ) { + if (response.data.message) { + ElMessage.error({ + message: response.data.message, + showClose: true, + }); + } + } + if (response.data.status === 40003) { + setNotLoggedIn(); // 设置未登录 + router.replace('/login'); + } + return response.data; + } + }, + (error) => { + const status = error.response ? error.response.status : null; + // 关闭loading + // setTimeout(() => { + // if (this.loading) this.loadingInstance.close() + // }, 2000) + // 响应错误 + if (status === 500) { + console.log('inner --> 500'); + ElMessage.error({ + message: + '服务器错误,不能执行此请求,请稍后重试,若问题一直存在,请与站点管理员联系', + showClose: true, + }); + } + if (status === 504) { + console.log('inner --> 504'); + ElMessage.error({ + message: + '服务器暂无响应,请稍后重试,若问题一直存在,请与站点管理员联系', + showClose: true, + }); + } + if (status === 403) { + ElMessage.error({ + message: + '拒绝用户证书试图访问此web站点,请与站点管理员联系以建立用户证书权限', + showClose: true, + }); + } + if (status == 401) { + if (store.state.storeData.lock) { + ElMessage.error({ + message: '授权失败,请重新登录', + showClose: true, + }); + } + store.state.storeData.lock = false; + setNotLoggedIn(); // 设置未登录 + router.replace('/login'); + } + // console.log('lock ---> ',store.state.storeData.lock) + if (store.state.storeData.lock) { + if (status === 401 || status === 2001) { + if (store.state.storeData.lock) { + ElMessage.error({ + message: '授权失败,请重新登录', + showClose: true, + }); + } + store.state.storeData.lock = false; + setNotLoggedIn(); // 设置未登录 + router.replace('/login'); + } + } + if (status === 502 || error.response == undefined) { + ElMessage.error({ + message: '网关出错,请与站点管理员联系', + showClose: true, + }); + } + return Promise.reject(error); + } + ); + } +} diff --git a/src/utils/takeMethods.js b/src/utils/takeMethods.js new file mode 100644 index 0000000..a0963ff --- /dev/null +++ b/src/utils/takeMethods.js @@ -0,0 +1,2111 @@ +import Clipboard from 'clipboard'; +import { ElMessage } from 'element-plus'; +import { Decimal } from 'decimal.js'; + +/** + * jx 模块共用方法 + */ +// jx 6.25 全局订单号 规则 - 限制 +const orderRexgu = (val) => { + if (val) { + return val.toString().replace(/[^A-Za-z0-9\\-]/g, ''); + } else { + return ''; + } +}; + +// jx 6.25 订单号 复制按钮 +const orderCopy = () => { + var clipboard = new Clipboard('.copyBtn'); + clipboard.on('success', () => { + ElMessage.success({ message: '复制成功', showClose: true }); + clipboard.destroy(); + }); + clipboard.on('error', () => { + ElMessage.error({ message: '复制失败', showClose: true }); + clipboard.destroy(); + }); +}; + +// jx 7.8 时间 年 - 月 - 日 +const getNowTimeGlobal = () => { + let date = new Date(); + let year = date.getFullYear(); + let month = + date.getMonth() + 1 < 10 + ? '0' + (date.getMonth() + 1) + : date.getMonth() + 1; + let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); + return year + '-' + month + '-' + day; +}; + +// jx 7.12 含税单价精度 输入限制 +const pricePrecisionNumberCom = ( + baseInfoForm, + salePrecisionNumber, + isPrecision, + index, + key, + val +) => { + if (isPrecision[index]) { + if (val.toString().indexOf('.') !== -1) { + baseInfoForm.details[index][key] = Decimal(val).toFixed( + 0, + Decimal.ROUND_DOWN + ); + } + return baseInfoForm.details[index][key].toString().replace(/\D/g, ''); + } else { + let numD = ''; + let count = '\\d'; + for (let ind = 0; ind < salePrecisionNumber[index]; ind++) { + numD = numD + count; + } + let reg = '/^(-)*(\\d+)\\.(' + numD + ').*$/'; + return baseInfoForm.details[index][key] + .toString() + .replace(/[^\d^\\.]+/g, '') + .replace('.', '$#$') + .replace(/\./g, '') + .replace('$#$', '.') + .replace(eval(reg), '$1$2.$3'); + } +}; + +// jx 7.12 数量精度 输入限制 +const numberPrecisionCom = (unitpriceAccuracy, value) => { + let numD = ''; + let count = '\\d'; + for (let index = 0; index < unitpriceAccuracy; index++) { + numD = numD + count; + } + let reg = '/^(-)*(\\d+)\\.(' + numD + ').*$/'; + if (value) { + if (unitpriceAccuracy === 0) { + return Number(value).toFixed(0); + } else { + return value + .toString() + .replace(/[^\d.]/g, '') + .replace(/\.{2,}/g, '.') + .replace(/^\./g, '') + .replace('.', '$#$') + .replace(/\./g, '') + .replace('$#$', '.') + .replace(eval(reg), '$1$2.$3'); + } + } +}; + +// jx 6.25 折扣率 规则 - 限制 +const disRateRexgu = (val) => { + if (val > 100) { + return 100; + } else { + if (val) { + return val + .toString() + .replace(/[^\d^\\.]+/g, '') + .replace('.', '$#$') + .replace(/\./g, '') + .replace('$#$', '.') + .replace(/^(\\-)*(\d+)\.(\d\d\d\d).*$/, '$1$2.$3'); + } else { + return ''; + } + } +}; + +// jx 8.17 枚举获取name +const getObjectName = (obj, val) => { + let name = ''; + for (const key in obj) { + if (key == val) { + name = obj[key]; + } + } + return name; +}; + +// jx 8.19 array获取name +const getArrayName = (arr, val) => { + let name = ''; + let tempName = []; + if (arr) { + tempName = arr.filter((it) => it.id === val); + } + if (tempName.length > 0) { + name = tempName[0].name; + } + return name; +}; + +// jx 8.25 211 半成品获取name +const getArrayName211 = (arr, val) => { + let name = ''; + let tempName = []; + if (arr) { + tempName = arr.filter((it) => it.name === val); + } + if (tempName.length > 0) { + name = tempName[0].name; + } + return name; +}; + +// jx 10.10 保存\提交 排除物料\SKU为空的数据 +const filterMaterialData = (baseInfoForm) => { + let tempArr = []; + tempArr = baseInfoForm.details.filter((it) => { + if (it.materialId) { + return it; + } + }); + baseInfoForm.details = tempArr; + return; +}; + +// jx 10.12 处理 其它模块 添加行 +const bottomAddRow = (data, addRow) => { + let lastIndex = data.length; + data.splice(lastIndex, 0, addRow); + return data; +}; + +// jx 11.28 前8后6 +// 验证输入百分比是数字,0,或者小数,首位不允许多个0 +const numberRexgu = (value) => { + if (value) { + if (value.toString().indexOf('.') != -1) { + let value_after = parseInt( + value.toString().substring(0, value.indexOf('.')) + ); + let value_before = value.replace(/\d+\.(\d*)/, '$1'); + if (value_after.toString().length > 8) { + let newValue = + value_after.toString().substring(0, 8) + '.' + value_before; + return (newValue.toString().match(/\d{1,8}(\.\d{0,6})?/) || [ + '', + ])[0]; + } else { + return (value.toString().match(/\d{1,8}(\.\d{0,6})?/) || [ + '', + ])[0]; + } + } + return (value.toString().match(/\d{1,8}(\.\d{0,6})?/) || [''])[0]; + } else { + return ''; + } +}; + +/** + * 销售订单 -- 页面方法 + */ +// jx 6.25 销售 添加行 addRow +const addRowCom = (details, name) => { + let addRow = {}; + let keys = Object.keys(details[0]); + for (const key in details[0]) { + if (keys.indexOf(key) > -1) { + addRow[key] = details[0][key]; + addRow.id = 0; + addRow.fid = 0; + addRow.purchaseNumber = 0; + } + } + addRow.isMaterialShow = false; + addRow.isSkuShow = false; + addRow.isSaleShow = false; + addRow.isTaxPrice = false; + addRow.isTaxRate = false; + addRow.isWareHouse = false; + addRow.isCustomerStock = false; + addRow.isOrderreMarks = false; + addRow.isDeliveryDate = false; + addRow.isDiscountRate = false; + addRow.isSettleOrgName = false; + addRow.isOnlineOrderNo = false; + addRow.isBarCode = false; + return addRow; +}; + +// jx 6.25 销售 含税单价 规则 - 限制 +const taxPriceNumberRexgu = (val, unitpriceAccuracy) => { + let numD = ''; + let count = '\\d'; + for (let index = 0; index < unitpriceAccuracy; index++) { + numD = numD + count; + } + let reg = '/^(-)*(\\d+)\\.(' + numD + ').*$/'; + if (val) { + if (unitpriceAccuracy === 0) { + return Number(val).toFixed(0); + } else { + return val + .toString() + .replace(/[^\d^\\.]+/g, '') + .replace('.', '$#$') + .replace(/\./g, '') + .replace('$#$', '.') + .replace(eval(reg), '$1$2.$3'); + } + } else { + return ''; + } +}; + +// jx 6.27 销售 上下查订单类型 +const searchOrder = (val) => { + let pathName = ''; + if (val === 1) { + // "生产订单" + return (pathName = 'ProductOrder'); + } + if (val === 2) { + // "采购订单" + return (pathName = 'DemandOrder'); + } + if (val === 3) { + // "委外订单" + return (pathName = 'OutsourcOrder'); + } + if (val === 5) { + // "发货通知单" + return (pathName = 'WarehouseSalesDeliveryNorice'); + } + if (val === 6) { + // "销售退货单" + return (pathName = 'SaleReturnOrder'); + } + if (val === 10) { + // "组织间需求单" + return (pathName = 'OrgNeeds'); + } +}; + +// jx 6.27 销售 下推确定 +const pushDownSure = (val) => { + let result = { + pathName: '', + routerName: '', + }; + if (val === '1') { + // "生产订单" + result.pathName = 'SalOrder/PushDownProduceOrder'; + result.routerName = 'ProductOrderCreate'; + } + if (val === '2') { + // "采购订单" + result.pathName = 'SalOrder/PushDownPurchaseOrder'; + result.routerName = 'CreatePurchase'; + } + if (val === '3') { + // "委外订单" + result.pathName = 'SalOrder/PushDownOutSourc'; + result.routerName = 'AddOutSourcOrder'; + } + if (val === '5') { + // "发货通知单" + result.pathName = 'SalOrder/PushDownDeliveryNoticeOrder'; + result.routerName = 'SaleDeliveryAddnotice'; + } + if (val === '6') { + // "销售退货单" + result.pathName = 'SalOrder/PushDownReturnStockOrder'; + result.routerName = 'CreateRuturnOrder'; + } + if (val === '10') { + // "组织间需求单" + result.pathName = 'SalOrder/PushDownOrganizationOrder'; + result.routerName = 'CreateOrgNeeds'; + } + return result; +}; + +// jx 6.27 销售 物料编码、规格型号携带的参数 --> 针对详情输入 + 批量填充 + 单元格点击 +const materSpecCarry = (details, element, customerInfo) => { + details.materialId = element.id; + details.specificationId = element.id; + details.matterName = element.name; + details.unitId = element.baseUnitId; + details.unitName = element.baseUnitName; + details.materialNumber = element.number; + details.specification = element.specifications; + details.paezOrgName = element.paezOrgName; + details.defaultSupplierName = element.defaultSupplierName; + details.defaultSupplierTaxRate = element.defaultSupplierTaxRate; + details.is211 = element.is211 ? element.is211 : false; + details.supplyChainName = element.supplyChain; + details.supplyChain = element.supplyChainKey; + details.lifeCycle = element.lifeCycleKey; + details.lifeCycleName = element.lifeCycle; + details.supplyOriginId = element.paezOrgId; + details.defaultSupplier = element.defaultSupplierId; + element.taxRateId + ? (details.taxRate = element.taxRateNmae) + : customerInfo && customerInfo.length > 0 + ? (details.taxRate = customerInfo[0].defaultRate) + : (details.taxRate = 0); + return details; +}; + +// jx 6.27 物料编码、规格型号携带的数据 --> 输入框 模糊匹配 +const materSpecSearh = (baseInfoForm, ind, el, details) => { + baseInfoForm.details[ind].materialId = el.id; + baseInfoForm.details[ind].specificationId = el.id; + baseInfoForm.details[ind].matterName = el.name; + baseInfoForm.details[ind].unitId = el.baseUnitId; + baseInfoForm.details[ind].paezOrgName = el.paezOrgName; + if (!details) { + baseInfoForm.details[ind].defaultSupplierName = el.defaultSupplierName; + baseInfoForm.details[ind].defaultSupplierTaxRate = + el.defaultSupplierTaxRate; + } + baseInfoForm.details[ind].is211 = el.is211 ? el.is211 : false; + baseInfoForm.details[ind].supplyChainName = el.supplyChain; + baseInfoForm.details[ind].supplyChain = el.supplyChainKey; + baseInfoForm.details[ind].lifeCycle = el.lifeCycleKey; + baseInfoForm.details[ind].lifeCycleName = el.lifeCycle; + baseInfoForm.details[ind].supplyOriginId = el.paezOrgId; + baseInfoForm.details[ind].defaultSupplier = el.defaultSupplierId; + return baseInfoForm; +}; + +// jx 10.9 明细信息 添加行 +const insertRow = ( + data, + baseInfoForm, + customeStockArrylist, + matterallCodelist, + specificationalllist, + addRow +) => { + const index = baseInfoForm.details.length; + baseInfoForm.details.splice(index, 0, JSON.parse(JSON.stringify(addRow))); + customeStockArrylist.splice(index, 0, []); + matterallCodelist.splice(index, 0, []); + specificationalllist.splice(index, 0, []); + for (const key in baseInfoForm.details[index]) { + baseInfoForm.details[index][key] = ''; + } + baseInfoForm.details[index].id = 0; + baseInfoForm.details[index].fid = 0; + baseInfoForm.details[index].isFree = false; + baseInfoForm.details[index].isDisabled = false; + baseInfoForm.details[index].isCusHouse = true; + baseInfoForm.details[index].isHouse = false; + if (baseInfoForm.saleorgId) { + baseInfoForm.details[index].settleOrg = baseInfoForm.saleorgId; + baseInfoForm.details[index].settleOrgName = baseInfoForm.saleorgName; + baseInfoForm.details[index].purchaseNumber = 0; + } + return { + data, + baseInfoForm, + customeStockArrylist, + matterallCodelist, + specificationalllist, + }; +}; + +// // jx 6.27 销售 向上、向下插入行 +// const insertRow = (data,baseInfoForm,index,customeStockArrylist,matterallCodelist,specificationalllist,addRow) => { +// if (data.insertTopVal != 0 && data.insertTopVal != '') { +// for (let i = 0; i < data.insertTopVal; i++) { +// baseInfoForm.details.splice(index, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylist.splice(index, 0, []) +// matterallCodelist.splice(index, 0, []) +// specificationalllist.splice(index, 0, []) +// for (const key in baseInfoForm.details[index]) { +// baseInfoForm.details[index][key] = '' +// } +// baseInfoForm.details[index].id = 0 +// baseInfoForm.details[index].fid = 0 +// baseInfoForm.details[index].isFree = false +// baseInfoForm.details[index].isDisabled = false +// baseInfoForm.details[index].isCusHouse = true +// baseInfoForm.details[index].isHouse = false +// if (baseInfoForm.saleorgId) { +// baseInfoForm.details[index].settleOrg = baseInfoForm.saleorgId +// baseInfoForm.details[index].settleOrgName = baseInfoForm.saleorgName +// baseInfoForm.details[index].purchaseNumber = 0 +// } +// index = parseInt(index) + 1 +// } +// } +// if (data.insertBottomVal != 0 && data.insertBottomVal != '') { +// for (let i = 0; i < data.insertBottomVal; i++) { +// index = parseInt(index) + 1 +// baseInfoForm.details.splice(index, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylist.splice(index, 0, []) +// matterallCodelist.splice(index, 0, []) +// specificationalllist.splice(index, 0, []) +// for (const key in baseInfoForm.details[index]) { +// baseInfoForm.details[index][key] = '' +// } +// baseInfoForm.details[index].id = 0 +// baseInfoForm.details[index].fid = 0 +// baseInfoForm.details[index].isFree = false +// baseInfoForm.details[index].isDisabled = false +// baseInfoForm.details[index].isCusHouse = true +// baseInfoForm.details[index].isHouse = false +// if (baseInfoForm.saleorgId) { +// baseInfoForm.details[index].settleOrg = baseInfoForm.saleorgId +// baseInfoForm.details[index].settleOrgName = baseInfoForm.saleorgName +// baseInfoForm.details[index].purchaseNumber = 0 +// } +// } +// index = index - data.insertBottomVal // 回朔 +// } +// return {data,baseInfoForm,index,customeStockArrylist,matterallCodelist,specificationalllist} +// } + +// jx 6.27 销售订单 处理 保存、提交、审核 操作记录里面的日期 +const saveSubmitBackData = (baseInfoForm, req) => { + baseInfoForm.createDate = req.data.createDate; + baseInfoForm.creatorName = req.data.creatorName; + baseInfoForm.approveDate = req.data.approveDate; + baseInfoForm.approverName = req.data.approverName; + baseInfoForm.commitDate = req.data.commitDate; + baseInfoForm.modifyDate = req.data.modifyDate; + baseInfoForm.modifierName = req.data.modifierName; + return baseInfoForm; +}; + +// jx 6.27 销售订单 切换组织 清空相应数据 +const changeCustomerClearData = (baseInfoForm, statusForm, addRow) => { + baseInfoForm.custId = ''; // 清空客户 + baseInfoForm.saleDeptId = ''; // 清空部门 + // statusForm.followPersons = [] + // statusForm.salePerson = [] + baseInfoForm.salerId = ''; // 清空销售员 + baseInfoForm.salesManId = ''; // 清空跟单员 + baseInfoForm.recconditionId = ''; // 收款条件 + baseInfoForm.settlemodeId = ''; // 结算方式 + baseInfoForm.settlecurrId = ''; // 结算币别 + baseInfoForm.exchangeRate = ''; // 汇率 + baseInfoForm.logistics = ''; // 物流 + baseInfoForm.logisticsNo = ''; // 物流单号 + baseInfoForm.linkMan = ''; // 联系人 + baseInfoForm.linkPhone = ''; // 联系电话 + baseInfoForm.linkAdress = ''; // 客户地址 + baseInfoForm.taxaMount = ''; + baseInfoForm.billtypeId = ''; // 单据类型 + baseInfoForm.amount = ''; + baseInfoForm.allAmount = ''; + baseInfoForm.exchangeTypeId = ''; + baseInfoForm.details = [addRow]; // 清空物料 + for (const key in baseInfoForm.details[0]) { + baseInfoForm.details[0][key] = ''; + baseInfoForm.details[0].id = 0; + baseInfoForm.details[0].fid = 0; + baseInfoForm.details[0].isFree = false; + baseInfoForm.details[0].isDisabled = false; + baseInfoForm.details[0].isHouse = false; + baseInfoForm.details[0].isCusHouse = true; + } + baseInfoForm.details.forEach((element) => { + element.settleOrg = baseInfoForm.saleorgId; + element.settleOrgName = baseInfoForm.saleorgName; + element.customerStock = ''; + }); + return { baseInfoForm, statusForm }; +}; + +//jx 6.27 销售订单克隆 - 单据头需要清空的数据 +const orderCopyClearHeaderData = (baseInfoForm) => { + baseInfoForm.billNo = ''; + baseInfoForm.documentStatus = 'a'; + baseInfoForm.createDate = ''; + baseInfoForm.creatorName = ''; + baseInfoForm.approveDate = ''; + baseInfoForm.approverName = ''; + baseInfoForm.commitDate = ''; + baseInfoForm.modifyDate = ''; + baseInfoForm.modifierName = ''; + baseInfoForm.id = 0; + baseInfoForm.detailsIds = []; + baseInfoForm.isPushDown = false; + return baseInfoForm; +}; + +// jx 6.27 销售订单克隆 - 表格明细需要清空的数据 +const orderCopyClearInfoData = (element) => { + element.id = 0; + element.pid = 0; + element.parentOrderId = ''; + element.parentOrderType = ''; + element.parentOrderBillNo = ''; + element.parentOrderNumber = ''; + element.purchaseNumber = ''; + // element.unitName = '' + element.pushDownSaleorgId = ''; + element.salesNumber = + element.salesNumber == null ? '' : element.salesNumber; + element.taxPrice = element.taxPrice == null ? '' : element.taxPrice; + return element; +}; + +// jx 6.27 销售订单 - 客户改变时携带出来的数据 +const customerChangeCarryData = (baseInfoForm, customerInfo) => { + baseInfoForm.linkMan = + customerInfo[0].linkMan == null ? '' : customerInfo[0].linkMan; // 联系人 + baseInfoForm.linkPhone = + customerInfo[0].linkphone == null ? '' : customerInfo[0].linkphone; // 联系电话 + baseInfoForm.linkAdress = + customerInfo[0].address == null ? '' : customerInfo[0].address; // 客户地址 + baseInfoForm.recconditionId = + customerInfo[0].reccondition == null || + customerInfo[0].reccondition == 0 + ? '' + : customerInfo[0].reccondition; // 收款条件 + baseInfoForm.settlemodeId = + customerInfo[0].settlemode == null || customerInfo[0].settlemode == 0 + ? '' + : customerInfo[0].settlemode; // 结算方式 + baseInfoForm.settlecurrId = + customerInfo[0].settlecurr == null || customerInfo[0].settlecurr == 0 + ? '' + : customerInfo[0].settlecurr; // 结算币别 + baseInfoForm.saleDeptId = + customerInfo[0].sellDept == null ? '' : customerInfo[0].sellDept; // 销售部门 + baseInfoForm.salerId = + customerInfo[0].sellPerson == null ? '' : customerInfo[0].sellPerson; // 销售员 + baseInfoForm.salesManId = + customerInfo[0].salesMan == null ? '' : customerInfo[0].salesMan; // 跟单员 + return baseInfoForm; +}; + +// jx 6.28 销售订单 - 新增清空字段 +const clearData = (baseInfoForm) => { + for (const key in baseInfoForm) { + if (key !== 'details') { + key == 'id' ? (baseInfoForm[key] = 0) : (baseInfoForm[key] = ''); + } + if (key === 'details') { + for (const keyB in baseInfoForm[key][0]) { + keyB == 'id' + ? (baseInfoForm[key][0][keyB] = 0) + : keyB == 'detailId' + ? (baseInfoForm[key][0][keyB] = 0) + : keyB == 'deliveryDate' + ? (baseInfoForm[key][0][keyB] = null) + : keyB == 'isFree' + ? (baseInfoForm[key][0][keyB] = false) + : keyB == 'isDisabled' + ? (baseInfoForm[key][0][keyB] = false) + : keyB == 'isCusHouse' + ? (baseInfoForm[key][0][keyB] = true) + : keyB == 'isHouse' + ? (baseInfoForm[key][0][keyB] = false) + : (baseInfoForm[key][0][keyB] = ''); + } + } + } + return baseInfoForm; +}; +/** + * 销售退货单 -- 页面方法 + */ + +// jx 6.29 销售退货单 - 上下查 +const srSearchOrder = (CXcheckVal, upOrDownList) => { + let pathName = ''; + let ary = []; + if (CXcheckVal === 7) { + pathName = 'SaleOrder'; + } + ary = upOrDownList.filter((it) => { + return it.orderType === CXcheckVal; + }); + return { pathName, ary }; +}; + +// jx 6.29 销售退货单 -- 确定下推 +const srSurePushDown = (pushdownVal) => { + let pathName = ''; + let routerName = ''; + if (pushdownVal === '7') { + pathName = 'ReturnStockOrder/PushDownSalOrder'; + routerName = 'SaleOrderCreate'; + } + return { pathName, routerName }; +}; + +// jx 7.1 销售退货单 -- 批量填充 +const srMaterialCarry = (details, el) => { + details.materialId = el.id; + details.materialNumber = el.number; + details.specificationId = el.id; + details.specification = el.specifications; + details.matterName = el.name; + details.unitId = el.baseUnitId; + details.unitName = el.baseUnitName; + details.paezOrgName = el.paezOrgName; + details.defaultSupplierName = el.defaultSupplierName; + details.taxRate = el.taxRateNmae; + details.is211 = el.is211 ? el.is211 : false; + details.supplyChain = el.supplyChain; + details.lifeCycle = el.lifeCycle; + details.supplyOriginId = el.paezOrgId; + details.defaultSupplier = el.defaultSupplierId; + details.taxPrice = '0'; + return details; +}; + +// jx 10.10 销售退货单 -添加行 - row 314 - 554 +const srInsertRow = ( + data, + baseInfoForm, + customeStockArrylist, + matterallCodelist, + specificationalllist, + addRow +) => { + const index = baseInfoForm.details.length; + baseInfoForm.details.splice(index, 0, JSON.parse(JSON.stringify(addRow))); + customeStockArrylist.splice(index, 0, []); + matterallCodelist.splice(index, 0, []); + specificationalllist.splice(index, 0, []); + for (const key in baseInfoForm.details[index]) { + baseInfoForm.details[index][key] = ''; + } + baseInfoForm.details[index].id = 0; + baseInfoForm.details[index].fid = 0; + baseInfoForm.details[index].isFree = false; + baseInfoForm.details[index].isDisabled = false; + baseInfoForm.details[index].isCusHouse = true; + baseInfoForm.details[index].isHouse = false; + return { + data, + baseInfoForm, + customeStockArrylist, + matterallCodelist, + specificationalllist, + }; +}; + +// jx 7.1 销售退货单 -- 插入行 +// const srInsertRow = (data,baseInfoForm,selectRowIndex,customeStockArrylist,matterallCodelist,specificationalllist,addRow) => { +// if (data.insertTopVal != 0 && data.insertTopVal != '') { +// for (let i = 0; i < data.insertTopVal; i++) { +// baseInfoForm.details.splice(selectRowIndex, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylist.splice(selectRowIndex, 0, []) +// matterallCodelist.splice(selectRowIndex, 0, []) +// specificationalllist.splice(selectRowIndex, 0, []) +// for (const key in baseInfoForm.details[selectRowIndex]) { +// baseInfoForm.details[selectRowIndex][key] = '' +// } +// baseInfoForm.details[selectRowIndex].id = 0 +// baseInfoForm.details[selectRowIndex].fid = 0 +// baseInfoForm.details[selectRowIndex].isFree = false +// baseInfoForm.details[selectRowIndex].isDisabled = false +// baseInfoForm.details[selectRowIndex].isCusHouse = true +// baseInfoForm.details[selectRowIndex].isHouse = false +// selectRowIndex = parseInt(selectRowIndex) + 1 +// } +// } +// if (data.insertBottomVal != 0 && data.insertBottomVal != '') { +// for (let i = 0; i < data.insertBottomVal; i++) { +// selectRowIndex = parseInt(selectRowIndex) + 1 +// baseInfoForm.details.splice(selectRowIndex, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylist.splice(selectRowIndex, 0, []) +// matterallCodelist.splice(selectRowIndex, 0, []) +// specificationalllist.splice(selectRowIndex, 0, []) +// for (const key in baseInfoForm.details[selectRowIndex]) { +// baseInfoForm.details[selectRowIndex][key] = '' +// } +// baseInfoForm.details[selectRowIndex].id = 0 +// baseInfoForm.details[selectRowIndex].fid = 0 +// baseInfoForm.details[selectRowIndex].isFree = false +// baseInfoForm.details[selectRowIndex].isDisabled = false +// baseInfoForm.details[selectRowIndex].isCusHouse = true +// baseInfoForm.details[selectRowIndex].isHouse = false +// } +// selectRowIndex = selectRowIndex - data.insertBottomVal // 回朔 +// } +// return {data,baseInfoForm,selectRowIndex,customeStockArrylist,matterallCodelist,specificationalllist} +// } + +// jx 7.1 销售退货单 -- 操作记录 返回日期 +const srSaveSubmitBackData = (baseInfoForm, req) => { + baseInfoForm.createDate = req.data.createDate; + baseInfoForm.creatorName = req.data.creatorName; + baseInfoForm.checkDate = req.data.checkDate; + baseInfoForm.checkName = req.data.checkName; + baseInfoForm.commitDate = req.data.commitDate; + baseInfoForm.modifyDate = req.data.modifyDate; + baseInfoForm.modifyName = req.data.modifyName; + return baseInfoForm; +}; + +// jx 7.1 销售退货单 -- 线上订单号 限制规则 +const onLineOrderRexgu = (value) => { + if (value) { + return value.toString().replace(/[^0-9A-Za-z]/g, ''); + } else { + return ''; + } +}; + +// jx 7.1 销售退货单 -- 详情进入 物料编码 规格型号 携带出来 +const srDetailsMaterSpecSearh = ( + details, + el, + unitData, + isPrecision, + salePrecisionNumber +) => { + details.materialId = el.id; + details.specificationId = el.id; + details.matterName = el.name; + details.materialNumber = el.number; + details.specification = el.specifications; + details.unitId = el.baseUnitId; + details.unitName = el.baseUnitName; + let tempList = unitData.filter((it) => it.id === details.unitId); + tempList[0].precision == 0 ? (isPrecision = true) : (isPrecision = false); + tempList[0].precision == 0 + ? (salePrecisionNumber = 0) + : (salePrecisionNumber = tempList[0].precision); + details.paezOrgName = el.paezOrgName; + details.defaultSupplierName = el.defaultSupplierName; + details.supplyOriginId = el.paezOrgId; + details.defaultSupplier = el.defaultSupplierId; + details.taxRate = el.taxRateNmae; + details.is211 = el.is211 ? el.is211 : false; + details.supplyOriginId = el.paezOrgId; + details.defaultSupplier = el.defaultSupplierId; + return { details, isPrecision, salePrecisionNumber }; +}; + +// 7.1 jx 销售退货单 -- 组织改变清空 客户、部门、销售员、仓管员 +const srOrgChangeClearData = (baseInfoForm, addRow) => { + baseInfoForm.retcustId = ''; + baseInfoForm.settlemodeId = ''; + baseInfoForm.recconditionId = ''; + baseInfoForm.saleParts = []; + baseInfoForm.saleDeptId = ''; + baseInfoForm.salesmanId = ''; + baseInfoForm.stockStaff = ''; + baseInfoForm.returnReason = ''; + baseInfoForm.receiveAddress = ''; + baseInfoForm.details = [addRow]; // 清空物料 + for (const key in baseInfoForm.details[0]) { + baseInfoForm.details[0][key] = ''; + baseInfoForm.details[0].id = 0; + baseInfoForm.details[0].isFree = false; + baseInfoForm.details[0].isDisabled = false; + baseInfoForm.details[0].isCusHouse = true; + } + return baseInfoForm; +}; + +// 7.1 jx 销售退货单 -- 编码 规格 模糊匹配 +const srMaterSpecSearch = (details, el, inner) => { + details.materialId = el.id; + details.specificationId = el.id; + details.matterName = el.name; + details.materialNumber = el.number; + details.specification = el.specifications; + details.unitId = el.baseUnitId; + details.unitName = el.baseUnitName; + details.paezOrgName = el.paezOrgName; + if (inner) { + details.defaultSupplierName = el.defaultSupplierName; + details.defaultSupplierTaxRate = el.defaultSupplierTaxRate; + } + details.supplyOriginId = el.paezOrgId; + details.defaultSupplier = el.defaultSupplierId; + details.taxRateNmae = el.taxRateNmae; + details.is211 = el.is211 ? el.is211 : false; + details.supplyOriginId = el.paezOrgId; + details.defaultSupplier = el.defaultSupplierId; + return details; +}; + +// 7.1 jx 销售退货单 -- 克隆 进入需要清空的数据 +const srCopyInnerClearData = (baseInfoForm, unitpriceAccuracy) => { + baseInfoForm.billNo = ''; + baseInfoForm.documentStatus = 'a'; + baseInfoForm.createDate = ''; + baseInfoForm.creatorName = ''; + baseInfoForm.checkDate = ''; + baseInfoForm.checkName = ''; + baseInfoForm.commitDate = ''; + baseInfoForm.modifyDate = ''; + baseInfoForm.modifyName = ''; + baseInfoForm.id = 0; + baseInfoForm.detailsIds = []; + baseInfoForm.isPushDown = false; + baseInfoForm.details.forEach((element, ind) => { + element.id = 0; + element.fid = 0; + element.parentOrderId = ''; + element.parentOrderType = ''; + element.parentOrderBillNo = ''; + element.parentOrderNumber = ''; + element.pushDownSaleorgId = ''; + element.realQty = element.realQty == null ? '' : element.realQty; + element.taxPrice = element.taxPrice == null ? '' : element.taxPrice; + element.taxPrice = Decimal(element.taxPrice).toFixed(unitpriceAccuracy); + }); + return baseInfoForm; +}; + +/** + * 组织间 -- 页面方法 + */ +// 7.8 jx 新增清空的 +const orgNeedsClearData = (baseInfoForm) => { + for (const key in baseInfoForm) { + key === 'createType' + ? (baseInfoForm[key] = '1') + : key == 'isPushDown' + ? (baseInfoForm[key] = false) + : key == 'id' + ? (baseInfoForm[key] = 0) + : key == 'is211' + ? (baseInfoForm[key] = null) + : (baseInfoForm[key] = ''); + } + return baseInfoForm; +}; +// 7.8 jx 组织间 -- 克隆需要清空的值 +const ndCopyClearData = (baseInfoForm) => { + baseInfoForm.documentStatus = 'a'; + baseInfoForm.createType = '1'; + baseInfoForm.billNo = ''; + baseInfoForm.createDate = ''; + baseInfoForm.creatorName = ''; + baseInfoForm.approveDate = ''; + baseInfoForm.approverName = ''; + baseInfoForm.submitDate = ''; + baseInfoForm.modifyDate = ''; + baseInfoForm.modifierName = ''; + baseInfoForm.closerName = ''; + baseInfoForm.closeDate = ''; + baseInfoForm.id = 0; + baseInfoForm.maxNumber = 0; + baseInfoForm.isPushDown = false; + baseInfoForm.deliveredQty = ''; + baseInfoForm.undeliveredQty = ''; + baseInfoForm.transferQty = ''; + baseInfoForm.untransferQty = ''; + baseInfoForm.parentOrderId = ''; + baseInfoForm.parentOrderType = ''; + baseInfoForm.parentOrderBillNo = ''; + return baseInfoForm; +}; + +// 7.8 jx 组织间 -- 监听客户改变获取请求客户仓库值 +const watchCustomerChange = (baseInfoForm) => { + let isInner = false; + let query = {}; + if ( + baseInfoForm.customerId && + baseInfoForm.customerId != '' && + baseInfoForm.stockId && + baseInfoForm.stockId != '' + ) { + isInner = true; + query.customerId = + baseInfoForm.customerId === null + ? '' + : parseInt(baseInfoForm.customerId); + query.orgId = + baseInfoForm.demandOrgId === null + ? '' + : parseInt(baseInfoForm.demandOrgId); + query.stockId = + baseInfoForm.stockId === null || baseInfoForm.stockId === 0 + ? '' + : parseInt(baseInfoForm.stockId); + } + return { isInner, query }; +}; + +// 7.8 jx 组织间 -- 处理保存提交的返回数据 +const ndSaveSubBackData = (baseInfoForm, req, type) => { + baseInfoForm.createDate = req.data.createDate; + baseInfoForm.creatorName = req.data.creatorName; + baseInfoForm.approveDate = req.data.approveDate; + baseInfoForm.approverName = req.data.approverName; + baseInfoForm.submitDate = req.data.submitDate; + baseInfoForm.modifyDate = req.data.modifyDate; + baseInfoForm.modifierName = req.data.modifierName; + baseInfoForm.closerName = req.data.closerName; + baseInfoForm.closeDate = req.data.closeDate; + if (type) { + baseInfoForm.undeliveredQty = req.data.undeliveredQty; + baseInfoForm.untransferQty = req.data.untransferQty; + } + return baseInfoForm; +}; + +// 7.8 jx 组织间 -- 切换下单组织清空相关数据 +const changeDownOrgClearData = (baseInfoForm, statusForm) => { + baseInfoForm.stockId = ''; + baseInfoForm.customerId = ''; + baseInfoForm.saleDeptId = ''; + baseInfoForm.salespersonId = ''; + baseInfoForm.merchandiserId = ''; + statusForm.stocks = []; + statusForm.saleDept = []; + // statusForm.salePerson = [] + // statusForm.qcPerson = [] + return { baseInfoForm, statusForm }; +}; + +// 7.8 jx 组织间 -- 下单组织切换时需要清空的数据 +const ndIptDownOrgChangeClearData = (baseInfoForm, statusForm) => { + statusForm.custList = []; + baseInfoForm.customerId = ''; + baseInfoForm.materialId = ''; + baseInfoForm.skuId = ''; + baseInfoForm.materialName = ''; + baseInfoForm.unitId = ''; + baseInfoForm.is211 = ''; + baseInfoForm.supplyChain = ''; + return { baseInfoForm, statusForm }; +}; + +// jx 7.8 组织间 上下查订单类型 +const ndSearchOrder = (val) => { + let pathName = ''; + if (val === 1) { + // "生产" + return (pathName = 'ProductOrder'); + } + if (val === 3) { + // "委外" + return (pathName = 'OutsourcOrder'); + } + if (val === 2) { + // "采购" + return (pathName = 'DemandOrder'); + } + if (val === 20) { + // "分步式" + return (pathName = 'WarehouseAllocationkissue'); + } + if (val === 10) { + // "组织间需求" + return (pathName = 'OrgNeeds'); + } + if (val === 7) { + // "销售订单" + return (pathName = 'SaleOrder'); + } +}; + +// jx 7.8 组织间 上下查订单类型 +const ndSurePushDown = (CXcheckVal) => { + let pathName = ''; + let routerName = ''; + if (CXcheckVal === 1) { + // "生产订单" + pathName = 'Organization/push/produce'; + routerName = 'ProductOrderCreate'; + } + if (CXcheckVal === 3) { + // "采购订单" + pathName = 'Organization/push/purchase'; + routerName = 'CreatePurchase'; + } + if (CXcheckVal === 2) { + // "委外订单" + pathName = 'Organization/push/outsource'; + routerName = 'AddOutSourcOrder'; + } + if (CXcheckVal === 4) { + // "组织间需求单" + pathName = 'Organization/push/self/'; + routerName = 'CreateOrgNeeds'; + } + if (CXcheckVal === 5) { + // "分步式调出单" + pathName = 'Organization/push/transferout'; + routerName = 'ActiveIssue'; + } + return { pathName, routerName }; +}; + +// jx 7.8 组织间 物料编码携带出来的值 +const ndSearchMaterSku = (baseInfoForm, el) => { + baseInfoForm.materialId = el.id; // 物料编码 id + baseInfoForm.skuId = el.id; // sku id + baseInfoForm.specification = el.specifications; // sku 名称 + baseInfoForm.materId = el.id; // 编码 id + baseInfoForm.materialNumber = el.number; // 编码 名称 + baseInfoForm.materialName = el.name; // 物料名称 + baseInfoForm.unitId = el.baseUnitId; // 销售单位 + baseInfoForm.is211 = el.is211 ? el.is211 : false; // 是否211 + baseInfoForm.supplyChain = + el.supplyChainKey == null ? '' : el.supplyChainKey + ''; // 供应链 + return baseInfoForm; +}; + +/** + * 采购订单 + */ +// jx 7.9 采购订单 -- 确定上下查 +const purSureUpDownSearch = (CXcheckVal) => { + let pathName = ''; + if (CXcheckVal === 8) { + // "采购入库单" + return (pathName = 'WarehousePurchaseWarehouse'); + } + if (CXcheckVal === 9) { + // "采购退料单" + return (pathName = 'WarehousePurchaseReturnOrder'); + } + if (CXcheckVal === 7) { + // "销售订单" + return (pathName = 'SaleOrder'); + } + if (CXcheckVal === 10) { + // "组织间需求单" + return (pathName = 'OrgNeeds'); + } + if (CXcheckVal === 3) { + // "委外" + return (pathName = 'OutsourcOrder'); + } +}; + +// jx 7.9 采购订单 -- 下推确定 +const purPushDownSure = (CXcheckVal) => { + let pathName = ''; + let routerName = ''; + if (CXcheckVal === 1) { + // "采购入库单" + pathName = 'Purchase/push/instock'; + routerName = 'ActiveWareHouse'; + } + if (CXcheckVal === 2) { + // "采购退料单" + pathName = 'Purchase/push/return'; + routerName = 'ActiveReturnOrder'; + } + return { pathName, routerName }; +}; + +// jx 7.9 采购订单 -- 下推请求 +const purPushDownRequest = (details, req, element) => { + let tempRow = req.data.details.filter((it) => it.id === element.id); + details.mrpCloseStatus = tempRow[0].mrpCloseStatus; + return details; +}; + +// jx 7.9 采购订单 -- 物料编码 模糊匹配 携带参数 +const purMaterialSkuSearch = (baseInfoForm, element, ind) => { + baseInfoForm.details[ind].materialId = element.id; // 物料编码 + baseInfoForm.details[ind].specificationId = element.id; + baseInfoForm.details[ind].materialName = element.name; // 名称 + baseInfoForm.details[ind].materialNumber = element.number; // 名称 + baseInfoForm.details[ind].specification = element.specifications; // 名称 + baseInfoForm.details[ind].unitId = element.baseUnitId; // 采购单位 + baseInfoForm.details[ind].unitName = element.baseUnitName; // 采购单位 + baseInfoForm.details[ind].supplyChainName = element.supplyChain; + baseInfoForm.details[ind].supplyChain = element.supplyChainKey; + baseInfoForm.details[ind].lifeCycle = element.lifeCycleKey; + baseInfoForm.details[ind].lifeCycleName = element.lifeCycle; + baseInfoForm.details[ind].supplyOriginId = element.paezOrgId; + baseInfoForm.details[ind].defaultSupplier = element.defaultSupplierId; + baseInfoForm.details[ind].is211 = element.is211 ? element.is211 : false; // 是否211 + return baseInfoForm; +}; + +// jx 7.9 采购订单 -- 克隆清空的单据头数据 +const purCopyOrderClearData = (baseInfoForm) => { + baseInfoForm.documentStatus = 'a'; + baseInfoForm.dataSources = '1'; + baseInfoForm.billNo = ''; + baseInfoForm.createDate = ''; + baseInfoForm.creatorName = ''; + baseInfoForm.approveDate = ''; + baseInfoForm.approverName = ''; + baseInfoForm.commitDate = ''; + baseInfoForm.modifyDate = ''; + baseInfoForm.modifierName = ''; + baseInfoForm.submitDate = ''; + baseInfoForm.confirmerName = ''; + baseInfoForm.confirmeDate = ''; + baseInfoForm.id = 0; + baseInfoForm.detailsIds = []; + baseInfoForm.isPushDown = false; + return baseInfoForm; +}; + +// jx 7.9 采购订单 -- 克隆清空的明细数据 +const purCopyOrderInfoClearData = (element) => { + element.id = 0; + element.pid = 0; + element.parentOrderId = ''; + element.parentOrderType = ''; + element.parentOrderBillNo = ''; + element.parentOrderNumber = ''; + element.pushDownSaleorgId = ''; + element.maxNumber = null; + element.stockinQty = 0; + element.remainstockinQty = 0; + element.qty = element.qty == null ? '' : element.qty; + element.taxPrice = element.taxPrice == null ? '' : element.taxPrice; + return element; +}; + +// jx 7.9 采购订单 -- 克隆获取精度值 和是否第一次进入 +const purGetPrecisionNumberFrist = ( + salePrecisionNumber, + isPrecision, + unitData, + ind, + unitId +) => { + let tempList = unitData.filter((it) => it.id === unitId); + if (Array.isArray(tempList) && tempList.length) { + tempList[0].precision == 0 + ? (isPrecision[ind] = true) + : (isPrecision[ind] = false); + tempList[0].precision == 0 + ? (salePrecisionNumber[ind] = 0) + : (salePrecisionNumber[ind] = tempList[0].precision); + } + return { salePrecisionNumber, isPrecision }; +}; + +// jx 7.9 采购订单 -- 保存提交获取返回处理日期数据 +const purGetBackDate = (baseInfoForm, req) => { + baseInfoForm.createDate = req.data.createDate; + baseInfoForm.creatorName = req.data.creatorName; + baseInfoForm.approveDate = req.data.approveDate; + baseInfoForm.approverName = req.data.approverName; + baseInfoForm.commitDate = req.data.commitDate; + baseInfoForm.modifyDate = req.data.modifyDate; + baseInfoForm.modifierName = req.data.modifierName; + baseInfoForm.confirmerName = req.data.confirmerName; + baseInfoForm.confirmeDate = req.data.confirmeDate; + baseInfoForm.submitDate = req.data.submitDate; + return baseInfoForm; +}; + +// jx 7.9 采购订单 -- 保存提交后获取返回来的订单号和id +const purGetOrderId = (baseInfoForm, r) => { + baseInfoForm.billNo = r.data.billNo; + baseInfoForm.id = r.data.id; + r.data.details.forEach((el, ind) => { + baseInfoForm.details[ind].id = el.id; + baseInfoForm.details[ind].mrpCloseStatus = el.mrpCloseStatus; + }); + return baseInfoForm; +}; + +// jx 7.11 采购订单 -- 批量填充 物料SKU携带的数据 +const purCopyCellGetData = (baseInfoForm, el, i) => { + baseInfoForm.details[i].materialId = el.id; + baseInfoForm.details[i].specificationId = el.id; + baseInfoForm.details[i].materName = el.number; + baseInfoForm.details[i].materialNumber = el.number; + baseInfoForm.details[i].specification = el.specifications; + baseInfoForm.details[i].skuName = el.specifications; + baseInfoForm.details[i].matterName = el.name; + baseInfoForm.details[i].materialName = el.name; + baseInfoForm.details[i].unitId = el.baseUnitId; + baseInfoForm.details[i].unitName = el.baseUnitName; + baseInfoForm.details[i].paezOrgName = el.paezOrgName; + baseInfoForm.details[i].defaultSupplierName = el.defaultSupplierName; + baseInfoForm.details[i].taxRate = el.taxRateNmae; + baseInfoForm.details[i].is211 = el.is211 ? el.is211 : false; + baseInfoForm.details[i].supplyChainName = el.supplyChain; + baseInfoForm.details[i].supplyChain = el.supplyChainKey; + baseInfoForm.details[i].lifeCycle = el.lifeCycleKey; + baseInfoForm.details[i].lifeCycleName = el.lifeCycle; + baseInfoForm.details[i].supplyOriginId = el.paezOrgId; + baseInfoForm.details[i].defaultSupplier = el.defaultSupplierId; + baseInfoForm.details[i].taxPrice = el.purchasePrice; + return baseInfoForm; +}; + +// jx 7.11 采购订单 -- 插入行 +// const purInsertRow = (data,baseInfoForm,selectRowIndex,customeStockArrylist,matterallCodelist,specificationalllist,addRow) => { +// if (data.insertTopVal != 0 && data.insertTopVal != '') { +// for (let i = 0; i < data.insertTopVal; i++) { +// baseInfoForm.details.splice(selectRowIndex, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylist.splice(selectRowIndex, 0, []) +// matterallCodelist.splice(selectRowIndex, 0, []) +// specificationalllist.splice(selectRowIndex, 0, []) +// selectRowIndex = parseInt(selectRowIndex) + 1 +// } +// } +// if (data.insertBottomVal != 0 && data.insertBottomVal != '') { +// for (let i = 0; i < data.insertBottomVal; i++) { +// selectRowIndex = parseInt(selectRowIndex) + 1 +// baseInfoForm.details.splice(selectRowIndex, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylist.splice(selectRowIndex, 0, []) +// matterallCodelist.splice(selectRowIndex, 0, []) +// specificationalllist.splice(selectRowIndex, 0, []) + +// } +// selectRowIndex = selectRowIndex - data.insertBottomVal // 回朔 +// } +// return {data,baseInfoForm,selectRowIndex,customeStockArrylist,matterallCodelist,specificationalllist} +// } + +// jx 7.11 采购订单 -- 添加行 - row 314 - 554 - 1112 +const purInsertRow = ( + data, + baseInfoForm, + customeStockArrylist, + matterallCodelist, + specificationalllist, + addRow +) => { + const index = baseInfoForm.details.length; + baseInfoForm.details.splice(index, 0, JSON.parse(JSON.stringify(addRow))); + customeStockArrylist.splice(index, 0, []); + matterallCodelist.splice(index, 0, []); + specificationalllist.splice(index, 0, []); + return { + data, + baseInfoForm, + customeStockArrylist, + matterallCodelist, + specificationalllist, + }; +}; + +// 7.11 jx 采购订单 -- 物料编码sku模糊匹配 +const purMaterSkuSearchGetData = ( + baseInfoForm, + element, + currRow, + unitData, + isPrecision, + salePrecisionNumber +) => { + baseInfoForm.details[currRow].materialId = element.id; // 物料编码 + baseInfoForm.details[currRow].specificationId = element.id; + baseInfoForm.details[currRow].materialName = element.name; // 名称 + baseInfoForm.details[currRow].materialNumber = element.number; // 名称 + baseInfoForm.details[currRow].specification = element.specifications; // 名称 + baseInfoForm.details[currRow].unitId = element.baseUnitId; // 采购单位 + baseInfoForm.details[currRow].unitName = element.baseUnitName; // 采购单位 + let tempList = unitData.filter( + (it) => it.id === baseInfoForm.details[currRow].unitId + ); + tempList[0].precision == 0 + ? (isPrecision[currRow] = true) + : (isPrecision[currRow] = false); + tempList[0].precision == 0 + ? (salePrecisionNumber[currRow] = 0) + : (salePrecisionNumber[currRow] = tempList[0].precision); + baseInfoForm.details[currRow].supplyChainName = element.supplyChain; + baseInfoForm.details[currRow].supplyChain = element.supplyChainKey; + baseInfoForm.details[currRow].lifeCycle = element.lifeCycleKey; + baseInfoForm.details[currRow].lifeCycleName = element.lifeCycle; + baseInfoForm.details[currRow].supplyOriginId = element.paezOrgId; + baseInfoForm.details[currRow].defaultSupplier = element.defaultSupplierId; + baseInfoForm.details[currRow].is211 = element.is211 ? element.is211 : false; // 是否211 + if (!baseInfoForm.details[currRow].giveAway) { + baseInfoForm.details[currRow].taxPrice = element.purchasePrice; + } + baseInfoForm.details[currRow].taxRate = element.taxRateNmae; // 税率 + return { baseInfoForm, isPrecision, salePrecisionNumber }; +}; + +// 7.11 jx 采购订单 -- 折扣率 规则 +const purDisCountRateReg = (val) => { + if (val > 100) { + return 100; + } else { + if (val) { + return val + .toString() + .replace(/[^\d^\\.]+/g, '') + .replace('.', '$#$') + .replace(/\./g, '') + .replace('$#$', '.') + .replace(/^(\\-)*(\d+)\.(\d\d\d\d).*$/, '$1$2.$3'); + } else { + return ''; + } + } +}; + +// 7.11 jx 采购订单 -- 切换组织 清空的数据 +const purChangeOrgClearData = (baseInfoForm, statusForm, addRow) => { + let tempSettleOrgName = statusForm.settlementOrgList.filter( + (it) => it.id === baseInfoForm.purchaseorgId + ); + addRow.isDemandBillNo = false; + addRow.isMaterialId = false; + addRow.isSpecificationId = false; + addRow.isQty = false; + addRow.isTaxPrice = false; + addRow.isTaxRate = false; + addRow.isSoStock = false; + addRow.isDeliveryDate = false; + addRow.isCustomerId = false; + addRow.isCustomerStockId = false; + addRow.isNote = false; + addRow.isDiscountRate = false; + addRow.isSettleOrgId = false; + addRow.settleOrgName = tempSettleOrgName[0].name; + + statusForm.saleParts = []; + statusForm.customers = []; + baseInfoForm.deptId = ''; + baseInfoForm.purchaserId = ''; + baseInfoForm.payConditionId = ''; + baseInfoForm.settleCurrId = ''; + baseInfoForm.billTaxAmount = ''; + baseInfoForm.billAmount = ''; + baseInfoForm.billAllAmount = ''; + baseInfoForm.details = [addRow]; // 清空物料 + for (const key in baseInfoForm.details[0]) { + baseInfoForm.details[0][key] = ''; + baseInfoForm.details[0].id = 0; + baseInfoForm.details[0].isFree = false; + baseInfoForm.details[0].giveAway = false; + baseInfoForm.details[0].isDisabled = false; + baseInfoForm.details[0].isCusHouse = false; + baseInfoForm.details[0].isDemandBillNo = false; + baseInfoForm.details[0].isMaterialId = false; + baseInfoForm.details[0].isSpecificationId = false; + baseInfoForm.details[0].isQty = false; + baseInfoForm.details[0].isTaxPrice = false; + baseInfoForm.details[0].isTaxRate = false; + baseInfoForm.details[0].isSoStock = false; + baseInfoForm.details[0].isDeliveryDate = false; + baseInfoForm.details[0].isCustomerId = false; + baseInfoForm.details[0].isCustomerStockId = false; + baseInfoForm.details[0].isNote = false; + baseInfoForm.details[0].isDiscountRate = false; + baseInfoForm.details[0].isSettleOrgId = false; + baseInfoForm.details[0].settleOrgName = tempSettleOrgName[0].name; + } + return { baseInfoForm, statusForm, addRow }; +}; + +/** + * 采购退料单 + */ + +// jx 7.12 采购退料单 - 获取物料编码 SKU 模糊匹配信息 +const purReMaterialSkuSearch = (baseInfoForm, el, ind) => { + baseInfoForm.details[ind].materialId = el.id; + baseInfoForm.details[ind].specificationId = el.id; + baseInfoForm.details[ind].materName = el.number; + baseInfoForm.details[ind].specifications = el.specifications; + baseInfoForm.details[ind].materialNumber = el.number; + baseInfoForm.details[ind].specification = el.specifications; + baseInfoForm.details[ind].materialName = el.name; + baseInfoForm.details[ind].unitId = el.baseUnitId; + return baseInfoForm; +}; + +// jx 7.12 采购退料单 - 批量填充 物料携带出来的值 +const purReCopyMaterialGetValue = (baseInfoForm, el, i) => { + baseInfoForm.details[i].materialId = el.id; + baseInfoForm.details[i].specificationId = el.id; + baseInfoForm.details[i].materName = el.number; + baseInfoForm.details[i].specifications = el.specifications; + baseInfoForm.details[i].materialNumber = el.number; + baseInfoForm.details[i].specification = el.specifications; + baseInfoForm.details[i].materialName = el.name; + baseInfoForm.details[i].unitId = el.baseUnitId; + baseInfoForm.details[i].taxPrice = '0'; + return baseInfoForm; +}; + +// jx 7.12 采购退料单 - 向上、下插入行 +// const purReInsertRowCom = (data,baseInfoForm,selectRowIndex,customeStockArrylist,matterallCodelist,specificationalllist,addRow) => { +// if (data.insertTopVal != 0 && data.insertTopVal != '') { +// for (let i = 0; i < data.insertTopVal; i++) { +// baseInfoForm.details.splice(selectRowIndex, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylist.splice(selectRowIndex, 0, []) +// matterallCodelist.splice(selectRowIndex, 0, []) +// specificationalllist.splice(selectRowIndex, 0, []) +// for (const key in baseInfoForm.details[selectRowIndex]) { +// baseInfoForm.details[selectRowIndex][key] = '' +// } +// baseInfoForm.details[selectRowIndex].id = 0 +// baseInfoForm.details[selectRowIndex].giveAway = 0 +// baseInfoForm.details[selectRowIndex].isCustomer = true +// selectRowIndex = parseInt(selectRowIndex) + 1 +// } +// } +// if (data.insertBottomVal != 0 && data.insertBottomVal != '') { +// for (let i = 0; i < data.insertBottomVal; i++) { +// selectRowIndex = parseInt(selectRowIndex) + 1 +// baseInfoForm.details.splice(selectRowIndex, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylist.splice(selectRowIndex, 0, []) +// matterallCodelist.splice(selectRowIndex, 0, []) +// specificationalllist.splice(selectRowIndex, 0, []) +// for (const key in baseInfoForm.details[selectRowIndex]) { +// baseInfoForm.details[selectRowIndex][key] = '' +// } +// baseInfoForm.details[selectRowIndex].id = 0 +// baseInfoForm.details[selectRowIndex].giveAway = 0 +// baseInfoForm.details[selectRowIndex].isCustomer = true +// } +// selectRowIndex = selectRowIndex - data.insertBottomVal // 回朔 +// } +// return {data,baseInfoForm,selectRowIndex,customeStockArrylist,matterallCodelist,specificationalllist} +// } + +// jx 7.12 采购退料单 - 添加行 +const purReInsertRowCom = ( + data, + baseInfoForm, + customeStockArrylist, + matterallCodelist, + specificationalllist, + addRow +) => { + const index = baseInfoForm.details.length; + baseInfoForm.details.splice(index, 0, JSON.parse(JSON.stringify(addRow))); + customeStockArrylist.splice(index, 0, []); + matterallCodelist.splice(index, 0, []); + specificationalllist.splice(index, 0, []); + for (const key in baseInfoForm.details[index]) { + baseInfoForm.details[index][key] = ''; + } + baseInfoForm.details[index].id = 0; + baseInfoForm.details[index].giveAway = 0; + baseInfoForm.details[index].isCustomer = true; + return { + data, + baseInfoForm, + customeStockArrylist, + matterallCodelist, + specificationalllist, + }; +}; + +// jx 7.12 采购退料单 - 保存提交审核获取返回日期 +const purReSaveSubmitRequestGetData = (baseInfoForm, req, isInner) => { + baseInfoForm.createDate = req.data.createDate; + baseInfoForm.createName = req.data.createName; + baseInfoForm.approveDate = req.data.approveDate; + baseInfoForm.approverName = req.data.approverName; + baseInfoForm.submitDate = req.data.submitDate; + baseInfoForm.modifyDate = req.data.modifyDate; + baseInfoForm.modifiyName = req.data.modifiyName; + if (isInner) { + req.data.details.forEach((el, ind) => { + baseInfoForm.details[ind].id = el.id; + baseInfoForm.details[ind].fid = el.fid; + }); + } + return baseInfoForm; +}; + +// jx 7.12 采购退料单 - 表格明细操作获取物料或sku +const purReTableInfoMaterialSkuGetData = ( + baseInfoForm, + el, + currRow, + unitData, + isPrecision, + salePrecisionNumber, + supplierList, + getTaxRateList +) => { + baseInfoForm.details[currRow].materialId = el.id; + baseInfoForm.details[currRow].specificationId = el.id; + baseInfoForm.details[currRow].materName = el.number; + baseInfoForm.details[currRow].specifications = el.specifications; + baseInfoForm.details[currRow].materialNumber = el.number; + baseInfoForm.details[currRow].specification = el.specifications; + baseInfoForm.details[currRow].materialName = el.name; + baseInfoForm.details[currRow].unitId = el.baseUnitId; + if (el.taxRateId || el.taxRateId == 0) { + baseInfoForm.details[currRow].taxRateId = el.taxRateId; + baseInfoForm.details[currRow].taxRate = el.taxRateNmae; + } else { + if (supplierList) { + baseInfoForm.details[currRow].taxRateId = + supplierList.defaultTaxRate; + let tempList = getTaxRateList.filter( + (it) => it.id == supplierList.defaultTaxRate + ); + if (tempList && tempList.length > 0) { + baseInfoForm.details[currRow].taxRate = tempList[0].name; + } else { + baseInfoForm.details[currRow].taxRate = 0; + } + } + } + let tempList = unitData.filter( + (it) => it.id === baseInfoForm.details[currRow].unitId + ); + tempList[0].precision == 0 + ? (isPrecision[currRow] = true) + : (isPrecision[currRow] = false); + tempList[0].precision == 0 + ? (salePrecisionNumber[currRow] = 0) + : (salePrecisionNumber[currRow] = tempList[0].precision); + return { baseInfoForm, isPrecision, salePrecisionNumber }; +}; + +// jx 7.12 采购退料单 - 切换组织清空数据 +const purReChangeOrgClearData = (baseInfoForm, addRow) => { + baseInfoForm.returnMaterialDeptId = ''; + baseInfoForm.stockerId = ''; + baseInfoForm.supplierId = ''; + baseInfoForm.settleOrgId = ''; + baseInfoForm.settleCurrId = ''; + baseInfoForm.settleTypeId = ''; + baseInfoForm.payconditionId = ''; + baseInfoForm.details = [addRow]; // 清空物料 + for (const key in baseInfoForm.details[0]) { + baseInfoForm.details[0][key] = ''; + baseInfoForm.details[0].id = 0; + baseInfoForm.details[0].giveAway = false; + baseInfoForm.details[0].note = ''; + } + return baseInfoForm; +}; + +// jx 7.12 采购退料单 - 克隆清空的单据头字段 +const purReCopyClearData = (baseInfoForm) => { + baseInfoForm.documentStatus = 'a'; + baseInfoForm.billTypeId = '1'; + baseInfoForm.billNo = ''; + baseInfoForm.createDate = ''; + baseInfoForm.createName = ''; + baseInfoForm.approveDate = ''; + baseInfoForm.approverName = ''; + baseInfoForm.submitDate = ''; + baseInfoForm.modifyDate = ''; + baseInfoForm.modifiyName = ''; + baseInfoForm.isPushDown = false; + baseInfoForm.id = 0; + return baseInfoForm; +}; + +/** + * jx 7.13 采购入库单 + */ +// jx 7.13 采购入库单 - 保存、提交、审核获取日期 +const warePurcaseGetResData = (baseInfoForm, req) => { + baseInfoForm.createDate = req.data.createDate; + baseInfoForm.creatorIdName = req.data.creatorIdName; + baseInfoForm.approveDate = req.data.approveDate; + baseInfoForm.approverName = req.data.approverName; + baseInfoForm.submitDate = req.data.submitDate; + baseInfoForm.modifyDate = req.data.modifyDate; + baseInfoForm.modifierName = req.data.modifierName; + return baseInfoForm; +}; + +// jx 7.13 采购入库单 - 明细物料SKU携带相关值 +const warePurcaseGetMaterialSkuData = (details, el) => { + details.materialId = el.id; + details.specificationId = el.id; + details.materName = el.number; + details.materialNumber = el.number; + details.specifications = el.specifications; + details.specification = el.specifications; + details.materialName = el.name; + details.remaininStockUnitId = el.baseUnitId; + details.remaininStockUnitName = el.baseUnitName; + details.is211 = el.is211 ? el.is211 : false; + details.supplyChainName = el.supplyChain; + details.supplyChain = el.supplyChainKey; + details.mustQty = 0; + details.realQty = 0; + return details; +}; + +// jx 7.13 采购入库单 - 物料编码SKU模糊匹配携带值 +const warePurcaseGetMaterialSearch = (baseInfoForm, el, ind) => { + baseInfoForm.details[ind].materName = el.number; + baseInfoForm.details[ind].skuName = el.specifications; + baseInfoForm.details[ind].matterName = el.name; + baseInfoForm.details[ind].remaininStockUnitId = el.baseUnitId; + baseInfoForm.details[ind].paezOrgName = el.paezOrgName; + baseInfoForm.details[ind].defaultSupplierName = el.defaultSupplierName; + baseInfoForm.details[ind].taxRateNmae = el.taxRateNmae; + baseInfoForm.details[ind].is211 = el.is211 ? el.is211 : false; + baseInfoForm.details[ind].supplyChainName = el.supplyChain; + baseInfoForm.details[ind].supplyChain = el.supplyChainKey; + baseInfoForm.details[ind].lifeCycle = el.lifeCycleKey; + baseInfoForm.details[ind].lifeCycleName = el.lifeCycle; + baseInfoForm.details[ind].supplyOriginId = el.paezOrgId; + baseInfoForm.details[ind].defaultSupplier = el.defaultSupplierId; + return baseInfoForm; +}; + +/** + * 分步式调出单 + */ + +// jx 7.14 分步式调出单 - 确定上下查数据 +const issSureUpDownSearch = (CXcheckVal) => { + let pathName = ''; + if (CXcheckVal === 10) { + // "组织间需求单" + return (pathName = 'OrgNeeds'); + } + if (CXcheckVal === 21) { + // "分步式调入单" + return (pathName = 'WarehouseAllocationEntryorder'); + } +}; + +// jx 7.14 分步式调出单 - 批量填充 - 物料编码携带值 +const issCopyMaterialSkuGetData = (baseInfoForm, el, i) => { + baseInfoForm.details[i].materialId = el.id; + baseInfoForm.details[i].specificationId = el.id; + baseInfoForm.details[i].matterName = el.name; + baseInfoForm.details[i].materialNumber = el.number; + baseInfoForm.details[i].specification = el.specifications; + baseInfoForm.details[i].materialName = el.name; + baseInfoForm.details[i].unitId = el.baseUnitId; + baseInfoForm.details[i].paezOrgName = el.paezOrgName; + baseInfoForm.details[i].defaultSupplierName = el.defaultSupplierName; + baseInfoForm.details[i].taxRateNmae = el.taxRateNmae; + baseInfoForm.details[i].is211 = el.is211 ? el.is211 : false; + baseInfoForm.details[i].supplyChainName = el.supplyChain; + baseInfoForm.details[i].supplyChain = el.supplyChainKey; + baseInfoForm.details[i].lifeCycle = el.lifeCycleKey; + baseInfoForm.details[i].lifeCycleName = el.lifeCycle; + baseInfoForm.details[i].supplyOriginId = el.paezOrgId; + baseInfoForm.details[i].defaultSupplier = el.defaultSupplierId; + baseInfoForm.details[i].qty = '0'; + baseInfoForm.details[i].remainReceiveQty = '0'; + return baseInfoForm; +}; + +// jx 7.14 分步式调出单 - 向上、下插入行 +// const issUpDownInsertRow = (data,baseInfoForm,selectRowIndex,customeStockArrylistInner,customeStockArrylist,matterallCodelist,specificationalllist,addRow) => { +// if (data.insertTopVal != 0 && data.insertTopVal != '') { +// for (let i = 0; i < data.insertTopVal; i++) { +// baseInfoForm.details.splice(selectRowIndex, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylistInner.splice(selectRowIndex, 0, []) +// customeStockArrylist.splice(selectRowIndex, 0, []) +// matterallCodelist.splice(selectRowIndex, 0, []) +// specificationalllist.splice(selectRowIndex, 0, []) +// baseInfoForm.details[selectRowIndex].isOutCustomer = true +// baseInfoForm.details[selectRowIndex].isInnerCustomer = true +// selectRowIndex = parseInt(selectRowIndex) + 1 +// } +// } +// if (data.insertBottomVal != 0 && data.insertBottomVal != '') { +// for (let i = 0; i < data.insertBottomVal; i++) { +// selectRowIndex = parseInt(selectRowIndex) + 1 +// baseInfoForm.details.splice(selectRowIndex, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylistInner.splice(selectRowIndex, 0, []) +// customeStockArrylist.splice(selectRowIndex, 0, []) +// matterallCodelist.splice(selectRowIndex, 0, []) +// specificationalllist.splice(selectRowIndex, 0, []) +// baseInfoForm.details[selectRowIndex].isOutCustomer = true +// baseInfoForm.details[selectRowIndex].isInnerCustomer = true +// } +// selectRowIndex = selectRowIndex - data.insertBottomVal // 回朔 +// } +// return {data,baseInfoForm,selectRowIndex,customeStockArrylistInner,customeStockArrylist,matterallCodelist,specificationalllist} +// } + +// jx 7.14 分步式调出单 - 添加行 +const issUpDownInsertRow = ( + data, + baseInfoForm, + customeStockArrylistInner, + customeStockArrylist, + matterallCodelist, + specificationalllist, + addRow +) => { + const index = baseInfoForm.details.length; + baseInfoForm.details.splice(index, 0, JSON.parse(JSON.stringify(addRow))); + customeStockArrylistInner.splice(index, 0, []); + customeStockArrylist.splice(index, 0, []); + matterallCodelist.splice(index, 0, []); + specificationalllist.splice(index, 0, []); + baseInfoForm.details[index].isOutCustomer = true; + baseInfoForm.details[index].isInnerCustomer = true; + return { + data, + baseInfoForm, + customeStockArrylistInner, + customeStockArrylist, + matterallCodelist, + specificationalllist, + }; +}; + +// jx 7.15 分步式调出单 - 保存、提交、审核 +const issSaveSubmitGetData = (baseInfoForm, req) => { + baseInfoForm.createDate = req.data.createDate; + baseInfoForm.creatorName = req.data.creatorName; + baseInfoForm.modifyDate = req.data.modifyDate; + baseInfoForm.modifyName = req.data.modifyName; + baseInfoForm.checkDate = req.data.checkDate; + baseInfoForm.checkName = req.data.checkName; + baseInfoForm.commitDate = req.data.commitDate; + return baseInfoForm; +}; + +// jx 7.15 分步式调出单 - 详情进入物料SKU携带的公共方法 +const issMaterialSkuGetData = ( + baseInfoForm, + el, + currRow, + unitData, + isPrecision, + salePrecisionNumber +) => { + baseInfoForm.details[currRow].materialId = el.id; + baseInfoForm.details[currRow].specificationId = el.id; + baseInfoForm.details[currRow].materName = el.number; + baseInfoForm.details[currRow].materialNumber = el.number; + baseInfoForm.details[currRow].specifications = el.specifications; + baseInfoForm.details[currRow].specification = el.specifications; + baseInfoForm.details[currRow].materialName = el.name; + baseInfoForm.details[currRow].unitId = el.baseUnitId; + + let tempList = unitData.filter( + (it) => it.id === baseInfoForm.details[currRow].unitId + ); + if (tempList.length > 0) { + tempList[0].precision == 0 + ? (isPrecision[currRow] = true) + : (isPrecision[currRow] = false); + tempList[0].precision == 0 + ? (salePrecisionNumber[currRow] = 0) + : (salePrecisionNumber[currRow] = tempList[0].precision); + } + + return { baseInfoForm, isPrecision, salePrecisionNumber }; +}; + +// jx 7.15 分步式调出单 - 切换调出单清空数据 +const issChangeStockOrgClear = (baseInfoForm, addRow) => { + baseInfoForm.phone = ''; + baseInfoForm.deptId = ''; + baseInfoForm.linkMan = ''; + baseInfoForm.stockerId = ''; + baseInfoForm.address = ''; + baseInfoForm.details = []; + baseInfoForm.details[0] = addRow; + for (const key in baseInfoForm.details[0]) { + baseInfoForm.details[0][key] = ''; + baseInfoForm.details[0].id = 0; + baseInfoForm.details[0].stockReceiveQty = 0; + baseInfoForm.details[0].isFree = false; + baseInfoForm.details[0].isDisabled = false; + baseInfoForm.details[0].isCusHouse = true; + } + return baseInfoForm; +}; + +// jx 7.15 分步式调出单 - 物料编码、SKU模糊匹配 +const issMaterSkuSearchGetData = (baseInfoForm, el, ind) => { + baseInfoForm.details[ind].materialId = el.id; + baseInfoForm.details[ind].specificationId = el.id; + baseInfoForm.details[ind].materName = el.number; + baseInfoForm.details[ind].materialNumber = el.number; + baseInfoForm.details[ind].specifications = el.specifications; + baseInfoForm.details[ind].specification = el.specifications; + baseInfoForm.details[ind].materialName = el.name; + baseInfoForm.details[ind].unitId = el.baseUnitId; + return baseInfoForm; +}; + +/** + * 分步式调入 + */ +// jx 7.17 保存提交返回日期 +const enterSaveSubmitCom = (baseInfoForm, req) => { + baseInfoForm.createDate = req.data.createDate; + baseInfoForm.creatorName = req.data.creatorName; + baseInfoForm.modifyDate = req.data.modifyDate; + baseInfoForm.modifyName = req.data.modifyName; + baseInfoForm.checkDate = req.data.checkDate; + baseInfoForm.checkName = req.data.checkName; + baseInfoForm.commitDate = req.data.commitDate; + return baseInfoForm; +}; + +// jx 7.17 物料编码模糊匹配 +const enterMaterialSearch = (baseInfoForm, el, ind) => { + baseInfoForm.details[ind].matterName = el.name; + baseInfoForm.details[ind].unitId = el.baseUnitId; + baseInfoForm.details[ind].paezOrgName = el.paezOrgName; + baseInfoForm.details[ind].defaultSupplierName = el.defaultSupplierName; + baseInfoForm.details[ind].taxRateNmae = el.taxRateNmae; + baseInfoForm.details[ind].is211 = el.is211 ? el.is211 : false; + baseInfoForm.details[ind].supplyChainName = el.supplyChain; + baseInfoForm.details[ind].supplyChain = el.supplyChainKey; + baseInfoForm.details[ind].lifeCycle = el.lifeCycleKey; + baseInfoForm.details[ind].lifeCycleName = el.lifeCycle; + baseInfoForm.details[ind].supplyOriginId = el.paezOrgId; + baseInfoForm.details[ind].defaultSupplier = el.defaultSupplierId; + return baseInfoForm; +}; + +// jx 7.17 详情物料编码携带 +const enterMaterialInfoGetData = (baseInfoForm, el, currRow) => { + baseInfoForm.details[currRow].materialId = el.id; + baseInfoForm.details[currRow].specificationId = el.id; + baseInfoForm.details[currRow].materName = el.number; + baseInfoForm.details[currRow].materialNumber = el.number; + baseInfoForm.details[currRow].specifications = el.specifications; + baseInfoForm.details[currRow].specification = el.specifications; + baseInfoForm.details[currRow].materialName = el.name; + baseInfoForm.details[currRow].unitId = el.baseUnitId; + return baseInfoForm; +}; + +/** + * 直接调拨单 + */ +// jx 7.19 直接调拨 批量填充 物料携带参数 +const activeCopyMaterialGetData = (baseInfoForm, el, i) => { + baseInfoForm.details[i].materialId = el.id; + baseInfoForm.details[i].specificationId = el.id; + baseInfoForm.details[i].matterName = el.name; + baseInfoForm.details[i].materialName = el.name; + baseInfoForm.details[i].materName = el.number; + baseInfoForm.details[i].materialNumber = el.number; + baseInfoForm.details[i].specification = el.specifications; + baseInfoForm.details[i].unitId = el.baseUnitId; + baseInfoForm.details[i].paezOrgName = el.paezOrgName; + baseInfoForm.details[i].defaultSupplierName = el.defaultSupplierName; + baseInfoForm.details[i].taxRateNmae = el.taxRateNmae; + baseInfoForm.details[i].is211 = el.is211 ? el.is211 : false; + baseInfoForm.details[i].supplyChainName = el.supplyChain; + baseInfoForm.details[i].supplyChain = el.supplyChainKey; + baseInfoForm.details[i].lifeCycle = el.lifeCycleKey; + baseInfoForm.details[i].lifeCycleName = el.lifeCycle; + baseInfoForm.details[i].supplyOriginId = el.paezOrgId; + baseInfoForm.details[i].defaultSupplier = el.defaultSupplierId; + baseInfoForm.details[i].qty = '0'; + return baseInfoForm; +}; + +// jx 7.19 直接调拨单 插入行 +// const activeInsertUpDownData = (data,baseInfoForm,selectRowIndex,customeStockArrylistInner,customeStockArrylist,matterallCodelist,specificationalllist,addRow) => { +// if (data.insertTopVal != 0 && data.insertTopVal != '') { +// for (let i = 0; i < data.insertTopVal; i++) { +// baseInfoForm.details.splice(selectRowIndex, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylistInner.splice(selectRowIndex, 0, []) +// customeStockArrylist.splice(selectRowIndex, 0, []) +// matterallCodelist.splice(selectRowIndex, 0, []) +// specificationalllist.splice(selectRowIndex, 0, []) +// selectRowIndex = parseInt(selectRowIndex) + 1 +// } +// } +// if (data.insertBottomVal != 0 && data.insertBottomVal != '') { +// for (let i = 0; i < data.insertBottomVal; i++) { +// selectRowIndex = parseInt(selectRowIndex) + 1 +// baseInfoForm.details.splice(selectRowIndex, 0, JSON.parse(JSON.stringify(addRow))) +// customeStockArrylistInner.splice(selectRowIndex, 0, []) +// customeStockArrylist.splice(selectRowIndex, 0, []) +// matterallCodelist.splice(selectRowIndex, 0, []) +// specificationalllist.splice(selectRowIndex, 0, []) +// } +// selectRowIndex = selectRowIndex - data.insertBottomVal // 回朔 +// } +// return {data,baseInfoForm,selectRowIndex,customeStockArrylistInner,customeStockArrylist,matterallCodelist,specificationalllist} +// } + +// jx 7.19 直接调拨单 添加行 +const activeInsertUpDownData = ( + data, + baseInfoForm, + customeStockArrylistInner, + customeStockArrylist, + matterallCodelist, + specificationalllist, + addRow +) => { + const index = baseInfoForm.details.length; + baseInfoForm.details.splice(index, 0, JSON.parse(JSON.stringify(addRow))); + customeStockArrylistInner.splice(index, 0, []); + customeStockArrylist.splice(index, 0, []); + matterallCodelist.splice(index, 0, []); + specificationalllist.splice(index, 0, []); + return { + data, + baseInfoForm, + customeStockArrylistInner, + customeStockArrylist, + matterallCodelist, + specificationalllist, + }; +}; + +// jx 7.19 直接调拨单 物料SKU模糊匹配 +const activeMaterialSkuSearchGetData = (baseInfoForm, el, ind) => { + baseInfoForm.details[ind].materialId = el.id; + baseInfoForm.details[ind].specificationId = el.id; + baseInfoForm.details[ind].materName = el.number; + baseInfoForm.details[ind].materialNumber = el.number; + baseInfoForm.details[ind].specifications = el.specifications; + baseInfoForm.details[ind].specification = el.specifications; + baseInfoForm.details[ind].materialName = el.name; + baseInfoForm.details[ind].unitId = el.baseUnitId; + return baseInfoForm; +}; + +// jx 7.19 直接调拨单 保存、提交、审核 返回日期赋值 +const activeSaveSubmitGetData = (baseInfoForm, req) => { + baseInfoForm.createDate = req.data.createDate; + baseInfoForm.creatorName = req.data.creatorName; + baseInfoForm.modifyDate = req.data.modifyDate; + baseInfoForm.modifyName = req.data.modifyName; + baseInfoForm.checkDate = req.data.checkDate; + baseInfoForm.checkName = req.data.checkName; + baseInfoForm.commitDate = req.data.commitDate; + return baseInfoForm; +}; + +// jx 7.19 直接调拨单 详情物料SKU选择 携带出来的数据 +const activeMaterialSkuSelctGetData = ( + baseInfoForm, + el, + currRow, + unitData, + isPrecision, + salePrecisionNumber +) => { + baseInfoForm.details[currRow].materialId = el.id; + baseInfoForm.details[currRow].specificationId = el.id; + baseInfoForm.details[currRow].materName = el.number; + baseInfoForm.details[currRow].materialNumber = el.number; + baseInfoForm.details[currRow].specifications = el.specifications; + baseInfoForm.details[currRow].specification = el.specifications; + baseInfoForm.details[currRow].materialName = el.name; + baseInfoForm.details[currRow].unitId = el.baseUnitId; + let tempList = unitData.filter( + (it) => it.id === baseInfoForm.details[currRow].unitId + ); + tempList[0].precision == 0 + ? (isPrecision[currRow] = true) + : (isPrecision[currRow] = false); + tempList[0].precision == 0 + ? (salePrecisionNumber[currRow] = 0) + : (salePrecisionNumber[currRow] = tempList[0].precision); + return { baseInfoForm, isPrecision, salePrecisionNumber }; +}; + +// jx 7.19 直接调拨单 切换组织清空的数据 +const activeChangeOrgClearData = (baseInfoForm, addRow) => { + baseInfoForm.deptId = ''; + baseInfoForm.consignee = ''; + baseInfoForm.phone = ''; + baseInfoForm.stockerId = ''; + baseInfoForm.address = ''; + baseInfoForm.details = [addRow]; // 清空物料 + for (const key in baseInfoForm.details[0]) { + baseInfoForm.details[0][key] = ''; + baseInfoForm.details[0].id = 0; + baseInfoForm.details[0].isDisabled = false; + baseInfoForm.details[0].isCusHouse = true; + } + return baseInfoForm; +}; + +export { + // 全局 + orderRexgu, + orderCopy, + getNowTimeGlobal, + pricePrecisionNumberCom, + numberPrecisionCom, + disRateRexgu, + filterMaterialData, + getObjectName, + getArrayName, + getArrayName211, + bottomAddRow, + numberRexgu, + // 销售订单 + addRowCom, + taxPriceNumberRexgu, + searchOrder, + pushDownSure, + materSpecCarry, + insertRow, + saveSubmitBackData, + changeCustomerClearData, + materSpecSearh, + orderCopyClearHeaderData, + orderCopyClearInfoData, + customerChangeCarryData, + clearData, + // 销售退货单 + srSearchOrder, + srSurePushDown, + srMaterialCarry, + srInsertRow, + srSaveSubmitBackData, + onLineOrderRexgu, + srDetailsMaterSpecSearh, + srOrgChangeClearData, + srMaterSpecSearch, + srCopyInnerClearData, + // 组织间 + orgNeedsClearData, + ndCopyClearData, + watchCustomerChange, + ndSaveSubBackData, + changeDownOrgClearData, + ndIptDownOrgChangeClearData, + ndSearchOrder, + ndSurePushDown, + ndSearchMaterSku, + // 采购订单 + purSureUpDownSearch, + purPushDownSure, + purPushDownRequest, + purMaterialSkuSearch, + purCopyOrderClearData, + purCopyOrderInfoClearData, + purGetPrecisionNumberFrist, + purGetBackDate, + purGetOrderId, + purCopyCellGetData, + purInsertRow, + purMaterSkuSearchGetData, + purDisCountRateReg, + purChangeOrgClearData, + // 采购退料单 + purReMaterialSkuSearch, + purReCopyMaterialGetValue, + purReInsertRowCom, + purReSaveSubmitRequestGetData, + purReTableInfoMaterialSkuGetData, + purReChangeOrgClearData, + purReCopyClearData, + // 采购入库单 + warePurcaseGetResData, + warePurcaseGetMaterialSkuData, + warePurcaseGetMaterialSearch, + // 分步式调出单 + issSureUpDownSearch, + issCopyMaterialSkuGetData, + issUpDownInsertRow, + issSaveSubmitGetData, + issMaterialSkuGetData, + issChangeStockOrgClear, + issMaterSkuSearchGetData, + // 分步式调入单 + enterSaveSubmitCom, + enterMaterialSearch, + enterMaterialInfoGetData, + // 直接调拨单 + activeCopyMaterialGetData, + activeInsertUpDownData, + activeMaterialSkuSearchGetData, + activeSaveSubmitGetData, + activeMaterialSkuSelctGetData, + activeChangeOrgClearData, +}; diff --git a/src/utils/util.js b/src/utils/util.js new file mode 100644 index 0000000..964046e --- /dev/null +++ b/src/utils/util.js @@ -0,0 +1,112 @@ +import Clipboard from 'clipboard' +import { ElMessage } from 'element-plus' + +const formatDate = function (time, format) { + var t = new Date(time) + var tf = function(i) { + return (i < 10 ? "0" : "") + i + } + return format.replace(/Y|m|d|H|i|s/g, function(a) { + switch (a) { + case "Y": + return tf(t.getFullYear()) + case "m": + return tf(t.getMonth() + 1) + case "d": + return tf(t.getDate()) + case "H": + return tf(t.getMinutes()) + case "i": + return tf(t.getHours()) + case "s": + return tf(t.getSeconds()) + } + }) +} +// 时间戳转日期 +const timestampToTime = function (timestamp, type) { + var date = new Date(timestamp * 1000) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000 + var Y = date.getFullYear() + var M = + date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 + var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() + var dateStr = '' + switch (type) { + case 1: + dateStr = Y + '年' + M + '月' + D + '日' + break + case 2: + dateStr = Y + '-' + M + '-' + D + break + default: + dateStr = Y + '年' + M + '月' + D + '日' + } + return dateStr +} + +// 标准化时间 即将 2015年12月31日 转为 2015-12-31 +const dateFormat = function (dateStr) { + if (dateStr) { + dateStr = dateStr.replace('年', '-') + dateStr = dateStr.replace('月', '-') + dateStr = dateStr.replace('日', '') + return dateStr + } else { + return '' + } +} + + +// 存储本地浏览器 mainKey是唯一标识 aryy是存储书 ,type - save 是存 getdata是取 +const saveactionDate = function (mainKey, arry, type) { + const _this = this + if (arry) { + arry.forEach(item => { + if (type === 'save') { + // 保存操作 + window.localStorage.setItem(mainKey + '-' + item, JSON.stringify(_this[item])) + } else { + // 回显 + _this[item] = JSON.parse(window.localStorage.getItem(mainKey + '-' + item) ? window.localStorage + .getItem(mainKey + '-' + item) : []) + } + }) + } +} + +// 小数位去零 +const unitPriceMethods = function(value) { + if(value.toString().indexOf('.') != -1){ + let valStr4 = value.toString() + let ind = valStr4.lastIndexOf('.') + let firstVal = valStr4.substring(0,ind) + let lastVal = valStr4.substring(ind + 1,valStr4.length) + if(lastVal * 1 === 0){ + return firstVal + }else{ + let newVal = parseFloat(value.toString()) + return newVal + '' + } + }else{ + let newVal = parseFloat(value.toString()) + return newVal + '' + } +} + +// 获取年-月-日 +const getYeMoDa = function(value){ + var date = new Date(); + var year = date.getFullYear(); + var month = (date.getMonth() + 1) < 10?'0'+(date.getMonth() + 1):(date.getMonth() + 1); + var day = date.getDate()<10?'0'+date.getDate():date.getDate(); + return year + "-" + month + "-" + day; +} + +export { + formatDate, + timestampToTime, + dateFormat, + saveactionDate, + unitPriceMethods +}; + diff --git a/src/utils/validate.js b/src/utils/validate.js new file mode 100644 index 0000000..1c8ad1e --- /dev/null +++ b/src/utils/validate.js @@ -0,0 +1,157 @@ +/** + * 验证是否为空 + * @param string|array value + * @returns + */ +function isEmpty(value) { + if (value === null || value === undefined || value === "") { + return true; + } + if (Array.isArray(value) && value.length === 0) { + return true; + } + return false; +} + +/** + * 是否为手机号 + * @param {*} value + * @param {*} param1 + * @returns + */ +export const mobileValidator = (value, [locale]) => { + if (isEmpty(value)) { + return true; + } + if ((!locale || locale == "CN") && /^1[3456789][0-9]{9}$/.test(value)) { + return true; + } else if (locale == "EN" && /^\+[\d]{1,5}\s[\d]{1,14}$/.test(value)) { + return true; + } + return "手机号不正确"; +}; + +/** + * 是否为电话号码 + * @param value + * @param {*} param1 + * @returns + */ +export const telValidator = (value, [locale]) => { + if (isEmpty(value)) { + return true; + } + if ((!locale || locale == "CN") && !/^(?:0|8)[1-9]{3,}-[0-9]{8}$/.test(value)) { + return true; + } + return "电话号码格式不正确"; +}; + +/** + * 身份证号码是否正确 + * @param string value + * @returns + */ +export const identifyValidator = (value) => { + if (isEmpty(value)) { + return true; + } + if (!/(?:^\d{15}$)|(?:^\d{18}$)|(?:^\d{17}(?:\d|X|x)$)/.test(value)) { + return "身份证号码格式不正确"; + } + return true; +}; + +/** + * 验证小数位长度 + * @param number value 值 + * @param number param1.length 为小数位长度 + * @returns + */ +export const decimalValidator = (value, [length]) => { + if (isEmpty(value)) { + return true; + } + let regExp = new RegExp("^[0-9]+(?:.[0-9])?$"); + if (length) { + regExp = new RegExp("^[0-9]+(?:.[0-9]{1," + length + "})?$"); + } + if (regExp.test(value)) { + return true; + } + return "小数位长度不正确"; +}; + +/** + * 验证是否为大写字母 + * @param string value + * @returns + */ +export const letterUpperValidator = (value) => { + if (isEmpty(value) || /^[A-Z]+$/.test(value)) { + return true; + } + return "请填写大写字母"; +}; + +/** + * 验证是否为小写字母 + * @param string value + * @returns + */ +export const letterLowerValidator = (value) => { + if (isEmpty(value) || /^[a-z]+$/.test(value)) { + return true; + } + return "请填写小写字母"; +}; + +/** + * 验证是否为中文 + * @param string value + * @returns + */ +export const characterCNValidator = (value) => { + if (isEmpty(value) || /^[\u4e00-\u9fa5]+$/.test(value)) { + return true; + } + return "请输入中文"; +}; + +/** + * 验证是否为邮编格式 + * @param string value + * @returns + */ +export const zipcodeValidator = (value) => { + if (isEmpty(value) || /^[1-9]\d{5}(?!\d)$/.test(value)) { + return true; + } + return "请输入正确邮编"; +}; + +/** + * 验证是否为传真格式 + * @param string value + * @returns + */ +export const faxValidator = (value) => { + if (isEmpty(value) || /^(\d{3,4}-)?\d{7,8}$/.test(value)) { + return true; + } + return "请输入正确的传真格式"; +}; + +const allValid = { + mobile: mobileValidator, + tel: telValidator, + identify: identifyValidator, + decimal: decimalValidator, + letter_upper: letterUpperValidator, + letter_lower: letterLowerValidator, + character_cn: characterCNValidator, + zipcode: zipcodeValidator, + fax: faxValidator, +}; + +export default allValid; diff --git a/src/utils/variable.js b/src/utils/variable.js new file mode 100644 index 0000000..9d38864 --- /dev/null +++ b/src/utils/variable.js @@ -0,0 +1,1180 @@ +// 公共 +export const is211s = [ + { + id: true, + name: '是', + }, + { + id: false, + name: '否', + }, +]; +export const optionProps = { + expandTrigger: 'hover', + checkStrictly: true, + value: 'id', + label: 'name', + children: 'children', + emitPath: false, +}; +export const storeObj = { + // 存储的行 + storeRow: '', + storeCol: '', + storeVal: '', + storekey: '', +}; +// 销售订单 新增、编辑、表格明信默认信息、默认对象数组集合 +// s-p-t-g4 'query', +export const saleBtnAdd = [ + 'copy', + 'revoke', + 'audit', + 'de-approval', + 'delete', + 'push-down', + 'operation', + 'refresh', + 's-p-t-g3', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', + 'up-check', + 'down-check', +]; +export const saleBtnEdit = [ + 'copy', + 'refresh', + 'split-order', + 'export', + 'delete', + 'print-brower', + 'print-aterial-list', + 'finish', + 'close-case', + 'de-excute-start', + 'de-excute-finish', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const defaultTableInfo = { + id: 0, // 单据id + billNo: '', // 订单编号 + documentStatus: '', // 订单状态 + billtypeId: '', // 销售订单类型 + date: '', // 下单日期 + saleorgId: '', // 销售组织 + custId: '', // 客户 + custName: '', // 客户名称 + saleDeptId: '', // 部门 + salerId: '', // 销售员 + salesManId: '', // 跟单员 + logistics: '', // 物流/快递 + logisticsNo: '', // 物流单号 + linkMan: '', // 联系人 + linkPhone: '', // 联系电话 + linkAdress: '', // 客户地址 + recconditionId: '', // 收款条件 + settlemodeId: '', // 结算方式 + settlecurrId: '', // 结算币别 + localcurrId: '', // 本位币 + exchangeTypeId: '', // 汇率类型 + exchangeRate: '', // 汇率 + taxaMount: '', // 税额 + amount: '', // 金额 + allAmount: '', // 价税合计 + creatorName: '', // 创建人 + createDate: '', // 创建时间 + modifierName: '', // 最后修改人 + modifyDate: '', // 最后修改日期 + approverName: '', // 审核人 + approveDate: '', // 审核日期 + commitDate: '', // 提交时间 + commitStaffName: '', // 提交人 + details: [ + { + id: 0, + detailId: 0, // 明细id + materialId: '', // 物料id + matterName: ' ', // 物料名称 + specificationId: '', // 规格id + unitId: '', // 销售单位 + salesNumber: '', // 销售数量 + taxPrice: '', // 含税单价 + taxRate: '', // 税率% + wareHouseId: '', // 仓库 + wareHouseLocalId: '', // 仓位 + deliveryDate: null, // 期望交期 + isFree: false, // 是否赠品 + orderreMarks: '', // 备注 + price: '', // 单价 + allAmount: '', // 价税合计 + allAmountLc: '', // 价税合计(本位币) + discountRate: '', // 折扣率% + disCount: '', // 折扣额 + taxaMount: '', // 税额 + amount: '', // 金额 + settleOrg: '', // 结算组织id + onlineOrderNo: '', // 线上订单号(店铺订单号) + purchaseNumber: 0, // 采购/排产数量 + barCode: '', // 客户条码 + customerStock: '', // 客户仓库 + paezOrgName: '', // 供应组织 + supplyOriginId: '', // 供应商id + defaultSupplier: '', // 默认供应商id + is211: '', // 是否211 + supplyChain: '', // 供应链名字 + defaultSupplierName: '', // 默认供应商 + defaultSupplierTaxRate: '', // 默认供应商税率 + lifeCycle: '', // 产品生命周期 + lifeCycleName: '', // 产品生命周期 + supplyChainKey: '', // 供应链id + parentOrderId: '', // 上游明细id + parentOrderType: '', // 上游单据类型 + parentOrderNumber: '', // 上游销售数量 + parentOrderBillNo: '', // 销售订单号 + isDisabled: false, // is211 true/false + isCusHouse: true, // cusHouse true/false + isHouse: false, // 仓库 + }, + ], +}; +export const customSearch = { + documentStatus: {}, // 订单状态 + salOrderType: {}, // 订单类型 + closeStatus: {}, // 关闭状态 + supplyChainType: {}, // 供应链 + is211Type: {}, // 是否211 + isFreeType: {}, // 是否赠品 + localCurrType: [], // 本位币 + saleOrg: [], // 销售组织 + custList: [], // 客户列表 + saleParts: [], // 当前门部 + salePerson: [], // 销售员 + followPersons: [], // 跟单员 + reccondition: [], // 收款条件 + setlementMethod: [], // 结算方式 + setlementDifferences: [], // 结算币别 + exchangeRateTypes: [], // 汇率类型 + matterCodelist: [], // 物料编码匹配 + specificationsList: [], // 规格型号 + saleUnits: [], // 获取计量单位 + taxRates: [], // 税率 + warehouse: [], // 仓库 + customerStocks: [], // 客户仓库 + settlementOrgList: [], // 结算组织 +}; +// 销售退货单 新增、编辑 +export const returnBtnAdd = [ + 'copy', + 'revoke', + 'audit', + 'de-approval', + 'delete', + 'push-down', + 'operation', + // 'query', + 'up-check', + 'refresh', + 's-p-t-g3', + 'down-check', + // 's-p-t-g4', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const returnBtnEdit = [ + 'copy', + 'refresh', + 'split-order', + 'print-aterial-list', + 'delete', + 'daochu', + 'dayin', + 'finish', + 'close-case', + 'de-excute-start', + 'de-excute-finish', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', + 'operation', +]; +export const rDefaultTableInfo = { + id: 0, // 单据id + billNo: '', // 退货单号 + documentStatus: '', // 单据状态 + returnDate: null, // 退货日期 + saleOrgId: '', // 销售组织 + saleDeptId: '', // 销售部门 + retcustId: '', // 退货客户 + retcusName: '', // 退货客户名称 + salesmanId: '', // 销售员 + stockStaff: '', // 仓管员 + settleOrg: '', // 结算组织 + settlecurrId: '', // 结算币别 + recconditionId: '', // 收款条件 + settlemodeId: '', // 结算方式 + returnReason: '', // 退货原因 + receiveAddress: '', // 收货地址 + creatorName: '', // 创建人 + createDate: '', // 创建时间 + modifyName: '', // 修改人 + modifyDate: '', // 修改时间 + checkName: '', // 审核人 + checkDate: '', // 审核时间 + commitDate: '', // 提交时间 + isPushDown: false, // 是否下推 + details: [ + // 明细 + { + id: 0, + fid: 0, + detailId: 0, // 明细id + seq: '', // 序号 + parentOrderId: '', // 上游明细id + parentOrderType: '', // 上游单据类型 + parentOrderBillNo: '', // 销售订单号 + parentOrderNumber: '', // 上游戏销售数量 + salesNumber: '', // 销售数量 + materialId: '', // 物料id + specificationId: '', // 规格型号id + unitId: '', // 库存单位id + matterName: '', // 物料名称 + realQty: '', // 实退数量 + taxPrice: '', // 含税单价 + taxRate: '', // 税率% + price: '', // 单价 + allAmount: '', // 价税合计 + allAmountLc: '', // 价税合计(本位币) + discountRate: '', // 折扣率% + disCount: '', // 折扣额 + taxAmount: '', // 税额 + amount: '', // 金额 + returnType: '', // 退货类型 + deliveryDate: '', // 退货日期 + stockId: '', // 仓库id + stockLocId: '', // 仓位id + isFree: false, // 是否赠品 + onlineOrderNo: '', // 线上订单号 + remark: '', // 备注 + paezOrgName: '', // 供应组织 + supplyOriginId: '', // 供应商id + defaultSupplier: '', // 默认供应商id + defaultSupplierName: '', // 默认供应商 + is211: '', // 是否211 + customerStock: '', // 客户仓库 + isDisabled: false, // is211 true/false + isCusHouse: true, // cusHouse true/false + }, + ], +}; +export const rCustomSearch = { + documentStatus: {}, // 订单状态 + saleOrg: [], // 销售组织 + custList: [], // 客户列表 + saleParts: [], // 当前门部 + salePerson: [], // 当前人员 + followPersons: [], // 仓管员 + setlementDifferences: [], // 结算币别 + matterCodelist: [], // 物料编码匹配 + specificationsList: [], // 规格型号 + saleUnits: [], // 获取计量单位 + taxRates: [], // 税率 + warehouse: [], // 仓库 + childWarehouse: [], // 仓位 + settlementOrgList: [], // 结算组织 + returnStockType: {}, // 退货类型 + customerStocks: [], // 客户仓库 + reccondition: [], // 收款条件 + setlementMethod: [], // 结算方式 +}; +// 采购订单 新增、编辑 +export const purchaseBtnAdd = [ + 'copy', + 'revoke', + 'audit', + 'de-approval', + 'delete', + 'push-down', + 'operation', + 'up-check', + 'down-check', + // 'query', + 'refresh', + 's-p-t-g3', + // 's-p-t-g4', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const purchaseBtnEdit = [ + 'copy', + 'export', + 'print-brower', + 'print-aterial-list', + 'refresh', + 'delete', + 'split-order', + 'print-aterial-list', + 'finish', + 'close-case', + 'de-excute-start', + 'de-excute-finish', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const purDefaultTableInfo = { + id: 0, + billNo: '', // 采购订单号 + dataSources: '', // 数据来源 + purchaseorgId: '', // 采购组织 + documentStatus: '', // 单据状态 + fillType: '', // 订单类型 + date: '', // 日期 + supplierId: '', // 供应商 + deptId: '', // 采购部门 + purchaserId: '', // 采购员 + payConditionId: '', // 付款条件 + settleCurrId: '', // 结算币别 + localCurrId: '', // 本位币 + exchangeTypeId: '', // 汇率类别 + settleModeId: '', // 结算方式 + exchangerate: '', // 汇率 + taxAmount: '', // 税额 + amount: '', // 金额 + allAmount: '', // 价税合计 + creatorName: '', // 创建人 + createDate: '', // 创建时间 + modifierId: '', // 最后修改人 + modifyDate: '', // 最后修改日期 + submitDate: '', // 提交时间 + approvePerson: '', // 审核人 + approveDate: '', // 审核时间 + confirmPerson: '', // 确认人 + confirmDate: '', // 确认时间 + providerAddress: '', + bankAccount: '', //供应商银行卡账户 + depositBank: '', //供应商银行卡开户银行 + accountName: '', //供应商银行卡账号名称 + details: [ + // 明细列表 + { + id: 0, + demandBillNo: '', // 销售订单号 + materialId: '', // 物料ID(编码-型号-名称) + materialNumber: '', // 物料编码 + specificationId: '', // 规格型号(SKU) + materialName: '', // 物料名称 + unitId: '', // 采购单位 + qty: '', // 采购数量 + stockinQty: '', // 已交数量(已收货数量) + remainstockinQty: '', // 未交数量 + mrpCloseStatus: '', // 关闭状态 + taxPrice: '', // 含税单价 + taxRate: '', // 税率 + soStock: '', // 仓库 + subSoStock: '', // 仓位 + deliveryDate: '', // 期望交期 + note: '', // 备注 + price: '', // 单价 + discountRate: '', // 折扣率 + discountAmount: '', // 折扣额 + taxAmount: '', // 税额 + amount: '', // 金额 + allAmount: '', // 价税合计 + localCurrAllAmount: '', // 价税合计(本位币) + is211: '', // 是否211 + supplyChain: '', // 供应链 + settleOrgId: '', // 结算组织 + giveAway: false, // 是否赠品 + barCode: '', // 物料条码 + customerId: '', // 客户 + customerStockId: '', // 客户仓库id + isDisabled: false, // is211 true/false + isCusHouse: true, // cusHouse true/false + }, + ], +}; +export const purCustomSearch = { + // 状态 List -- 集合 + bills: [], // 单据状态 + orders: [], // 订单类型 + is211: [], // 是否211 + isFree: [], // 是否赠品 + cloStatus: [], // 关闭的状态 + purchaseorgIds: [], // 采购组织 + warehouse: [], // 仓库 + // childWarehouse: [], // 仓位 + settleOrg: [], // 组织 + supplyChain: [], // 供应链 + collectionTermss: [], // 收款条件 + setlementDifferences: [], // 结算币别 + dataSourcesList: [], // 数据来源 + exchangeRateTypes: [], // 结算方式 + rateTypeList: [], // 汇率类型 + saleParts: [], // 采购部门 + salePersons: [], // 采购员 + units: [], // 采购单位 + getCustomerNumList: [], // 模糊匹配客户 + matterCodelist: [], // 物料编码 + getTaxRateList: [], // 获取税率 + settlementOrgList: [], // 结算组织 + baseCurrs: [], // 本位币 + specificationsList: [], // 规格型号(SKU) + customers: [], // 客户 + customerStocks: [], // 客户仓库 +}; +export const purPushDownList = [ + { id: 1, value: '采购入库单' }, + { id: 2, value: '采购退料单' }, +]; +// 组织间需求单 新增、编辑 +export const needsBtnAdd = [ + 'copy', + 'revoke', + 'audit', + 'de-approval', + 'delete', + 'push-down', + 'operation', + 'query', + 'refresh', + 's-p-t-g3', + 's-p-t-g4', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const needsBtnEdit = [ + 'copy', + 'print-brower', + 'refresh', + 'delete', + 'export', + 'split-order', + 'print-aterial-list', + 'finish', + 'close-case', + 'de-excute-start', + 'de-excute-finish', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const ndDefaultTableInfo = { + id: 0, // id + billNo: '', // 单据编号 + saleOrderNo: '', // 销售订单号 + demandOrgId: '', // 下单组织 + receptOrgId: '', // 接单组织 + orderDate: '', // 下单日期 + hopeFinishDate: '', // 期望交期 + customerId: '', // 客户 + customerName: '', // 客户名称 + saleDeptId: '', // 销售部门 + salespersonId: '', // 销售员 + merchandiserId: '', // 跟单员 + documentStatus: '', // 单据状态 + materialId: '', // 物料id + materId: '', // 物料编码 + materialNumber: '', // 物料编码名称 + skuId: '', // 规格型号id + specification: '', // 规格型号名称 + materialName: '', // 物料名称 + unitId: '', // 销售单位 + orderQty: '', // 下单数量 + deliveredQty: '', // 已交数量 + undeliveredQty: '', // 未交数量 + transferQty: '', // 已收数量 + untransferQty: '', // 未收数量 + isClosed: '', // 关闭状态 + createType: '', // 数据来源 + stockId: '', // 仓库 + customerStockId: '', // 客户仓库 + is211: null, // 是否211 + supplyChain: '', // 供应链 + createName: '', // 创建人 + createDate: '', // 创建时间 + modifierName: '', // 修改人 + modifyDate: '', // 修改时间 + submitDate: '', // 提交日期 + approverName: '', // 审核人 + approveDate: '', // 审核日期 + closerName: '', // 关闭人 + closeDate: '', // 关闭日期 + parentOrderBillNo: '', + parentOrderId: '', + parentOrderType: '', + productionBillNo: '', + description: '', +}; +export const ndCustomSearch = { + // 状态 List -- 集合 + bills: [], // 单据状态 + demandOrgs: [], // 下单组织 + receptOrgs: [], // 接单组织 + custList: [], // 客户集合 + saleDept: [], // 销售部门 + salePerson: [], // 销售员 + qcPerson: [], // 跟单员 + matterCodelist: [], // 物料编码 + specificationsList: [], // 规格型号(SKU) + units: [], // 销售单位 + cloStatus: [], // 关闭状态 + createTypes: [], // 数据来源 + stocks: [], // 仓库 + custStocks: [], // 客户仓库 + supplyChains: [], // 供应链 +}; +export const ndPushDownList = [ + // 下推集合 + { id: 1, value: '生产订单' }, + { id: 2, value: '委外订单' }, + { id: 3, value: '采购订单' }, + { id: 4, value: '组织间需求单' }, + { id: 5, value: '分步式调出单' }, +]; +// 采购退料单 新增、编辑 +export const activeReturnBtnAdd = [ + 'copy', + 'revoke', + 'audit', + 'de-approval', + 'delete', + 'push-down', + 'operation', + 'up-check', + 'down-check', + // 'query', + 'refresh', + 's-p-t-g3', + // 's-p-t-g4', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const activeReturnBtnEdit = [ + 'copy', + 'refresh', + 'split-order', + 'print-aterial-list', + 'finish', + 'delete', + 'close', + 'de-close', + 'close-case', + 'de-excute-start', + 'de-excute-finish', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', + 'operation', +]; +export const reDefaultTableInfo = { + id: 0, // 单据id + billNo: '', // 单据编号(采购入库单号) + documentStatus: '', // 单据状态 + billTypeId: '', // 单据类型 + date: '', // 退料日期 + stockOrgId: '', // 退料组织 + returnMaterialDeptId: '', // 退料部门 + stockerId: '', // 仓管员 + replenishMode: '', // 补料方式 + returnMaterialMode: '', // 退料方式 + supplierId: '', // 供应商 + settleOrgId: '', // 结算组织 + settleTypeId: '', // 结算方式 + settleCurrId: '', // 结算币别 + payconditionId: '', // 付款条件 + localCurrId: '', // 本位币 + exchangeTypeId: '', // 汇率类型 + exchangeRate: '', // 汇率 + billTaxAmount: '', // 税额 + billAmount: '', // 金额 + billAllAmount: '', // 价税合计 + creatorIdName: '', // 创建人 + createDate: '', // 创建日期 + modifierName: '', // 最后修改人 + modifyDate: '', // 最后修改日期 + approverName: '', // 审核人 + approveDate: '', // 审核日期 + submitDate: '', // 提交时间 + isPushDown: false, // 是否下推数据 + details: [ + { + id: 0, // id + parentOrderBillNo: '', // 上游订单的的单号 + materialId: '', // 物料id-(物料编码、型号、名称) + specificationId: '', // skuID + specification: '', // 规格型号 名称 + materialNumber: '', // 物料编码 + materialName: '', // 物料名称 + unitId: '', // 库存单位 + carryQty: '', // 采购数量 + carryUnitId: '', // 采购单位 + returnRealQty: '', // 实退数量 + replenishQty: '', // 补料数量 + taxPrice: '', // 含税单价 + taxRate: '', // 税率(%) + stockId: '', // 仓库 + stockName: '', // 仓库名称 + subStockName: '', // 仓仓库名称 + price: '', // 单价 + billTaxAmount: '', // 税额 + amount: '', // 金额 + allAmount: '', // 价税合计 + is211: '', // 是否是211型号 + supplyChain: '', // 供应链 + giveAway: false, // 是否赠品 + customerId: '', // 客户 + customerStockId: '', // 客户仓库 + parentOrderId: '', // 采购明细订单ID + parentOrderType: '', // 上游订单的类型 + discountRate: '', // 折扣率 + discountAmount: '', // 折扣额 + deliveryDate: '', // 期望交期 + purchaseDate: '', // 采购日期 + maxNumber: '', // 最大可下推數量 + barcode: '', // 物料条码 + note: '', + isCustomer: true, + }, + ], +}; +export const reStatusForm = { + billType: [], // 单据类型 + documentStatus: [], // 单据状态 + saleOrg: [], // 组织 收料、采购、结算 + stockDepts: [], // 收料部门 + stockPersons: [], // 仓管员 + getCustomerNumList: [], // 供应商 + returnMaterialType: [], // 退料方式 + feedSupplementType: [], // 补料方式 + collectionTermss: [], // 付款条件 + exchangeRateTypes: [], // 结算方式 + setlementDifferences: [], // 结算币别 + rateTypeList: [], // 汇率类型 + getTaxRateList: [], // 税率 + saleUnits: [], // 获取计量单位 + matterCodelist: [], // 物料编码匹配 + specificationsList: [], // 规格型号 + warehouse: [], // 仓库 + wareOptions: [], // 匹配仓库 + custList: [], // 客户 + customerStocks: [], // 客户仓库 +}; +// 采购入库单 新增、编辑 +export const activeWareBtnAdd = [ + 'add', + 'copy', + 'revoke', + 'audit', + 'de-approval', + 'delete', + 'push-down', + 'operation', + 'up-check', + 'down-check', + // 'query', + 'refresh', + 's-p-t-g3', + // 's-p-t-g4', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const activeWareBtnEdit = [ + 'add', + 'push-down', + 'copy', + 'delete', + 'down-check', + 'refresh', + 'split-order', + 'print-aterial-list', + 'finish', + 'close', + 'de-close', + 'close-case', + 'de-excute-start', + 'de-excute-finish', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', + 'operation', +]; +export const wareDefaultTableInfo = { + id: 0, // 单据id + billNo: '', // 单据编号(采购入库单号) + documentStatus: '', // 单据状态 + billTypeId: '', // 单据类型 + date: '', // 入库日期 + stockOrgId: '', // 收料组织 + stockDeptId: '', // 收料部门 + stockManager: '', // 仓管员 + supplierId: '', // 供应商 + purchaseOrgId: '', // 采购组织 + purchaseDeptId: '', // 采购部门 + purchaserId: '', // 采购员 + settleOrgId: '', // 结算组织 + settleTypeId: '', // 结算方式 + settleCurrId: '', // 结算币别 + payconditionId: '', // 付款条件 + localCurrId: '', // 本位币 + exchangeTypeId: '', // 汇率类型 + exchangeRate: '', // 汇率 + billTaxAmount: '', // 税额 + billAmount: '', // 金额 + billAllAmount: '', // 价税合计 + creatorIdName: '', // 创建人 + createDate: '', // 创建日期 + modifierName: '', // 最后修改人 + modifyDate: '', // 最后修改日期 + approverName: '', // 审核人 + approveDate: '', // 审核日期 + submitDate: '', // 提交时间 + isPushDown: false, // 是否下推数据 + details: [ + { + id: 0, // id + saleOrderNo: '', // 销售订单号 + parentOrderBillNo: '', // 上游订单的的单号 + materialId: '', // 物料id-(物料编码、型号、名称) + specificationId: '', // skuID + specification: '', // 规格型号 名称 + materialNumber: '', // 物料编码 + materialName: '', // 物料名称 + remaininStockUnitId: '', // 采购单位(库存单位) + mustQty: '', // 应收数量 + realQty: '', // 实收数量 + taxPrice: '', // 含税单价 + taxRate: '', // 税率(%) + stockId: '', // 仓库 + stockName: '', // 仓库名称 + subStockId: '', // 子仓库 + subStockName: '', // 仓仓库名称 + price: '', // 单价 + billTaxAmount: '', // 税额 + amount: '', // 金额 + allAmount: '', // 价税合计 + is211: '', // 是否是211型号 + supplyChain: '', // 供应链 + giveAway: false, // 是否赠品 + customerId: '', // 客户 + parentOrderId: '', // 采购明细订单ID + parentOrderType: '', // 上游订单的类型 + discountRate: '', // 折扣率 + discountAmount: '', // 折扣额 + deliveryDate: '', // 期望交期 + purchaseDate: '', // 采购日期 + maxNumber: '', // 最大可下推數量 + barcode: '', // 物料条码 + note: '', + isCustomer: true, + }, + ], +}; +export const wareStatusForm = { + billType: {}, // 单据类型 + documentStatus: {}, // 单据状态 + saleOrg: [], // 组织 收料、采购、结算 + stockDepts: [], // 收料部门 + stockPersons: [], // 仓管员 + getCustomerNumList: [], // 供应商 + purchaseDepts: [], // 采购部门 + purchasePersons: [], // 采购员 + collectionTermss: [], // 付款条件 + exchangeRateTypes: [], // 结算方式 + setlementDifferences: [], // 结算币别 + rateTypeList: [], // 汇率类型 + getTaxRateList: [], // 税率 + saleUnits: [], // 获取计量单位 + matterCodelist: [], // 物料编码匹配 + specificationsList: [], // 规格型号 + warehouse: [], // 仓库 + childWarehouse: [], // 仓位 + wareOptions: [], // 匹配仓库 + custList: [], + customerStocks: [], +}; +export const wareAddGift = { + id: 0, + saleOrderNo: '', + parentOrderBillNo: '', + materialId: '', + specificationId: '', + specification: '', + materialNumber: '', + materialName: '', + remaininStockUnitId: '', + mustQty: '', + realQty: '', + taxPrice: '0', + taxRate: '', + stockId: '', + stockName: '', + subStockId: '', + subStockName: '', + price: '0', + billTaxAmount: '0', + amount: '0', + allAmount: '0', + is211: '', + supplyChain: '', + giveAway: true, + addGift: true, + customerId: '', + parentOrderId: 0, + parentOrderType: null, + discountRate: '0', + discountAmount: '0', + deliveryDate: '', + purchaseDate: '', + maxNumbe: '', + barcode: '', + note: '', + isCustomer: true, +}; +// 分步式调出单 新增、编辑 +export const issueBtnAdd = [ + 'copy', + 'revoke', + 'audit', + 'de-approval', + 'delete', + 'push-down', + 'operation', + 'query', + 'refresh', + 's-p-t-g3', + 's-p-t-g4', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const issueBtnEdit = [ + 'copy', + 'refresh', + 'split-order', + 'close', + 'delete', + 'de-close', + 'print-aterial-list', + 'finish', + 'close-case', + 'de-excute-start', + 'de-excute-finish', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', + 'operation', +]; +export const issDefaultTableInfo = { + id: 0, // 单据id + billNo: '', // 分步式调出单号 + billTypeId: '', // 单据类型 值 + allocatingType: '', // 调拨类型 键 + stockerId: '', // 仓管员 + stockinOrgId: '', // 调出库存组织 + stockOrgId: '', // 调入库存组织 + date: '', // 下单日期 + custId: '', // 客户 + phone: '', // 手机 + linkMan: '', // 联系人 + documentStatus: '', // 单据状态 健 + deptId: '', // 部门 + address: '', // 地址 + creatorName: '', // 创建人 + createDate: '', // 创建时间 + modifierName: '', // 最后修改人 + modifyDate: '', // 最后修改日期 + approverName: '', // 审核人 + approveDate: '', // 审核日期 + commitDate: '', // 提交时间 + details: [ + // 明细 + { + id: 0, // 明细id + seq: 0, // 序号 + salOrderBillNo: '', // 销售订单号 + materialId: '', // 物料id + materialNumber: '', // 物料编码 + materName: '', // 物料编码名称 + materialName: '', // 物料名称 + specificationId: '', // 规格id + specifications: '', // 规格型号 + unitId: '', // 单位id + qty: '', // 调出数量 + stockReceiveQty: '', // 累计调入数量 + remainReceiveQty: '', // 剩余调入数量 + isFree: false, // 是否备品 + srcStockId: '', // 调出仓库 + srcStockPositionId: '', // 调出仓位 + destStockId: '', // 调入仓库 + destStockPositionId: '', // 调入仓位 + deliveryDate: '', // 期望交期 + remarks: '', // 明细备注 + parentOrderId: '', // 上游明细id + parentOrderType: '', // 上游单据类型 + parentOrderNumber: '', // 上游销售数量 + parentOrderBillNo: '', // 上游数量订单号 组织间需求编号 + isOutCustomer: true, // 调出客户、调出客户仓库 + isInnerCustomer: true, // 调入客户、调入客户仓库 + }, + ], +}; +export const issStatusForm = { + allocatingType: {}, // 调拨类型 + billType: {}, // 分步式调出单类型 + documentStatus: {}, // 单据状态 + saleOrg: [], // 组织 + saleParts: [], // 当前门部 + salePerson: [], // 仓管员 + matterCodelist: [], // 物料编码匹配 + specificationsList: [], // 规格型号 + saleUnits: [], // 获取计量单位 + warehouse: [], // 调出仓库 + custmers: [], // 调出客户 + deCustmers: [], // 调入客户 + wareOutOptions: [], // 调出客户仓库 + wareInsetOptions: [], // 调入客户仓库 + warehouseInset: [], // 调入仓库 + childWarehouse: [], // 调出仓位 + childWarehouseInset: [], // 调入仓位 +}; +// 分步式调入单 新增、编辑 +export const entryBtnAdd = [ + 'add', + 'copy', + 'revoke', + 'audit', + 'de-approval', + 'delete', + 'push-down', + 'operation', + 'query', + 'refresh', + 's-p-t-g3', + 's-p-t-g4', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const entryBtnEdit = [ + 'add', + 'push-down', + 'down-check', + 'delete', + 'copy', + 'refresh', + 'split-order', + 'print-aterial-list', + 'finish', + 'close', + 'de-close', + 'close-case', + 'de-excute-start', + 'de-excute-finish', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', + 'print-brower', +]; +export const entryDefaultTableInfo = { + id: 0, // 单据id + billNo: '', // 分步式调出单号 + billTypeId: '', // 单据类型 值 + allocatingType: '', // 调拨类型 键 + stockerId: '', // 仓管员 + stockOrgId: '', // 调出库存组织 + stockinOrgId: '', // 调入库存组织 + date: '', // 下单日期 + custId: '', // 客户 + phone: '', // 手机 + linkMan: '', // 联系人 + documentStatus: '', // 单据状态 健 + deptId: '', // 部门 + address: '', // 地址 + creatorName: '', // 创建人 + createDate: '', // 创建时间 + modifierName: '', // 最后修改人 + modifyDate: '', // 最后修改日期 + approverName: '', // 审核人 + approveDate: '', // 审核日期 + commitDate: '', // 提交时间 + details: [ + // 明细 + { + id: 0, // 明细id + seq: 0, // 序号 + salOrderBillNo: '', // 销售订单号 + materialId: '', // 物料id + materialNumber: '', // 物料编码 + materName: '', // 物料编码名称 + materialName: '', // 物料名称 + specificationId: '', // 规格id + specifications: '', // 规格型号 + unitId: '', // 单位id + qty: '', // 调出数量 + stockReceiveQty: '', // 累计调入数量 + remainReceiveQty: '', // 剩余调入数量 + isFree: 0, // 是否备品 + srcStockId: '', // 调出仓库 + srcStockPositionId: '', // 调出仓位 + destStockId: '', // 调入仓库 + destStockPositionId: '', // 调入仓位 + deliveryDate: '', // 期望交期 + remarks: '', // 明细备注 + parentOrderId: '', // 上游明细id + parentOrderType: '', // 上游单据类型 + parentOrderNumber: '', // 上游销售数量 + parentOrderBillNo: '', // 上游数量订单号 组织间需求编号 + isOutCusHouse: true, // 调出客户、调出客户仓库 + isInnerCusHouse: true, // 调入客户、调入客户仓库 + }, + ], +}; +export const entryStatusForm = { + allocatingType: {}, // 调拨类型 + billType: {}, // 分步式调出单类型 + documentStatus: {}, // 单据状态 + saleOrg: [], // 组织 + saleParts: [], // 当前门部 + salePerson: [], // 仓管员 + matterallCodelist: [], // 物料编码匹配 + specificationalllist: [], // 规格型号 + saleUnits: [], // 获取计量单位 + warehouse: [], // 调出仓库 + custmers: [], // 调出客户 + deCustmers: [], // 调入客户 + wareOutOptions: [], // 调出客户仓库 + wareInsetOptions: [], // 调入客户仓库 + warehouseInset: [], // 调入仓库 + wareOptions: [], // 匹配调出仓库 + childWarehouse: [], // 调出仓位 + childWarehouseInset: [], // 调入仓位 +}; +// 直接调拨 新增、编辑 +export const directBtnAdd = [ + 'copy', + 'revoke', + 'audit', + 'de-approval', + 'delete', + 'push-down', + 'operation', + 'refresh', + 's-p-t-g3', + 's-p-t-g4', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', +]; +export const directBtnEdit = [ + 'copy', + 'refresh', + 'split-order', + 'delete', + 'print-aterial-list', + 'finish', + 'close', + 'de-close', + 'close-case', + 'de-excute-start', + 'de-excute-finish', + 'push-down', + 'query', + 's-p-t-g7', + 's-p-t-g8', + 's-p-t-g9', + 's-p-t-g10', + 'operation', +]; +export const directDefaultTableInfo = { + id: 0, // 单据id + billNo: '', // 直接调拨单号 + billTypeId: '', // 单据类型 值 + allocatingType: '', // 调拨类型 键 + stockerId: '', // 仓管员 + stockOrgId: '', // 组织 + date: '', // 下单日期 + custId: '', // 客户 + phone: '', // 手机 + linkMan: '', // 联系人 + documentStatus: '', // 单据状态 健 + deptId: '', // 部门 + address: '', // 地址 + creatorName: '', // 创建人 + createDate: '', // 创建时间 + modifierName: '', // 最后修改人 + modifyDate: '', // 最后修改日期 + approverName: '', // 审核人 + approveDate: '', // 审核日期 + commitDate: '', // 提交时间 + details: [ + // 明细 + { + id: 0, // 明细id + seq: 0, // 序号 + salOrderBillNo: '', // 销售订单号 + materialId: '', // 物料id + materialNumber: '', // 物料编码 + materName: '', // 物料编码名称 + materialName: '', // 物料名称 + specificationId: '', // 规格id + specifications: '', // 规格型号 + unitId: '', // 单位id + qty: '', // 调出数量 + isFree: 0, // 是否备品 + srcStockId: '', // 调出仓库 + srcStockPositionId: '', // 调出仓位 + destStockId: '', // 调入仓库 + destStockPositionId: '', // 调入仓位 + remarks: '', // 明细备注 + parentOrderId: '', // 上游明细id + parentOrderType: '', // 上游单据类型 + parentOrderNumber: '', // 上游销售数量 + parentOrderBillNo: '', // 上游数量订单号 组织间需求编号 + isOutCusHouse: true, // 调出客户、调出客户仓库 + isInnerCusHouse: true, // 调入客户、调入客户仓库 + }, + ], +}; +export const directStatusForm = { + allocatingType: {}, // 调拨类型 + billType: {}, // 分步式调出单类型 + documentStatus: {}, // 单据状态 + saleOrg: [], // 组织 + saleParts: [], // 当前门部 + salePerson: [], // 仓管员 + matterCodelist: [], // 物料编码匹配 + specificationsList: [], // 规格型号 + saleUnits: [], // 获取计量单位 + warehouse: [], // 调出仓库 + custmers: [], // 调出客户 + deCustmers: [], // 调入客户 + wareOutOptions: [], // 调出客户仓库 + wareInsetOptions: [], // 调入客户仓库 + warehouseInset: [], // 调入仓库 + wareOptions: [], // 匹配调出仓库 +}; diff --git a/src/vendor/Blob.js b/src/vendor/Blob.js new file mode 100644 index 0000000..16e4b6e --- /dev/null +++ b/src/vendor/Blob.js @@ -0,0 +1,176 @@ +/* eslint-disable */ +/* Blob.js + * A Blob implementation. + * 2014-05-27 + * + * By Eli Grey, http://eligrey.com + * By Devin Samarin, https://github.com/eboyjr + * License: X11/MIT + * See LICENSE.md + */ + +/*global self, unescape */ +/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true, + plusplus: true */ + +/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */ + +(function (view) { + "use strict"; + + view.URL = view.URL || view.webkitURL; + + if (view.Blob && view.URL) { + try { + new Blob; + return; + } catch (e) {} + } + + // Internally we use a BlobBuilder implementation to base Blob off of + // in order to support older browsers that only have BlobBuilder + var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function (view) { + var + get_class = function (object) { + return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1]; + }, + FakeBlobBuilder = function BlobBuilder() { + this.data = []; + }, + FakeBlob = function Blob(data, type, encoding) { + this.data = data; + this.size = data.length; + this.type = type; + this.encoding = encoding; + }, + FBB_proto = FakeBlobBuilder.prototype, + FB_proto = FakeBlob.prototype, + FileReaderSync = view.FileReaderSync, + FileException = function (type) { + this.code = this[this.name = type]; + }, + file_ex_codes = ( + "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR " + + "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR" + ).split(" "), + file_ex_code = file_ex_codes.length, + real_URL = view.URL || view.webkitURL || view, + real_create_object_URL = real_URL.createObjectURL, + real_revoke_object_URL = real_URL.revokeObjectURL, + URL = real_URL, + btoa = view.btoa, + atob = view.atob + + , + ArrayBuffer = view.ArrayBuffer, + Uint8Array = view.Uint8Array; + FakeBlob.fake = FB_proto.fake = true; + while (file_ex_code--) { + FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1; + } + if (!real_URL.createObjectURL) { + URL = view.URL = {}; + } + URL.createObjectURL = function (blob) { + var + type = blob.type, + data_URI_header; + if (type === null) { + type = "application/octet-stream"; + } + if (blob instanceof FakeBlob) { + data_URI_header = "data:" + type; + if (blob.encoding === "base64") { + return data_URI_header + ";base64," + blob.data; + } else if (blob.encoding === "URI") { + return data_URI_header + "," + decodeURIComponent(blob.data); + } + if (btoa) { + return data_URI_header + ";base64," + btoa(blob.data); + } else { + return data_URI_header + "," + encodeURIComponent(blob.data); + } + } else if (real_create_object_URL) { + return real_create_object_URL.call(real_URL, blob); + } + }; + URL.revokeObjectURL = function (object_URL) { + if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) { + real_revoke_object_URL.call(real_URL, object_URL); + } + }; + FBB_proto.append = function (data /*, endings*/ ) { + var bb = this.data; + // decode data to a binary string + if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) { + var + str = "", + buf = new Uint8Array(data), + i = 0, + buf_len = buf.length; + for (; i < buf_len; i++) { + str += String.fromCharCode(buf[i]); + } + bb.push(str); + } else if (get_class(data) === "Blob" || get_class(data) === "File") { + if (FileReaderSync) { + var fr = new FileReaderSync; + bb.push(fr.readAsBinaryString(data)); + } else { + // async FileReader won't work as BlobBuilder is sync + throw new FileException("NOT_READABLE_ERR"); + } + } else if (data instanceof FakeBlob) { + if (data.encoding === "base64" && atob) { + bb.push(atob(data.data)); + } else if (data.encoding === "URI") { + bb.push(decodeURIComponent(data.data)); + } else if (data.encoding === "raw") { + bb.push(data.data); + } + } else { + if (typeof data !== "string") { + data += ""; // convert unsupported types to strings + } + // decode UTF-16 to binary string + bb.push(unescape(encodeURIComponent(data))); + } + }; + FBB_proto.getBlob = function (type) { + if (!arguments.length) { + type = null; + } + return new FakeBlob(this.data.join(""), type, "raw"); + }; + FBB_proto.toString = function () { + return "[object BlobBuilder]"; + }; + FB_proto.slice = function (start, end, type) { + var args = arguments.length; + if (args < 3) { + type = null; + } + return new FakeBlob( + this.data.slice(start, args > 1 ? end : this.data.length), type, this.encoding + ); + }; + FB_proto.toString = function () { + return "[object Blob]"; + }; + FB_proto.close = function () { + this.size = this.data.length = 0; + }; + return FakeBlobBuilder; + }(view)); + + view.Blob = function Blob(blobParts, options) { + var type = options ? (options.type || "") : ""; + var builder = new BlobBuilder(); + if (blobParts) { + for (var i = 0, len = blobParts.length; i < len; i++) { + builder.append(blobParts[i]); + } + } + return builder.getBlob(type); + }; + }(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this)); \ No newline at end of file diff --git a/src/vendor/Export2Excel.js b/src/vendor/Export2Excel.js new file mode 100644 index 0000000..ee00f4e --- /dev/null +++ b/src/vendor/Export2Excel.js @@ -0,0 +1,214 @@ +//Export2Excel.js +/* eslint-disable */ +// require('script-loader!file-saver');//保存文件用 +// require('script-loader!@/excel/Blob');//转二进制用 +// require('./Blob');//转二进制用 +// require('script-loader!xlsx/dist/xlsx.core.min');//xlsx核心 +import XLSX from 'xlsx' + +function generateArray(table) { + var out = []; + var rows = table.querySelectorAll('tr'); + var ranges = []; + for (var R = 0; R < rows.length; ++R) { + var outRow = []; + var row = rows[R]; + var columns = row.querySelectorAll('td'); + for (var C = 0; C < columns.length; ++C) { + var cell = columns[C]; + var colspan = cell.getAttribute('colspan'); + var rowspan = cell.getAttribute('rowspan'); + var cellValue = cell.innerText; + if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue; + + //Skip ranges + ranges.forEach(function (range) { + if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) { + for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null); + } + }); + + //Handle Row Span + if (rowspan || colspan) { + rowspan = rowspan || 1; + colspan = colspan || 1; + ranges.push({ + s: { + r: R, + c: outRow.length + }, + e: { + r: R + rowspan - 1, + c: outRow.length + colspan - 1 + } + }); + }; + + //Handle Value + outRow.push(cellValue !== "" ? cellValue : null); + + //Handle Colspan + if (colspan) + for (var k = 0; k < colspan - 1; ++k) outRow.push(null); + } + out.push(outRow); + } + return [out, ranges]; +}; + +function datenum(v, date1904) { + if (date1904) v += 1462; + var epoch = Date.parse(v); + return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); +} + +function sheet_from_array_of_arrays(data, opts) { +// console.log('data',data) + var ws = {}; + var range = { + s: { + c: 10000000, + r: 10000000 + }, + e: { + c: 0, + r: 0 + } + }; + for (var R = 0; R != data.length; ++R) { + for (var C = 0; C != data[R].length; ++C) { + if (range.s.r > R) range.s.r = R; + if (range.s.c > C) range.s.c = C; + if (range.e.r < R) range.e.r = R; + if (range.e.c < C) range.e.c = C; + var cell = { + v: data[R][C] + }; + if (cell.v == null) continue; + var cell_ref = XLSX.utils.encode_cell({ + c: C, + r: R + }); + + if (typeof cell.v === 'number') cell.t = 'n'; + else if (typeof cell.v === 'boolean') cell.t = 'b'; + else if (cell.v instanceof Date) { + cell.t = 'n'; + cell.z = XLSX.SSF._table[14]; + cell.v = datenum(cell.v); + } else cell.t = 's'; + + ws[cell_ref] = cell; + } + } + if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range); + return ws; +} + +function Workbook() { + if (!(this instanceof Workbook)) return new Workbook(); + this.SheetNames = []; + this.Sheets = {}; +} + +function s2ab(s) { + var buf = new ArrayBuffer(s.length); + var view = new Uint8Array(buf); + for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; + return buf; +} + +export function export_table_to_excel(id) { + var theTable = document.getElementById(id); + var oo = generateArray(theTable); + var ranges = oo[1]; + + /* original data */ + var data = oo[0]; + var ws_name = "SheetJS"; + + var wb = new Workbook(), + ws = sheet_from_array_of_arrays(data); + + /* add ranges to worksheet */ + // ws['!cols'] = ['apple', 'banan']; + ws['!merges'] = ranges; + + /* add worksheet to workbook */ + wb.SheetNames.push(ws_name); + wb.Sheets[ws_name] = ws; + + var wbout = XLSX.write(wb, { + bookType: 'xlsx', + bookSST: false, + type: 'binary' + }); + + saveAs(new Blob([s2ab(wbout)], { + type: "application/octet-stream" + }), "test.xlsx") +} + +export function export_json_to_excel({ + header, + data, + filename, + autoWidth = true +} = {}) { + /* original data */ + filename = filename || 'excel-list' + data = [...data] + data.unshift(header); + var ws_name = filename; + var wb = new Workbook(), + ws = sheet_from_array_of_arrays(data); + + if (autoWidth) { + /*设置worksheet每列的最大宽度*/ + const colWidth = data.map(row => row.map(val => { + /*先判断是否为null/undefined*/ + if (val == null) { + return { + 'wch': 15 + }; + } + /*再判断是否为中文*/ + // else if (val.toString().charCodeAt(0) > 255) { + // return { + // 'wch': val.toString().length + // }; + else if (val.toString().length > 60) { + return { + 'wch': 60 + }; + } else { + return { + 'wch': val.toString().length * 2 + }; + } + })) + /*以第一行为初始值*/ + let result = colWidth[0]; + for (let i = 1; i < colWidth.length; i++) { + for (let j = 0; j < colWidth[i].length; j++) { + if (result[j]['wch'] < colWidth[i][j]['wch']) { + result[j]['wch'] = colWidth[i][j]['wch']; + } + } + } + ws['!cols'] = result; + } + + /* add worksheet to workbook */ + wb.SheetNames.push(ws_name); + wb.Sheets[ws_name] = ws; + + var wbout = XLSX.write(wb, { + bookType: 'xlsx', + bookSST: false, + type: 'binary' + }); + saveAs(new Blob([s2ab(wbout)], { + type: "application/octet-stream" + }), filename + ".xlsx"); +} \ No newline at end of file diff --git a/src/vendor/Export2Zip.js b/src/vendor/Export2Zip.js new file mode 100644 index 0000000..6b32f51 --- /dev/null +++ b/src/vendor/Export2Zip.js @@ -0,0 +1,25 @@ +//Export2Zip.js +/* eslint-disable */ +require('script-loader!file-saver'); +import JSZip from 'jszip' + +export function export_txt_to_zip(th, jsonData, txtName, zipName) { + const zip = new JSZip() + const txt_name = txtName || 'file' + const zip_name = zipName || 'file' + const data = jsonData + let txtData = `${th}\r\n` + data.forEach((row) => { + let tempStr = '' + tempStr = row.toString() + txtData += `${tempStr}\r\n` + }) + zip.file(`${txt_name}.txt`, txtData) + zip.generateAsync({ + type: "blob" + }).then((blob) => { + saveAs(blob, `${zip_name}.zip`) + }, (err) => { + alert('导出失败') + }) +} \ No newline at end of file diff --git a/src/views/211/211sale/saleindex.vue b/src/views/211/211sale/saleindex.vue new file mode 100644 index 0000000..09625c3 --- /dev/null +++ b/src/views/211/211sale/saleindex.vue @@ -0,0 +1,1374 @@ + + + diff --git a/src/views/211/supply/completeSet.vue b/src/views/211/supply/completeSet.vue new file mode 100644 index 0000000..8c933ac --- /dev/null +++ b/src/views/211/supply/completeSet.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/211/supply/play.vue b/src/views/211/supply/play.vue new file mode 100644 index 0000000..7f9bf1b --- /dev/null +++ b/src/views/211/supply/play.vue @@ -0,0 +1,1280 @@ + + + diff --git a/src/views/211/supply/semiProdut-copy-2.vue b/src/views/211/supply/semiProdut-copy-2.vue new file mode 100644 index 0000000..176eed3 --- /dev/null +++ b/src/views/211/supply/semiProdut-copy-2.vue @@ -0,0 +1,1726 @@ + + + diff --git a/src/views/211/supply/semiProdut.vue b/src/views/211/supply/semiProdut.vue new file mode 100644 index 0000000..42f29c9 --- /dev/null +++ b/src/views/211/supply/semiProdut.vue @@ -0,0 +1,1913 @@ + + + diff --git a/src/views/Outsourc/outsourcMange/OutSourcMaterial.vue b/src/views/Outsourc/outsourcMange/OutSourcMaterial.vue new file mode 100644 index 0000000..8559ba5 --- /dev/null +++ b/src/views/Outsourc/outsourcMange/OutSourcMaterial.vue @@ -0,0 +1,1832 @@ + + + + diff --git a/src/views/Outsourc/outsourcMange/outSourcFeedOrder.vue b/src/views/Outsourc/outsourcMange/outSourcFeedOrder.vue new file mode 100644 index 0000000..252db04 --- /dev/null +++ b/src/views/Outsourc/outsourcMange/outSourcFeedOrder.vue @@ -0,0 +1,1173 @@ + + + + diff --git a/src/views/Outsourc/outsourcMange/outSourcFeedSet.vue b/src/views/Outsourc/outsourcMange/outSourcFeedSet.vue new file mode 100644 index 0000000..b978f5f --- /dev/null +++ b/src/views/Outsourc/outsourcMange/outSourcFeedSet.vue @@ -0,0 +1,2304 @@ + + + + diff --git a/src/views/Outsourc/outsourcMange/outSourcOrder.vue b/src/views/Outsourc/outsourcMange/outSourcOrder.vue new file mode 100644 index 0000000..2ebf6f5 --- /dev/null +++ b/src/views/Outsourc/outsourcMange/outSourcOrder.vue @@ -0,0 +1,1623 @@ + + + + diff --git a/src/views/Outsourc/outsourcMange/outSourcOrderSet.vue b/src/views/Outsourc/outsourcMange/outSourcOrderSet.vue new file mode 100644 index 0000000..5ec1426 --- /dev/null +++ b/src/views/Outsourc/outsourcMange/outSourcOrderSet.vue @@ -0,0 +1,3410 @@ + + + + diff --git a/src/views/Outsourc/outsourcMange/outSourcPickOrder.vue b/src/views/Outsourc/outsourcMange/outSourcPickOrder.vue new file mode 100644 index 0000000..0e8c87c --- /dev/null +++ b/src/views/Outsourc/outsourcMange/outSourcPickOrder.vue @@ -0,0 +1,1188 @@ + + + + diff --git a/src/views/Outsourc/outsourcMange/outSourcPickSet.vue b/src/views/Outsourc/outsourcMange/outSourcPickSet.vue new file mode 100644 index 0000000..c00f510 --- /dev/null +++ b/src/views/Outsourc/outsourcMange/outSourcPickSet.vue @@ -0,0 +1,2338 @@ + + + + diff --git a/src/views/Outsourc/outsourcMange/outSourcRetrunOrder.vue b/src/views/Outsourc/outsourcMange/outSourcRetrunOrder.vue new file mode 100644 index 0000000..92563b6 --- /dev/null +++ b/src/views/Outsourc/outsourcMange/outSourcRetrunOrder.vue @@ -0,0 +1,1196 @@ + + + + diff --git a/src/views/Outsourc/outsourcMange/outSourcReturnSet.vue b/src/views/Outsourc/outsourcMange/outSourcReturnSet.vue new file mode 100644 index 0000000..b05b84f --- /dev/null +++ b/src/views/Outsourc/outsourcMange/outSourcReturnSet.vue @@ -0,0 +1,2235 @@ + + + + diff --git a/src/views/barCode/productCode/barcodePrint.vue b/src/views/barCode/productCode/barcodePrint.vue new file mode 100644 index 0000000..7bf1057 --- /dev/null +++ b/src/views/barCode/productCode/barcodePrint.vue @@ -0,0 +1,650 @@ + + + + \ No newline at end of file diff --git a/src/views/barCode/productCode/barcodeQuery.vue b/src/views/barCode/productCode/barcodeQuery.vue new file mode 100644 index 0000000..440e11d --- /dev/null +++ b/src/views/barCode/productCode/barcodeQuery.vue @@ -0,0 +1,360 @@ + + + + \ No newline at end of file diff --git a/src/views/demo/components/Table/index.vue b/src/views/demo/components/Table/index.vue new file mode 100644 index 0000000..7bed68c --- /dev/null +++ b/src/views/demo/components/Table/index.vue @@ -0,0 +1,124 @@ + + + diff --git a/src/views/demo/constant/index.js b/src/views/demo/constant/index.js new file mode 100644 index 0000000..3702404 --- /dev/null +++ b/src/views/demo/constant/index.js @@ -0,0 +1,34 @@ +export const COLUMNS = [ + { + label: '审批流编码', + prop: 'billNo', + disabled: false, + style: 'width:330px ', + }, + { + label: '审批流名称', + prop: 'name', + disabled: false, + style: 'width:382px ', + }, + { + label: '应用单据', + prop: 'useOrderType', + style: 'width:302px', + }, + { + label: '单据状态', + prop: 'documentStatus', + style: 'width:285px', + }, + { + label: '维护时间', + prop: 'date', + style: 'width:357px', + }, + { + label: '维护人员', + prop: 'maintainerName', + style: 'width:88px', + }, +]; diff --git a/src/views/demo/index.vue b/src/views/demo/index.vue new file mode 100644 index 0000000..88fc0d1 --- /dev/null +++ b/src/views/demo/index.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/src/views/demo/list.vue b/src/views/demo/list.vue new file mode 100644 index 0000000..478cf2e --- /dev/null +++ b/src/views/demo/list.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/views/examine/components/Result/index.vue b/src/views/examine/components/Result/index.vue new file mode 100644 index 0000000..02bab45 --- /dev/null +++ b/src/views/examine/components/Result/index.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/views/examine/components/Search/index.vue b/src/views/examine/components/Search/index.vue new file mode 100644 index 0000000..e8e62af --- /dev/null +++ b/src/views/examine/components/Search/index.vue @@ -0,0 +1,229 @@ + + + + diff --git a/src/views/examine/components/Table/index.vue b/src/views/examine/components/Table/index.vue new file mode 100644 index 0000000..29c1dd6 --- /dev/null +++ b/src/views/examine/components/Table/index.vue @@ -0,0 +1,142 @@ + + + diff --git a/src/views/examine/components/Timeline/index.scss b/src/views/examine/components/Timeline/index.scss new file mode 100644 index 0000000..33d4518 --- /dev/null +++ b/src/views/examine/components/Timeline/index.scss @@ -0,0 +1,320 @@ +ul.timeline-wrapper { + list-style: none; + margin: 36px; + padding: 0; +} + +/* 时间线 */ +.timeline-item { + position: relative; + + .timeline-box { + text-align: center; + position: absolute; + + .out-circle { + width: 16px; + height: 16px; + background: rgba(65, 120, 213, 1); + box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1); + border-radius: 50%; + display: flex; + align-items: center; + + .in-circle { + width: 6px; + height: 6px; + margin: 0 auto; + background: #fff; + border-radius: 50%; + box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1); + } + } + .out-circle1 { + width: 16px; + height: 16px; + background: rgba(242, 243, 245, 1); + box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1); + border-radius: 50%; + display: flex; + align-items: center; + + .in-circle { + width: 6px; + height: 6px; + margin: 0 auto; + background: #fff; + border-radius: 50%; + box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1); + } + } + .long-line { + border-left: 1px dashed rgba(65, 120, 213, 1); + min-height: 138px; + height: auto; + margin-top: 8px; + margin-left: 7px; + } + .long-line1 { + border-left: 1px dashed rgba(206, 209, 217, 1); + min-height: 138px; + height: auto; + margin-top: 8px; + margin-left: 7px; + } + + // .long-line:nth-last-child(2) { + // border-left: 1px dashed red !important; + // min-height: 18px; + // height: auto; + // margin-top: 8px; + // margin-left: 7px; + // } + // .long-line1:nth-last-child(2) { + // border-left: 1px dashed red !important; + // min-height: 18px; + // height: auto; + // margin-top: 8px; + // margin-left: 7px; + // } + } + .timeline-box:nth-last-child(1) { + .long-line { + border-left: 1px dashed rgba(65, 120, 213, 1); + min-height: 18px; + height: auto; + margin-top: 8px; + margin-left: 7px; + } + .long-line1 { + border-left: 1px dashed rgba(206, 209, 217, 1); + min-height: 18px; + height: auto; + margin-top: 8px; + margin-left: 7px; + } + } + .timeline-content { + display: flex; + box-sizing: border-box; + margin-left: 20px; + min-height: 168px; + height: auto; + padding: 0 0 0 31px; + text-align: left; + margin-bottom: 24px; + + .timeline-title { + font-size: 14px; + word-break: break-all; + margin-bottom: 16px; + color: #333; + font-weight: 700; + line-height: 1; + /*display: inline;*/ + } + + .timeline-date { + font-size: 16px; + color: #333; + font-weight: 500; + margin-bottom: 16px; + } + .timeline-desc { + font-size: 12px; + color: rgba(31, 31, 31, 1); + .timeline-desc-item-box { + display: flex; + flex-wrap: wrap; + width: 540px; + .timeline-desc-item { + width: fit-content; + background: rgba(242, 243, 245, 1); + margin-right: 8px; + padding: 8px 6px; + border-radius: 4px; + margin-bottom: 8px; + } + } + } + .timeline-status { + font-size: 12px; + color: rgba(92, 92, 92, 1); + } + .timeline-status-item-box { + display: flex; + flex-wrap: wrap; + width: 540px; + .timeline-status-item { + background: rgba(242, 243, 245, 1); + margin-right: 8px; + padding: 8px 6px; + border-radius: 4px; + margin-bottom: 8px; + } + } + .timeline-method { + font-size: 12px; + width: 528px; + .timeline-method-item { + width: fit-content; + background: rgba(242, 243, 245, 1); + padding: 10px 16px; + border-radius: 4px; + } + } + .timeline-role { + font-size: 12px; + color: rgba(92, 92, 92, 1); + background: rgba(242, 243, 245, 1); + max-width: 564px; + .timeline-role-item { + padding: 10px 16px; + border-radius: 4px; + } + } + } +} +.rTitle { + flex: 1; + display: flex; + align-items: center; + flex-direction: row-reverse; +} +.rTitle_box_allowed { + font-size: 12px; + border: 1px solid rgba(220, 223, 230, 1); + border-radius: 4px; + width: 128px; + height: 26px; + display: flex; + align-items: center; + justify-content: center; + cursor: not-allowed; //禁用鼠标样式 +} +.rTitle-box { + font-size: 12px; + border: 1px solid rgba(220, 223, 230, 1); + border-radius: 4px; + width: 128px; + height: 26px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; +} +.delete_allowed { + width: 32px; + height: 26px; + display: flex; + justify-content: center; + align-items: center; + margin-right: 8px; + border-radius: 4px; + border: 1px solid rgba(220, 223, 230, 1); + cursor: not-allowed; //禁用鼠标样式 +} +.delete { + width: 32px; + height: 26px; + display: flex; + justify-content: center; + align-items: center; + margin-right: 8px; + border-radius: 4px; + border: 1px solid rgba(220, 223, 230, 1); + cursor: pointer; +} +.timeline-item:last-of-type .timeline-content { + margin-bottom: 0; +} +.add { + border: 1px solid rgba(41, 141, 255, 1); + border-radius: 4px; + font-size: 12px; + width: 124px; + height: 28px; + display: flex; + justify-content: center; + align-items: center; + color: rgba(41, 141, 255, 1); + cursor: pointer; +} +.timeline-newTxet { + font-size: 12px; + color: rgba(153, 153, 153, 1); +} +.timeline-newTxet { + border-radius: 4px; + display: flex; + font-weight: 500; + color: rgba(153, 153, 153, 1); +} +.timeline-newTxet { + // width: 234px; + border-radius: 4px; + display: flex; + font-weight: 500; + color: rgba(153, 153, 153, 1); + .text { + flex: 1; + } + .content { + // flex: 1; + display: flex; + align-items: center; + padding: 0 8px 0 16px; + width: 188px; + height: 48px; + background: rgba(242, 243, 245, 1); + border-radius: 8px; + margin-right: 40px; + line-height: 1; + position: absolute; + top: 2px; + right: 0; + // margin-top: -20px; + span { + flex: 1; + } + &:hover { + background: rgba(236, 241, 250, 1); + color: rgba(65, 120, 213, 1); + cursor: pointer; + } + } +} +.add_allowed { + border: 1px solid rgb(242, 243, 245); + border-radius: 4px; + font-size: 12px; + width: 124px; + height: 28px; + display: flex; + justify-content: center; + align-items: center; + color: #999; + cursor: not-allowed; //禁用鼠标样式 +} +.content_allowed { + // flex: 1; + display: flex; + align-items: center; + padding: 0 8px 0 16px; + width: 188px; + height: 48px; + background: rgba(242, 243, 245, 1); + border-radius: 8px; + margin-right: 40px; + line-height: 1; + position: absolute; + top: 2px; + right: 0; + // margin-top: -20px; + span { + flex: 1; + } + &:hover { + cursor: not-allowed; //禁用鼠标样式 + } +} diff --git a/src/views/examine/components/Timeline/index.vue b/src/views/examine/components/Timeline/index.vue new file mode 100644 index 0000000..85f464e --- /dev/null +++ b/src/views/examine/components/Timeline/index.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/examine/components/Timeline/timeLineStatus.vue b/src/views/examine/components/Timeline/timeLineStatus.vue new file mode 100644 index 0000000..d1d0cb7 --- /dev/null +++ b/src/views/examine/components/Timeline/timeLineStatus.vue @@ -0,0 +1,301 @@ + + + + + diff --git a/src/views/examine/constant/index.js b/src/views/examine/constant/index.js new file mode 100644 index 0000000..d404662 --- /dev/null +++ b/src/views/examine/constant/index.js @@ -0,0 +1,534 @@ +export const COLUMNS = [ + { + label: '审批流编码', + prop: 'billNo', + disabled: false, + style: 'width:330px ', + isCode: true, + }, + { + label: '审批流版本号', + prop: 'versionNo', + disabled: false, + style: 'width:382px ', + }, + { + label: '审批流名称', + prop: 'name', + disabled: false, + style: 'width:382px ', + }, + { + label: '应用单据', + prop: 'useOrderType', + style: 'width:302px', + }, + { + label: '单据状态', + prop: 'documentStatus', + style: 'width:285px', + }, + { + label: '维护时间', + prop: 'date', + style: 'width:357px', + }, + { + label: '维护人员', + prop: 'maintainerName', + style: 'width:88px', + }, +]; +export const BTNS = [ + { + name: '新增', + icon: 'el-icon-circle-plus', + style: 'width: 76px;height: 30px;font-size: 12px;background: rgba(65, 120, 213, 1);border-radius: 4px;display: flex;justify-content:center;align-items: center;color: #fff', + type: 'add', + }, + { + name: '保存', + icon: 'iconfont icon-baocun iconfont-mg', + style: 'width: 76px;height: 30px;background: rgba(255, 255, 255, 1);margin-left:8px', + type: 'save', + }, + { + name: '提交', + icon: '', + style: 'width: 56px;height: 30px;background: rgba(255, 255, 255, 1);margin-left:24px', + type: 'submit', + }, + { + name: '审核', + icon: '', + style: 'width: 56px;height: 30px;background: rgba(255, 255, 255, 1);margin-left:24px', + type: 'audit', + }, + { + name: '反审核', + icon: '', + style: 'width: 56px;height: 30px;background: rgba(255, 255, 255, 1);margin-left:8px', + type: 'noAudit', + }, + // { + // name: '删除', + // icon: 'delete', + // style: 'width: 56px;height: 30px;background: rgba(255, 255, 255, 1);margin-left:8px', + // }, +]; + +export const BTNS1 = [ + { + name: '新增', + icon: 'el-icon-circle-plus', + style: 'width: 76px;height: 30px;font-size: 12px;background: rgba(65, 120, 213, 1);border-radius: 4px;display: flex;justify-content:center;align-items: center;color: #fff', + type: 'add', + }, + + { + name: '提交', + icon: '', + style: 'width: 56px;height: 30px;background: rgba(255, 255, 255, 1);margin-left:24px', + type: 'submit', + }, + { + name: '审核', + icon: '', + style: 'width: 56px;height: 30px;background: rgba(255, 255, 255, 1);margin-left:24px', + type: 'audit', + }, + { + name: '反审核', + icon: '', + style: 'width: 56px;height: 30px;background: rgba(255, 255, 255, 1);margin-left:8px', + type: 'noAudit', + }, + // { + // name: '删除', + // icon: 'delete', + // style: 'width: 56px;height: 30px;background: rgba(255, 255, 255, 1);margin-left:8px', + // }, +]; + +export const SHOWS = { + isApplicableScope: true, + isSetConditions: true, + isMethod: true, +}; +export const TITLES = { + isApplicableScope: '审批流适用范围', + isSetConditions: '设置审批条件', + isMethod: '审批流审批方式', +}; +export const WIDTHS = { + isApplicableScope: '800px', + isSetConditions: '400px', + isMethod: '688px', +}; +export const RULEFORM = { + billNo: '', + name: '', //审批流名称 + orgId: 0, + versionStr: '', //版本 + useOrderType: '', //y应用单据 + documentStatus: 'a', //单据状态 + date: '', + CurrentVersionDetailsId: 0, + details: [ + { + id: 0, + fid: 0, //单据头ID + versionNo: 0, //版本号 + remark: '', //备注 + ranges: [ + { + id: 0, + detailsId: 0, //上级明细ID + deptId: 0, //部门ID + }, + ], //使用范围 + ways: [ + { + id: 0, + detailsId: 0, //上级明细ID + type: 0, //审批类型设置 + method: 0, //审批方式 + sort: 1, //排序 + //审批方式审批人选择 + wayApprovers: [], + }, + // { + // id: 0, + // detailsId: 0, //上级明细ID + // type: 0, //审批类型设置 + // method: 0, //审批方式 + // sort: 2, //排序 + // //审批方式审批人选择 + // wayApprovers: [], + // }, + // { + // id: 0, + // detailsId: 0, //上级明细ID + // type: 0, //审批类型设置 + // method: 0, //审批方式 + // sort: 3, //排序 + // //审批方式审批人选择 + // wayApprovers: [], + // }, + ], + }, + ], +}; +export const WAYSITEM = { + id: 0, + detailsId: 0, //上级明细ID + type: 0, //审批类型设置 + method: 0, //审批方式 + + //审批方式审批人选择 + wayApprovers: [], +}; +export const RULEFORMINIT = { + billNo: '', + name: '', //审批流名称 + useOrderType: '', //y应用单据 + version: '', + documentStatus: 'a', //单据状态 + date: '', + details: [ + { + id: 0, + fid: 0, //单据头ID + versionNo: '', //版本号 + remark: '', //备注 + ranges: [ + { + id: 0, + detailsId: 0, //上级明细ID + deptId: 0, //部门ID + }, + ], //使用范围 + ways: [ + { + id: 0, + detailsId: 0, //上级明细ID + type: 0, //审批类型设置 + method: 0, //审批方式 + sort: 0, //排序 + //审批方式审批人选择 + wayApprovers: [], + }, + ], + }, + ], +}; +// billNo name useOrderType documentStatus date maintainerName +export const SEARCHDATA = [ + { + label: '审批流编号', + prop: 'billNo', + type: 'input', + disabled: true, + class: 'form-item', + placeholder: '(保存时自动生成)', + }, + { + label: '审批流名称', + prop: 'name', + type: 'input', + disabled: false, + required: true, + class: 'form-item', + placeholder: '请输入关键词', + reg: true, + maxLength: 10, + }, + { + label: '应用单据', + prop: 'useOrderType', + type: 'select', + disabled: false, + required: true, + options: [], + class: 'form-item', + placeholder: '请选择应用单据', + }, + { + label: '审批流版本号', + type: 'input', + prop: 'versionStr', + disabled: true, + class: 'form-item', + placeholder: '(保存时自动生成)', + }, + { + label: '单据状态', + prop: 'documentStatus', + type: 'select', + disabled: true, + placeholder: '请选择单据状态', + class: 'form-item', + options: [ + { value: 'a', label: '创建' }, + { value: 'b', label: '审核中' }, + { value: 'c', label: '已审核' }, + { value: 'd', label: '重新审核' }, + ], + }, + { + label: '维护日期', + prop: 'date', + type: 'date', + disabled: true, + class: 'form-item', + style: 'width:280px', + placeholder: '(保存时自动生成)', + }, +]; +//不同状态下的时间线 +//新增 +export const ADDTIMELINE = [ + { + title: '开始', + content: [], //审核人/审核部门 + isDelete: false, //控制编辑状态下的删除按钮 + statuss: [], //审核状态 + method: {}, //审核方式 + rTitle: '审批流适用范围', //编辑状态下的右边文字内容 + isAdd: false, //编辑状态下的添加按钮 + text: '审批流适用范围', //新增标题下的文字 + isNewAdd: false, //控制新增的添加按钮 + setName: '', //新增的右边文字内容 + isLine: true, + isShowM: true, + tag: 'isApplicableScope', + isDis: false, + id: 0, + }, + { + title: '审批条件', + content: [], + statuss: [], + method: {}, + isDelete: false, + rTitle: '设置审批条件', + isAdd: false, + isShowM: true, + text: '单据触发审批的条件', + isNewAdd: false, //控制新增的添加按钮 + setName: '', + isLine: false, + tag: 'isSetConditions', + isDis: false, + id: 1, + }, + { + title: '审批方式', + content: [], + statuss: [], + method: {}, + isDelete: true, + isShowM: true, + rTitle: '选择审批方式', + isAdd: false, + text: '审批流审批方式', + isNewAdd: true, //控制新增的添加按钮 + setName: '', + isLine: false, + tag: 'isMethod', + isDis: false, + id: 2, + }, + { + title: '结束', + content: [], + statuss: [], + method: {}, + isDelete: false, + isShowM: false, + rTitle: '', + setName: '', + isLine: false, + isAdd: true, //控制编辑的添加按钮 + isNewAdd: false, //控制新增的添加按钮 + text: '审批流程结束', + isDis: false, + id: 5, + }, +]; +export const ADDTIMELINEITEM = { + title: '审批方式', + content: [], + statuss: [], + method: {}, + isDelete: true, + isShowM: true, + rTitle: '选择审批方式', + isAdd: false, + text: '审批流审批方式', + isNewAdd: true, //控制新增的添加按钮 + setName: '', + isLine: false, + isLine: false, + tag: 'isMethod', + isDis: false, +}; +export const EDITTIMELINEITEM = { + title: '审批方式', + content: [], + statuss: [], + isShowM: false, + method: { + //name: '部门负责人审批', status: '会签' + }, + text: '审批流审批方式', + isDelete: true, + rTitle: '编辑审批方式', + isAdd: false, + isDis: false, + tag: 'isMethod', + isDis: false, + isLine: false, +}; +//编辑 +export const EDITTIMELNE = [ + { + title: '审批适用范围', + content: [ + // 'ORICO京东', + // '客户服务部', + // '客户服务部', + // '客户服务部', + // '客户服务部', + // 'F2B211项目组', + // 'F2B211项目组', + // 'OPS', + ], + isShowM: false, + isDelete: false, + statuss: [], + method: {}, + role: {}, + rTitle: '编辑适用范围', + isAdd: false, + isDis: false, + id: 0, + isLine: false, + tag: 'isApplicableScope', + }, + { + title: '单据触发审批的条件', + content: [], + statuss: [ + //{ name: '单据状态 : ', status: '审核中' } + ], + isShowM: false, + method: {}, + isDelete: false, + rTitle: '编辑触发条件', + isAdd: false, + isDis: false, + id: 1, + isLine: false, + tag: 'isSetConditions', + }, + { + title: '', + content: [], + statuss: [], + isDis: false, + isShowM: false, + method: { + //name: '部门负责人审批', status: '会签' + }, + isLine: false, + isDelete: true, + rTitle: '编辑审批方式', + tag: 'isMethod', + isAdd: false, + id: 2, + }, + // { + // title: '指定角色', + // content: [], + // statuss: [], + // method: { + // // name: '超级管理员、财务、采购、PMC、深圳教练、深圳团长、长沙教练、长沙团长、长沙人事、长沙行政、长沙财务、长沙教练审批组、长沙IT管理员', + // // status: '会签', + // }, + // isDelete: true, + // rTitle: '编辑审批方式', + // }, + { + title: '结束', + content: [], + statuss: [], + method: {}, + isShowM: false, + isDelete: false, + isDis: false, + rTitle: 'false', + isAdd: true, + id: 5, + }, +]; +//已审核 +// timelineList: [ +// { +// title: '审批流使用范围', +// content: [ +// 'ORICO京东', +// '客户服务部', +// '客户服务部', +// '客户服务部', +// '客户服务部', +// 'F2B211项目组', +// 'F2B211项目组', +// 'OPS', +// ], +// isDelete: false, +// statuss: [], +// method: {}, +// role: {}, +// rTitle: '', +// isAdd: false, +// }, +// { +// title: '单据触发审批的条件', +// content: [], +// statuss: [{ name: '单据状态 : ', status: '审核中' }], +// method: {}, +// isDelete: false, +// rTitle: '', +// isAdd: false, +// }, +// { +// title: '部门负责人审批', +// content: [], +// statuss: [], +// method: { name: '部门负责人审批', status: '会签' }, +// isDelete: false, +// rTitle: '', +// isAdd: false, +// }, +// { +// title: '指定角色', +// content: [], +// statuss: [], +// method: { +// name: '超级管理员、财务、采购、PMC、深圳教练、深圳团长、长沙教练、长沙团长、长沙人事、长沙行政、长沙财务、长沙教练审批组、长沙IT管理员', +// status: '会签', +// }, +// isDelete: false, +// rTitle: '', +// }, +// { +// title: '结束', +// content: [], +// statuss: [], +// method: {}, +// isDelete: false, +// rTitle: '', +// isAdd: false, +// }, +// ], diff --git a/src/views/examine/index.scss b/src/views/examine/index.scss new file mode 100644 index 0000000..550cc54 --- /dev/null +++ b/src/views/examine/index.scss @@ -0,0 +1,344 @@ +.add_box { + width: 934px; + margin: 0 auto; + // overflow-y: auto; + // max-height: 980px; + .btns_box { + margin-left: 0 !important; + } +} +.box { + width: 934px; + background: #fff; + margin: 16px auto; + border-radius: 4px; + padding-bottom: 35px; + max-height: 680px; + overflow-y: auto; +} +.detailed_box { + display: flex; + padding-left: 16px; + padding-top: 14px; + + align-items: center; + .detailed_line { + width: 2px; + height: 14px; + background: rgba(65, 120, 213, 1); + margin-right: 8px; + } + .detailed_title { + font-size: 14px; + font-weight: 700; + } +} +.content_box { + // width: 234px; + border-radius: 4px; + display: flex; + font-weight: 500; + color: rgba(153, 153, 153, 1); + .text { + flex: 1; + } + .add { + display: flex; + justify-content: center; + align-items: center; + width: 106px; + height: 30px; + margin-top: 13px; + border-radius: 4px; + color: rgba(41, 141, 255, 1); + border: 1px solid rgba(41, 141, 255, 1); + font-size: 12px; + cursor: pointer; + } + .content { + // flex: 1; + display: flex; + align-items: center; + padding: 0 8px 0 16px; + width: 188px; + height: 48px; + background: rgba(242, 243, 245, 1); + border-radius: 8px; + margin-right: 40px; + line-height: 1; + position: absolute; + top: 2px; + right: 0; + // margin-top: -20px; + span { + flex: 1; + } + &:hover { + background: rgba(236, 241, 250, 1); + color: rgba(65, 120, 213, 1); + cursor: pointer; + } + } +} +.pt-6 { + padding-top: 6px; +} +::v-deep(.el-timeline-item) { + height: 108px; +} +::v-deep(.el-timeline-item__timestamp) { + font-size: 14px; + font-weight: 700; + color: rgba(31, 31, 31, 1); + margin-bottom: 12px; +} +::v-deep(.el-timeline-item__tail) { + position: absolute; + left: 4px; + top: 20px; + height: 75%; + border-left: 2px dashed rgba(205, 209, 216, 1); +} +::v-deep(.el-timeline-item__node--primary) { + border-color: rgba(65, 120, 213, 1); +} +::v-deep(.el-timeline-item__node.is-hollow) { + border-width: 4px; +} +::v-deep(.el-timeline-item__node--info) { + border-color: rgba(206, 209, 217, 1); +} +::v-deep(.el-dialog) { + border-radius: 4px; +} +::v-deep(.el-dialog__title) { + font-size: 14px; + color: #000; + font-weight: 900; +} +::v-deep(.el-dialog__header) { + border-bottom: 1px solid rgba(235, 238, 247, 1); +} +::v-deep(.el-tree-node) { + margin-top: 8px; +} +::v-deep(.el-checkbox__input.is-checked .el-checkbox__inner) { + border-radius: 2px; + background: rgba(65, 120, 213, 1); + border-color: rgba(65, 120, 213, 1); +} +::v-deep(.el-checkbox__inner:hover) { + border-color: rgba(65, 120, 213, 1); +} +::v-deep(.el-checkbox__input.is-indeterminate .el-checkbox__inner) { + background: rgba(65, 120, 213, 1) !important; + border-color: rgba(65, 120, 213, 1) !important; +} +::v-deep(.el-button--primary) { + // width: 56px; + height: 30px; + border-radius: 4px; + background: rgba(65, 120, 213, 1); + border-color: rgba(65, 120, 213, 1); +} +.dialog_main { + display: flex; + height: 412px; + margin: 14px; + overflow-y: auto; + // width: 800px; + .dialog_main_checkSelect { + flex: 1; + // height: 380px; + span { + font-size: 14px; + color: rgba(153, 153, 153, 1); + } + .dialog_main_checkSelect_tag { + margin-top: 16px; + margin-left: 8px; + padding: 6px 8px; + background: rgba(242, 243, 245, 1); + border-radius: 4px; + height: 14px; + font-size: 12px !important; + // width: fit-content; + } + } + .dialog_main_select { + flex: 1; + display: flex; + flex-direction: column; + border-left: 1px solid rgba(220, 223, 230, 1); + span { + font-size: 14px; + color: rgba(153, 153, 153, 1); + margin-left: 18px; + } + } +} +.dialog_footer { + padding-bottom: 24px; + .dialog_footer_title { + color: rgba(92, 92, 92, 1); + margin-bottom: 8px; + } +} +::v-deep(.el-radio) { + color: rgba(31, 31, 31, 1); +} +.status { + color: rgba(92, 92, 92, 1); + font-size: 12px; + margin-top: 16px; +} + +.radio { + color: rgba(92, 92, 92, 1); + font-size: 12px; + margin-top: 16px; +} +.remack { + color: rgba(153, 153, 153, 1); + font-size: 12px; + margin-top: 16px; + margin-bottom: 24px; +} + +::v-deep(.el-radio__input.is-checked .el-radio__inner) { + border-color: rgb(65, 120, 213); + background: rgb(65, 120, 213); +} +::v-deep(.el-radio__input.is-checked + .el-radio__label) { + color: #333; + font-size: 12px; +} + +::v-deep(.el-radio__label) { + font-size: 12px; +} +.radio_group { + flex-direction: column; + flex-wrap: wrap; + width: 150px; + font-size: 12px; + // margin-left: 12px; + margin-top: 10px; +} +::v-depp(.el-radio__label) { + font-size: 12px !important; +} +.method_box { + font-size: 12px; + margin-top: 16px; + // margin-left: 16px; +} +.method_title { + color: rgba(92, 92, 92, 1); +} +.method_remack { + margin-top: 6px; + color: rgba(153, 153, 153, 1); +} +.method_radio_group { + flex-direction: column; + flex-wrap: wrap; + width: 150px; + font-size: 12px; + margin-top: 15px; +} +.check_box { + width: 432px; + height: 190px; + border: 1px solid rgba(220, 223, 230, 1); + border-radius: 4px; + padding: 16px; + margin-bottom: 36px; + overflow-y: auto; + + ::v-deep(.el-checkbox__inner:hover) { + border-color: rgb(65, 120, 213); + } + ::v-deep(.el-checkbox__input.is-indeterminate .el-checkbox__inner) { + border-color: rgb(65, 120, 213); + background: rgb(65, 120, 213); + } + ::v-deep(.el-checkbox__input.is-checked + .el-checkbox__label) { + color: rgba(31, 31, 31, 1); + } + ::v-deep(.el-checkbox) { + display: block; + font-size: 12px; + } + ::v-deep(.el-checkbox .el-checkbox--small) { + font-size: 12px !important; + } + // ::v-deep(.el-checkbox__label) { + // font-size: 12px; + // line-height: 1.5; + // } +} +.tree_box { + width: 432px; + height: 190px; + border: 1px solid rgba(220, 223, 230, 1); + border-radius: 4px; + padding: 16px; + overflow-y: auto; + margin-bottom: 36px; +} +.text { + color: rgba(92, 92, 92, 1); + font-size: 12px; + // margin-top: 24px; + width: 400px; +} +.header_title { + margin: 16px 0 12px 0; + font-size: 12px; + color: rgba(92, 92, 92, 1); +} +.radioItem { + width: 165px; + height: 36px; + background: rgba(236, 241, 250, 1); + // padding-left: 12px; +} +.radio_pl12 { + padding-left: 12px; +} +.custom-timestamp { + color: #999; + font-size: 12px; +} +.info_box { + width: 934px; + height: 149px; + position: relative; + background: #fff; + border-radius: 4px; + margin: 16px auto; +} +::v-deep(.el-select .el-input__inner) { + display: inline; +} +::v-deep(.el-date-editor) { + width: 160px; +} +::v-deep(.el-input__prefix) { + position: absolute; + height: 100%; + right: -125px; + top: 0; + text-align: center; + color: var(--el-input-icon-color, var(--el-text-color-placeholder)); + transition: all var(--el-transition-duration); + z-index: 6; +} +::v-deep(.el-form-item__label) { + font-size: 12px; +} +::v-depp(.el-checkbox__input .is-checked) { + display: flex; + align-items: safe; +} diff --git a/src/views/examine/index.vue b/src/views/examine/index.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/views/examine/mange/ApplicableScope/index.vue b/src/views/examine/mange/ApplicableScope/index.vue new file mode 100644 index 0000000..1b79981 --- /dev/null +++ b/src/views/examine/mange/ApplicableScope/index.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/src/views/examine/mange/Method/OtherDepartments.vue b/src/views/examine/mange/Method/OtherDepartments.vue new file mode 100644 index 0000000..f9eedca --- /dev/null +++ b/src/views/examine/mange/Method/OtherDepartments.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/views/examine/mange/Method/directlyUnder.vue b/src/views/examine/mange/Method/directlyUnder.vue new file mode 100644 index 0000000..a20abe5 --- /dev/null +++ b/src/views/examine/mange/Method/directlyUnder.vue @@ -0,0 +1,17 @@ + + + + + + diff --git a/src/views/examine/mange/Method/index.vue b/src/views/examine/mange/Method/index.vue new file mode 100644 index 0000000..d0e6d9f --- /dev/null +++ b/src/views/examine/mange/Method/index.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/src/views/examine/mange/Method/member.vue b/src/views/examine/mange/Method/member.vue new file mode 100644 index 0000000..a6c1200 --- /dev/null +++ b/src/views/examine/mange/Method/member.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/src/views/examine/mange/Method/methodHeader.vue b/src/views/examine/mange/Method/methodHeader.vue new file mode 100644 index 0000000..12d9a9e --- /dev/null +++ b/src/views/examine/mange/Method/methodHeader.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/views/examine/mange/Method/radio.vue b/src/views/examine/mange/Method/radio.vue new file mode 100644 index 0000000..72bf504 --- /dev/null +++ b/src/views/examine/mange/Method/radio.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/views/examine/mange/Method/role.vue b/src/views/examine/mange/Method/role.vue new file mode 100644 index 0000000..af15910 --- /dev/null +++ b/src/views/examine/mange/Method/role.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/examine/mange/SetConditions/index.vue b/src/views/examine/mange/SetConditions/index.vue new file mode 100644 index 0000000..fab1bac --- /dev/null +++ b/src/views/examine/mange/SetConditions/index.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/examine/mange/StatusDialog/index.vue b/src/views/examine/mange/StatusDialog/index.vue new file mode 100644 index 0000000..7333cda --- /dev/null +++ b/src/views/examine/mange/StatusDialog/index.vue @@ -0,0 +1,62 @@ + + + + + + diff --git a/src/views/examine/mange/examineAdd.vue b/src/views/examine/mange/examineAdd.vue new file mode 100644 index 0000000..66c09ce --- /dev/null +++ b/src/views/examine/mange/examineAdd.vue @@ -0,0 +1,591 @@ + + + + + diff --git a/src/views/examine/mange/examineFollow.vue b/src/views/examine/mange/examineFollow.vue new file mode 100644 index 0000000..dd1af45 --- /dev/null +++ b/src/views/examine/mange/examineFollow.vue @@ -0,0 +1,311 @@ + + + + + diff --git a/src/views/examine/mange/examineList.vue b/src/views/examine/mange/examineList.vue new file mode 100644 index 0000000..e7ab47a --- /dev/null +++ b/src/views/examine/mange/examineList.vue @@ -0,0 +1,263 @@ + + + diff --git a/src/views/examine/mange/test.vue b/src/views/examine/mange/test.vue new file mode 100644 index 0000000..e489669 --- /dev/null +++ b/src/views/examine/mange/test.vue @@ -0,0 +1,932 @@ + + + + + diff --git a/src/views/examine/mange/test1.vue b/src/views/examine/mange/test1.vue new file mode 100644 index 0000000..a4b542d --- /dev/null +++ b/src/views/examine/mange/test1.vue @@ -0,0 +1,810 @@ + + + + + diff --git a/src/views/examine/utils/addData.js b/src/views/examine/utils/addData.js new file mode 100644 index 0000000..964c861 --- /dev/null +++ b/src/views/examine/utils/addData.js @@ -0,0 +1,44 @@ +import { + EDITTIMELINEITEM, + // RULEFORMINIT, + ADDTIMELINEITEM, + WAYSITEM, +} from '../constant/index.js'; + +export const addData = (datas, t) => { + let item = + datas.ruleForm.documentStatus === 'a' + ? JSON.parse(JSON.stringify(ADDTIMELINEITEM)) + : JSON.parse(JSON.stringify(EDITTIMELINEITEM)); + let waysItem = JSON.parse(JSON.stringify(WAYSITEM)); + //隐藏上一个添加审批方式按钮 + datas.timelineList.forEach((item) => { + item.isNewAdd = false; + }); + let length = datas.timelineList.length; + item.id = length - 1; + //显示下一个添加审批方式按钮 + datas.timelineList.splice(item.id, 0, item); + + //审批方式最多为3个,到达3个则不再显示添加审批方式按钮 + // if (datas.timelineList.length > 5) { + // datas.timelineList.forEach((item) => { + // item.isNewAdd = false; + // item.isAdd = false; + // }); + // } + + datas.ruleForm.details[datas.detailsIndex].ways.push(waysItem); + + let sum = 1; + datas.timelineList.forEach((item) => { + if (item.isLine) { + sum++; + } + if (sum === datas.timelineList.length) { + item.isLine = true; + } else { + datas.timelineList[datas.timelineList.length - 1].isLine = false; + } + }); +}; diff --git a/src/views/examine/utils/commitHttpData.js b/src/views/examine/utils/commitHttpData.js new file mode 100644 index 0000000..e17107f --- /dev/null +++ b/src/views/examine/utils/commitHttpData.js @@ -0,0 +1,180 @@ +//import { useRouter } from 'vue-router'; +// const $router = useRouter(); +//import { getCurrentInstance } from 'vue'; +import { formatDate } from '@/utils/lodash/formatDate.js'; +import { msg } from '@/utils/lodash/msg.js'; +import { + approvalFlowSave, + approvalFlowSubmit, + approvalFlowCheck, + approvalFlowRecheck, +} from '@/utils/api.js'; +// const { proxy } = getCurrentInstance(); +// const { $http } = proxy; + +export const commitHttpData = (datas, val, $http, $router, $route) => { + datas.isOperate = true; + setTimeout(() => { + datas.isOperate = false; + }, 1000); + let type = val.type; + let ids = []; + if ($route.query.id) { + ids.push(Number($route.query.id)); + } else { + ids.push(datas.ruleForm.id); + } + if (type === 'add') { + $router.push({ + path: '/examine/mange/examineAdd', + query: { type: 'add', id: '', sjtag: Math.random() * 36 }, + }); + } + if (type === 'submit' || type === 'save') { + if ( + datas.ruleForm.documentStatus === 'c' || + datas.ruleForm.documentStatus === 'b' + ) { + msg('error', '只能保存|提交创建中的审批流!'); + return false; + } + //atas.timeLineList + //过滤适用范围 + datas.ruleForm.details[datas.detailsIndex].ranges = + datas.ruleForm.details[datas.detailsIndex].ranges.filter((item) => { + return item.deptId; + }); + + //过滤没有选择的审批方式,因为审批方式里的数据是写死的,所以过滤一下不想去动态添加了 + datas.ruleForm.details[datas.detailsIndex].ways = + datas.ruleForm.details[datas.detailsIndex].ways.filter((item) => { + return item.type && item.method; + }); + datas.ruleForm.details[datas.detailsIndex].ways.forEach( + (item, index) => { + item.sort = index + 1; + item.id = 0; + item.detailsId = 0; + } + ); + datas.ruleForm.details[datas.detailsIndex].ranges.forEach((item) => { + item.id = 0; + item.detailsId = 0; + }); + const URLS = { + submit: approvalFlowSubmit, + save: approvalFlowSave, + }; + let MSGS = { + submit: '提交成功!', + save: '保存成功!', + }; + if (!datas.ruleForm.name) { + msg('error', '请填写审批流名称'); + return; + } + if (!datas.ruleForm.useOrderType) { + msg('error', '请填写应用单据'); + return; + } + if (type === 'submit') { + if ( + !datas.ruleForm.details[datas.detailsIndex].ranges.length || + !datas.ruleForm.details[datas.detailsIndex].ranges[0].deptId + ) { + msg('error', '请选择审批适用范围'); + return; + } + if (!datas.timelineList[1].isLine) { + msg('error', '请选择审批条件!'); + return false; + } + if (!datas.timelineList[2].isLine) { + msg('error', '请选择审批方式!'); + return false; + } + //过滤审批方式 回显 + datas.timelineList = datas.timelineList.filter((item) => { + return item.title !== '审批方式'; + }); + } + datas.loading = true; + $http + .post(URLS[type], datas.ruleForm) + .then((res) => { + if (res.status === 200) { + msg('success', MSGS[type]); + res.data.useOrderType = res.data.useOrderType + ''; + let Dlength = res.data.details.length - 1; + res.data.date = formatDate(new Date(res.data.date)) || ''; + datas.detailsIndex = Dlength; + datas.ruleForm = res.data; + datas.ruleForm.versionStr = + datas.ruleForm.details[Dlength].versionStr; + datas.ruleForm.CurrentVersionDetailsId = + datas.ruleForm.details[Dlength].id; + + let sum = 1; + datas.timelineList.forEach((item) => { + if (item.isLine) { + sum++; + } + if (sum === datas.timelineList.length) { + item.isLine = true; + } else { + datas.timelineList[ + datas.timelineList.length - 1 + ].isLine = false; + } + }); + } + }) + .finally(() => { + datas.loading = false; + }); + } + if (type === 'audit') { + if (datas.ruleForm.documentStatus !== 'b') { + msg('error', '只能审核状态为“审核中”的订单!'); + return false; + } + datas.loading = true; + $http + .post(approvalFlowCheck, { ids }) + .then((res) => { + if (res.status === 200) { + if (res.data[0].isSuccess) { + datas.ruleForm.documentStatus = 'c'; + msg('success', '审核成功'); + } else { + msg('success', '审核失败'); + } + } + }) + .finally(() => { + datas.loading = false; + }); + } + if (type === 'noAudit') { + if (datas.ruleForm.documentStatus !== 'c') { + msg('error', '只能反审核状态为“已审核”的订单!'); + return false; + } + datas.loading = true; + $http + .post(approvalFlowRecheck, { ids }) + .then((res) => { + if (res.status === 200) { + if (res.data[0].isSuccess) { + datas.ruleForm.documentStatus = 'd'; + msg('success', '反审核成功'); + } else { + msg('success', '反审核失败'); + } + } + }) + .finally(() => { + datas.loading = false; + }); + } +}; diff --git a/src/views/examine/utils/deleteData.js b/src/views/examine/utils/deleteData.js new file mode 100644 index 0000000..4466fcd --- /dev/null +++ b/src/views/examine/utils/deleteData.js @@ -0,0 +1,50 @@ +import { ElMessageBox } from 'element-plus'; +import { msg } from '@/utils/lodash/msg.js'; +export const deleteData = (datas, item, id) => { + if ( + datas.ruleForm.documentStatus === 'c' || + datas.ruleForm.documentStatus == 'b' + ) { + msg('warning', '只能删除创建中的审批流!'); + return; + } + ElMessageBox.confirm('确定要删除该审批方式吗?', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + }).then(() => { + let length = datas.timelineList.length; + if (length === 4) { + msg('warning', '请至少保留一个审批方式!'); + return; + } + + datas.timelineList.splice(item.id, 1); + let waysIndex = item.id - 2; + datas.ruleForm.details[datas.detailsIndex].ways.splice(waysIndex, 1); + let targetLength = datas.timelineList.length; + + targetLength < length + ? msg('success', '删除成功') + : msg('success', '删除失败'); + //重置id + for (let i = 0; i < targetLength; i++) { + if (datas.timelineList[i].title !== '结束') { + datas.timelineList[i].id = i; + } + let sum = 1; + datas.timelineList.forEach((item) => { + if (item.isLine) { + sum++; + } + if (sum === datas.timelineList.length) { + item.isLine = true; + } else { + datas.timelineList[ + datas.timelineList.length - 1 + ].isLine = false; + } + }); + } + }); +}; diff --git a/src/views/examine/utils/detailsDataInit.js b/src/views/examine/utils/detailsDataInit.js new file mode 100644 index 0000000..574895b --- /dev/null +++ b/src/views/examine/utils/detailsDataInit.js @@ -0,0 +1,156 @@ +const METHODS = ['', '会签', '或签']; +const DISNUM = [2, 3, 4]; +import { EDITTIMELINEITEM, WAYSITEM } from '../constant/index'; +export const detailsDataInit = (datas, detailsId) => { + let Dlength = datas.ruleForm.details.findIndex((item) => { + return item.id == detailsId; + }); + + // let Dlength = datas.ruleForm.details.length - 1; + datas.detailsIndex = Dlength; + let versionStr = datas.ruleForm.details[Dlength].versionStr; + datas.ruleForm.versionStr = versionStr; + datas.ruleForm.CurrentVersionDetailsId = datas.ruleForm.details[Dlength].id; + //审批流适用范围部门回显设置 + let deptIds = []; + // let versionNo = $route.query.versionNo; + let items = datas.ruleForm.details.filter((item) => { + return item.id == detailsId; + }); + //审批适用范围部门ids + items[0].ranges.forEach((item) => { + deptIds.push(item.deptId); + }); + //部门数据是异步获取,存在详情数据过来了部门数据还没过来的问题 + if (Array.isArray(datas.wayList) && datas.wayList.length) { + datas.wayList.forEach((item) => { + if (deptIds.includes(item.id)) { + datas.timelineList[0].content.push(item.name); + } + }); + } + //审批方式回显设置 + + //获取审批方式长度 + let length = datas.ruleForm.details[Dlength].ways.length; + let obj = {}; + let types = []; + let waysItem = {}; + //获取审批方式类型 + for (let i = 0; i < length; i++) { + types.push(datas.ruleForm.details[Dlength].ways[i].type); + waysItem[i + 2] = datas.ruleForm.details[Dlength].ways[i]; + } + //waysItem为空证明用户没有添加审批方式,直接给title + if (JSON.stringify(waysItem) === '{}') { + datas.timelineList[2].title = '审批方式'; + datas.timelineList[2].text = '审批流审批方式'; + } + + if (!datas.ruleForm.details[datas.detailsIndex].ways.length) { + let item = JSON.parse(JSON.stringify(WAYSITEM)); + datas.ruleForm.details[datas.detailsIndex].ways.push(item); + } + + //获取对应的title + let rLength = datas.radios.length; + for (let i = 0; i < rLength; i++) { + let item = datas.radios[i]; + if (types.includes(Number(item.value))) { + obj[i + 1] = item.label; + } + } + //先为静态数据添加对等的审批方式 循环从1开始 + for (let i = 1; i < length; i++) { + let item = JSON.parse(JSON.stringify(EDITTIMELINEITEM)); + let lineLength = datas.timelineList.length; + item.id = lineLength - 1; + datas.timelineList.splice(item.id, 0, item); + } + + //设置对应的交互 + //设置审批方式 + let tLength = datas.timelineList.length; + for (let i = 0; i < tLength; i++) { + let item = datas.timelineList[i]; + + //title设置和审批方式 + let type; + if (DISNUM.includes(item.id) && JSON.stringify(waysItem) !== '{}') { + type = waysItem[item.id].type; + item.title = obj[type]; + let method = waysItem[item.id].method; + item.method.status = METHODS[method]; + } + + if (i === 0 && item.content.length) { + datas.timelineList[0].isLine = true; + } + if (i === 1 && item.statuss.length) { + datas.timelineList[1].isLine = true; + } + if (i === 1 && item.statuss.length) { + } + + if (i === 2 && item.title !== '审批方式') { + datas.timelineList[2].isLine = true; + } + if (i === 3 && item.title !== '审批方式') { + console.log(); + datas.timelineList[3].isLine = true; + } + if (i === 4 && item.title !== '审批方式') { + datas.timelineList[4].isLine = true; + } + if (obj[type] === '部门负责人审批') { + item.method.name = '部门负责人审批'; + } + if (obj[type] === '指定成员审批') { + let memberIds = []; + let names = []; + waysItem[item.id].wayApprovers.forEach((item) => { + memberIds.push(item.approverId); + }); + datas.memberList.forEach((it) => { + if (memberIds.includes(it.id)) { + names.push(it.name); + } + }); + item.method.name = names.join(','); + } + if (obj[type] === '其它部门负责人审批') { + let depids = []; + waysItem[item.id].wayApprovers.forEach((item) => { + depids.push(item.deptId); + }); + datas.wayList.forEach((dept) => { + if (depids.includes(dept.id)) { + item.method.name = dept.name; + } + }); + } + } + //控制对应的审批方式添加按钮显示隐藏 + // if (length == 3) { + // datas.timelineList.forEach((item) => { + // item.isAdd = false; + // }); + // } else { + // datas.timelineList[datas.timelineList.length - 1].isAdd = true; + // } + let sum = 1; + datas.timelineList.forEach((item) => { + if (item.isLine) { + sum++; + } + if (sum === datas.timelineList.length) { + item.isLine = true; + } else { + datas.timelineList[datas.timelineList.length - 1].isLine = false; + } + }); + // return { + // ruleForm: datas.ruleForm, + // timelineList: datas.timelineList, + // }; +}; diff --git a/src/views/examine/utils/dialogCommitData.js b/src/views/examine/utils/dialogCommitData.js new file mode 100644 index 0000000..37b9961 --- /dev/null +++ b/src/views/examine/utils/dialogCommitData.js @@ -0,0 +1,149 @@ +const METHODS = ['', '会签', '或签']; +const DISNUM = [2, 3, 4]; +import { msg } from '@/utils/lodash/msg.js'; +import { WAYSITEM } from '../constant/index'; + +export const dialogCommitData = ( + datas, + type, + applicableScopeRef, + setMethodRef +) => { + //适用范围 + if (datas.isApplicableScope) { + //获取适用范围数据 + let data = applicableScopeRef.value.getData(); + datas.timelineList[0].isLine = true; + let names = []; + data.selectedKeys.forEach((item) => { + names.push(item.name); + }); + + datas.timelineList[0].content = names; + datas.ruleForm.details[datas.detailsIndex].remark = data.remark; + //重组数据 + let rangesInitArray = []; + let length = data.ids.length || 0; + for (let i = 0; i < length; i++) { + let rangesItem = { id: 0, detailsId: 0, deptId: data.ids[i] }; + rangesInitArray.push(rangesItem); + } + datas.ruleForm.details[datas.detailsIndex].ranges = rangesInitArray; + //回填 + } + if (datas.isSetConditions) { + datas.timelineList[1].statuss = [ + { name: '单据状态 : ', status: '审核中' }, + ]; + datas.timelineList[1].text = ''; + datas.timelineList[1].isLine = true; + } + //审批方式 + if (datas.isMethod) { + let data = setMethodRef.value.getData(); + let timeIndex = datas.timelineItemIndex; + let waysIndex = timeIndex - 2; + //选中的审批方式type + //设置Title和禁止其他的审批方式 + datas.radios.forEach((item) => { + if (item.value == data.radioValue) { + datas.timelineList[timeIndex].title = item.label; + } + }); + datas.timelineList[timeIndex].isLine = true; + //审批类型; + if (!datas.ruleForm.details[datas.detailsIndex].ways.length) { + let item = JSON.parse(JSON.stringify(WAYSITEM)); + datas.ruleForm.details[datas.detailsIndex].ways.push(item); + } + datas.ruleForm.details[datas.detailsIndex].ways[waysIndex].type = + Number(data.radioValue); + //审批方式; + datas.ruleForm.details[datas.detailsIndex].ways[waysIndex].method = + Number(data.methodValue); + + // //指定成员审批 + if (data.radioValue == '2') { + let length = data.memberData.length || 0; + datas.ruleForm.details[datas.detailsIndex].ways[ + waysIndex + ].wayApprovers = []; + if (!length) { + msg('warning', '请选择成员!'); + return; + } + if (length >= 20) { + msg('warning', '最多选择20名成员!'); + return; + } + for (let i = 0; i < length; i++) { + let obj = { + id: 0, + wayId: 0, + deptId: data.memberData[i].deptId, + approverId: data.memberData[i].id, + }; + + datas.ruleForm.details[datas.detailsIndex].ways[ + waysIndex + ].wayApprovers.push(obj); + } + let names = []; + data.memberData.forEach((item) => { + names.push(item.name); + }); + datas.timelineList[timeIndex].method.name = names.join('、'); + } + // //指定其他部门负责人审批 + if (data.radioValue == '3') { + let radioData; + datas.wayList.forEach((item) => { + if (item.id === datas.setConditionsData.deptValue) { + radioData = item; + } + }); + //!data.radioData.managerId + if (!radioData.managerId) { + msg('warning', '请重新选择部门负责人!'); + return false; + } + datas.timelineList[timeIndex].method.name = radioData.label; + let obj = { + id: 0, + wayId: 0, + deptId: radioData.id || 0, + approverId: radioData.managerId || 0, + }; + datas.ruleForm.details[datas.detailsIndex].ways[ + waysIndex + ].wayApprovers[0] = obj; + } + //禁止非选择的审批方式,只能修改选择了的 + if (DISNUM.includes(timeIndex)) { + //改变审批方式左边的文字 + let index = Number(data.radioValue) - 1; + let label = datas.radios[index].label; + //设置审批人 + if (label === '部门负责人审批') { + datas.timelineList[timeIndex].method.name = label; + } + //设置审批方式 + datas.timelineList[timeIndex].method.status = + METHODS[data.methodValue]; + } + } + //从1开始,因为结束是最后才设置的 + let sum = 1; + datas.timelineList.forEach((item) => { + if (item.isLine) { + sum++; + } + if (sum === datas.timelineList.length) { + item.isLine = true; + } else { + datas.timelineList[datas.timelineList.length - 1].isLine = false; + } + }); + //关闭窗口 + datas[type] = false; +}; diff --git a/src/views/examine/utils/index.js b/src/views/examine/utils/index.js new file mode 100644 index 0000000..7f47236 --- /dev/null +++ b/src/views/examine/utils/index.js @@ -0,0 +1,14 @@ +import { detailsDataInit } from './detailsDataInit'; +import { dialogCommitData } from './dialogCommitData'; +import { rigthBtnDataInit } from './rigthBtnDataInit'; +import { commitHttpData } from './commitHttpData'; +import { deleteData } from './deleteData'; +import { addData } from './addData'; +export { + detailsDataInit, + dialogCommitData, + rigthBtnDataInit, + commitHttpData, + deleteData, + addData, +}; diff --git a/src/views/examine/utils/init.js b/src/views/examine/utils/init.js new file mode 100644 index 0000000..e69de29 diff --git a/src/views/examine/utils/rigthBtnDataInit.js b/src/views/examine/utils/rigthBtnDataInit.js new file mode 100644 index 0000000..398aa0b --- /dev/null +++ b/src/views/examine/utils/rigthBtnDataInit.js @@ -0,0 +1,70 @@ +import { TITLES, WIDTHS } from '../constant/index.js'; +export const rigthBtnDataInit = (datas, item) => { + if ( + datas.ruleForm.documentStatus !== 'a' && + datas.ruleForm.documentStatus !== 'd' + ) { + return; + } + datas.timelineItemIndex = item.id; + datas.title = TITLES[item.tag]; + datas.width = WIDTHS[item.tag]; + for (let key in datas.showDialogContent) { + datas[key] = false; + datas[item.tag] = true; + } + //禁止 + if (item.id > 1) { + let wayItem = + datas.ruleForm.details[datas.detailsIndex].ways[item.id - 2]; + let type = wayItem ? wayItem.type : 0; + //审批方式 + let methodValue = wayItem ? wayItem.method : '1'; + let wayItemLength = wayItem ? wayItem.wayApprovers.length : 0; + if (wayItemLength) { + datas.setConditionsData.deptValue = wayItem.wayApprovers[0].deptId; + datas.setConditionsData.checkIds = wayItem.wayApprovers; + } + + if (type) { + datas.setConditionsData.methodValue = methodValue + ''; + datas.setConditionsData.radioValue = type + ''; + datas.radios.forEach((item) => { + item.disabled = true; + if (item.value == type) { + item.disabled = false; + } + }); + } else { + let types = []; + datas.setConditionsData.methodValue = '1'; + datas.ruleForm.details[datas.detailsIndex].ways.forEach((item) => { + if (item.type) { + types.push(item.type + ''); + } + }); + datas.radios.forEach((item) => { + item.disabled = false; + if (types.includes(item.value)) { + item.disabled = types.includes(item.value); + } + }); + const radioValueArr = ['1', '2', '3']; + for (let i = 0; i < radioValueArr.length; i++) { + if (!types.includes(radioValueArr[i])) { + datas.setConditionsData.radioValue = radioValueArr[i]; + return; + } + } + } + } + + if (item.title === '审批适用范围') { + //回填 + datas.applicableScopeData.remark = + datas.ruleForm.details[datas.detailsIndex].remark; + datas.ruleForm.details[datas.detailsIndex].ranges.forEach((item) => { + datas.applicableScopeData.checkIds.push(item.deptId); + }); + } +}; diff --git a/src/views/export/exportMange/exportlist.vue b/src/views/export/exportMange/exportlist.vue new file mode 100644 index 0000000..ed8b3b4 --- /dev/null +++ b/src/views/export/exportMange/exportlist.vue @@ -0,0 +1,259 @@ + + + + \ No newline at end of file diff --git a/src/views/index/index-old.vue b/src/views/index/index-old.vue new file mode 100644 index 0000000..29bae94 --- /dev/null +++ b/src/views/index/index-old.vue @@ -0,0 +1,284 @@ + + + diff --git a/src/views/index/index.vue b/src/views/index/index.vue new file mode 100644 index 0000000..6f23b89 --- /dev/null +++ b/src/views/index/index.vue @@ -0,0 +1,2640 @@ + + + diff --git a/src/views/login/index.vue b/src/views/login/index.vue new file mode 100644 index 0000000..531ce15 --- /dev/null +++ b/src/views/login/index.vue @@ -0,0 +1,192 @@ + + + + diff --git a/src/views/material/mateBom/bomJust.vue b/src/views/material/mateBom/bomJust.vue new file mode 100644 index 0000000..be026b2 --- /dev/null +++ b/src/views/material/mateBom/bomJust.vue @@ -0,0 +1,355 @@ + + + \ No newline at end of file diff --git a/src/views/material/mateBom/classification-copy.vue b/src/views/material/mateBom/classification-copy.vue new file mode 100644 index 0000000..f32545c --- /dev/null +++ b/src/views/material/mateBom/classification-copy.vue @@ -0,0 +1,277 @@ + + + + \ No newline at end of file diff --git a/src/views/material/mateBom/classification.vue b/src/views/material/mateBom/classification.vue new file mode 100644 index 0000000..8798dff --- /dev/null +++ b/src/views/material/mateBom/classification.vue @@ -0,0 +1,429 @@ + + + + + \ No newline at end of file diff --git a/src/views/material/mateBom/classificationSet.vue b/src/views/material/mateBom/classificationSet.vue new file mode 100644 index 0000000..30cf4e6 --- /dev/null +++ b/src/views/material/mateBom/classificationSet.vue @@ -0,0 +1,485 @@ + + + + \ No newline at end of file diff --git a/src/views/material/mateBom/mateBomIndex.vue b/src/views/material/mateBom/mateBomIndex.vue new file mode 100644 index 0000000..8e997f6 --- /dev/null +++ b/src/views/material/mateBom/mateBomIndex.vue @@ -0,0 +1,1294 @@ + + + diff --git a/src/views/material/mateBom/mateBomSet.vue b/src/views/material/mateBom/mateBomSet.vue new file mode 100644 index 0000000..de0a8b7 --- /dev/null +++ b/src/views/material/mateBom/mateBomSet.vue @@ -0,0 +1,2867 @@ + + + diff --git a/src/views/material/mateBom/mateList.vue b/src/views/material/mateBom/mateList.vue new file mode 100644 index 0000000..02a536f --- /dev/null +++ b/src/views/material/mateBom/mateList.vue @@ -0,0 +1,1471 @@ + + + diff --git a/src/views/material/mateBom/materialSet.vue b/src/views/material/mateBom/materialSet.vue new file mode 100644 index 0000000..4de4ea2 --- /dev/null +++ b/src/views/material/mateBom/materialSet.vue @@ -0,0 +1,4131 @@ + + + + diff --git a/src/views/production/productMange/pickOrderSet.vue b/src/views/production/productMange/pickOrderSet.vue new file mode 100644 index 0000000..0ac99ef --- /dev/null +++ b/src/views/production/productMange/pickOrderSet.vue @@ -0,0 +1,2456 @@ + + + + diff --git a/src/views/production/productMange/pickingOrder.vue b/src/views/production/productMange/pickingOrder.vue new file mode 100644 index 0000000..a725db0 --- /dev/null +++ b/src/views/production/productMange/pickingOrder.vue @@ -0,0 +1,1247 @@ + + + + diff --git a/src/views/production/productMange/productOrder.vue b/src/views/production/productMange/productOrder.vue new file mode 100644 index 0000000..3a4bdd8 --- /dev/null +++ b/src/views/production/productMange/productOrder.vue @@ -0,0 +1,1687 @@ + + + + diff --git a/src/views/production/productMange/productOrderSet.vue b/src/views/production/productMange/productOrderSet.vue new file mode 100644 index 0000000..dba6ec3 --- /dev/null +++ b/src/views/production/productMange/productOrderSet.vue @@ -0,0 +1,3528 @@ + + + diff --git a/src/views/production/productMange/replenishmentOrder.vue b/src/views/production/productMange/replenishmentOrder.vue new file mode 100644 index 0000000..ff204e8 --- /dev/null +++ b/src/views/production/productMange/replenishmentOrder.vue @@ -0,0 +1,1184 @@ + + + + diff --git a/src/views/production/productMange/replenishmentOrderSet.vue b/src/views/production/productMange/replenishmentOrderSet.vue new file mode 100644 index 0000000..78ad994 --- /dev/null +++ b/src/views/production/productMange/replenishmentOrderSet.vue @@ -0,0 +1,2415 @@ + + + + diff --git a/src/views/production/productMange/returnMaterialOrder.vue b/src/views/production/productMange/returnMaterialOrder.vue new file mode 100644 index 0000000..a203c69 --- /dev/null +++ b/src/views/production/productMange/returnMaterialOrder.vue @@ -0,0 +1,1247 @@ + + + + diff --git a/src/views/production/productMange/returnMaterialOrderSet.vue b/src/views/production/productMange/returnMaterialOrderSet.vue new file mode 100644 index 0000000..a1c3a90 --- /dev/null +++ b/src/views/production/productMange/returnMaterialOrderSet.vue @@ -0,0 +1,2377 @@ + + + + diff --git a/src/views/production/productMange/useMaterialSet.vue b/src/views/production/productMange/useMaterialSet.vue new file mode 100644 index 0000000..64874d3 --- /dev/null +++ b/src/views/production/productMange/useMaterialSet.vue @@ -0,0 +1,1914 @@ + + + + diff --git a/src/views/production/productMange/warehouOrder.vue b/src/views/production/productMange/warehouOrder.vue new file mode 100644 index 0000000..897037d --- /dev/null +++ b/src/views/production/productMange/warehouOrder.vue @@ -0,0 +1,1264 @@ + + + + diff --git a/src/views/production/productMange/warehouOrderSet.vue b/src/views/production/productMange/warehouOrderSet.vue new file mode 100644 index 0000000..b13d1ec --- /dev/null +++ b/src/views/production/productMange/warehouOrderSet.vue @@ -0,0 +1,2295 @@ + + + + diff --git a/src/views/public/404.vue b/src/views/public/404.vue new file mode 100644 index 0000000..c2816b5 --- /dev/null +++ b/src/views/public/404.vue @@ -0,0 +1,29 @@ + + + + \ No newline at end of file diff --git a/src/views/purchase/demand/createOrgNeeds.vue b/src/views/purchase/demand/createOrgNeeds.vue new file mode 100644 index 0000000..e0d3608 --- /dev/null +++ b/src/views/purchase/demand/createOrgNeeds.vue @@ -0,0 +1,2321 @@ + + + diff --git a/src/views/purchase/demand/createPurchase.vue b/src/views/purchase/demand/createPurchase.vue new file mode 100644 index 0000000..2d236da --- /dev/null +++ b/src/views/purchase/demand/createPurchase.vue @@ -0,0 +1,5437 @@ + + + diff --git a/src/views/purchase/demand/demandOrder.vue b/src/views/purchase/demand/demandOrder.vue new file mode 100644 index 0000000..f69f584 --- /dev/null +++ b/src/views/purchase/demand/demandOrder.vue @@ -0,0 +1,1996 @@ + + + diff --git a/src/views/purchase/demand/orgNeeds.vue b/src/views/purchase/demand/orgNeeds.vue new file mode 100644 index 0000000..4ee82bc --- /dev/null +++ b/src/views/purchase/demand/orgNeeds.vue @@ -0,0 +1,1953 @@ + + + diff --git a/src/views/report/reportindx.vue b/src/views/report/reportindx.vue new file mode 100644 index 0000000..52c6335 --- /dev/null +++ b/src/views/report/reportindx.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/sale/salemange/createReturnOrder.vue b/src/views/sale/salemange/createReturnOrder.vue new file mode 100644 index 0000000..5f67169 --- /dev/null +++ b/src/views/sale/salemange/createReturnOrder.vue @@ -0,0 +1,4037 @@ + + + diff --git a/src/views/sale/salemange/order.vue b/src/views/sale/salemange/order.vue new file mode 100644 index 0000000..5c8d99b --- /dev/null +++ b/src/views/sale/salemange/order.vue @@ -0,0 +1,2087 @@ + + + diff --git a/src/views/sale/salemange/orderCreate.vue b/src/views/sale/salemange/orderCreate.vue new file mode 100644 index 0000000..f817a94 --- /dev/null +++ b/src/views/sale/salemange/orderCreate.vue @@ -0,0 +1,4613 @@ + + + diff --git a/src/views/sale/salemange/returnOrder.vue b/src/views/sale/salemange/returnOrder.vue new file mode 100644 index 0000000..8b1e8b0 --- /dev/null +++ b/src/views/sale/salemange/returnOrder.vue @@ -0,0 +1,1561 @@ + + + diff --git a/src/views/setup/basic/company.vue b/src/views/setup/basic/company.vue new file mode 100644 index 0000000..8b18acb --- /dev/null +++ b/src/views/setup/basic/company.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/basic/condition.vue b/src/views/setup/basic/condition.vue new file mode 100644 index 0000000..2ab0104 --- /dev/null +++ b/src/views/setup/basic/condition.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/basic/currency.vue b/src/views/setup/basic/currency.vue new file mode 100644 index 0000000..9b71d21 --- /dev/null +++ b/src/views/setup/basic/currency.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/basic/mode.vue b/src/views/setup/basic/mode.vue new file mode 100644 index 0000000..3db4d4f --- /dev/null +++ b/src/views/setup/basic/mode.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/basic/taxRate.vue b/src/views/setup/basic/taxRate.vue new file mode 100644 index 0000000..64f03b2 --- /dev/null +++ b/src/views/setup/basic/taxRate.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/org/department.vue b/src/views/setup/org/department.vue new file mode 100644 index 0000000..fb1ae37 --- /dev/null +++ b/src/views/setup/org/department.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/org/organ.vue b/src/views/setup/org/organ.vue new file mode 100644 index 0000000..206bf84 --- /dev/null +++ b/src/views/setup/org/organ.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/org/position.vue b/src/views/setup/org/position.vue new file mode 100644 index 0000000..dadbeb8 --- /dev/null +++ b/src/views/setup/org/position.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/org/staff.vue b/src/views/setup/org/staff.vue new file mode 100644 index 0000000..f7f0a26 --- /dev/null +++ b/src/views/setup/org/staff.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/org/warehouse.vue b/src/views/setup/org/warehouse.vue new file mode 100644 index 0000000..2bc020a --- /dev/null +++ b/src/views/setup/org/warehouse.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/word/customer.vue b/src/views/setup/word/customer.vue new file mode 100644 index 0000000..8b67067 --- /dev/null +++ b/src/views/setup/word/customer.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/setup/word/supplier.vue b/src/views/setup/word/supplier.vue new file mode 100644 index 0000000..ebdd783 --- /dev/null +++ b/src/views/setup/word/supplier.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/views/supplier/coordination/InventoryManage.vue b/src/views/supplier/coordination/InventoryManage.vue new file mode 100644 index 0000000..aa14e02 --- /dev/null +++ b/src/views/supplier/coordination/InventoryManage.vue @@ -0,0 +1,654 @@ + + + + \ No newline at end of file diff --git a/src/views/supplier/coordination/accountOrder.vue b/src/views/supplier/coordination/accountOrder.vue new file mode 100644 index 0000000..3cfba58 --- /dev/null +++ b/src/views/supplier/coordination/accountOrder.vue @@ -0,0 +1,308 @@ + + + + \ No newline at end of file diff --git a/src/views/supplier/coordination/addaccountOrder.vue b/src/views/supplier/coordination/addaccountOrder.vue new file mode 100644 index 0000000..7bc776f --- /dev/null +++ b/src/views/supplier/coordination/addaccountOrder.vue @@ -0,0 +1,608 @@ + + + + diff --git a/src/views/supplier/coordination/codePrint.vue b/src/views/supplier/coordination/codePrint.vue new file mode 100644 index 0000000..8d5ca90 --- /dev/null +++ b/src/views/supplier/coordination/codePrint.vue @@ -0,0 +1,917 @@ + + + + \ No newline at end of file diff --git a/src/views/supplier/coordination/preparaMaterial.vue b/src/views/supplier/coordination/preparaMaterial.vue new file mode 100644 index 0000000..d3dadb3 --- /dev/null +++ b/src/views/supplier/coordination/preparaMaterial.vue @@ -0,0 +1,680 @@ + + + + \ No newline at end of file diff --git a/src/views/supplier/coordination/purchaseOrderMange.vue b/src/views/supplier/coordination/purchaseOrderMange.vue new file mode 100644 index 0000000..6689557 --- /dev/null +++ b/src/views/supplier/coordination/purchaseOrderMange.vue @@ -0,0 +1,814 @@ + + + + \ No newline at end of file diff --git a/src/views/supplier/coordination/sendOrder.vue b/src/views/supplier/coordination/sendOrder.vue new file mode 100644 index 0000000..666a3e5 --- /dev/null +++ b/src/views/supplier/coordination/sendOrder.vue @@ -0,0 +1,382 @@ + + + + \ No newline at end of file diff --git a/src/views/supplier/coordination/sendOrderNtice.vue b/src/views/supplier/coordination/sendOrderNtice.vue new file mode 100644 index 0000000..f626351 --- /dev/null +++ b/src/views/supplier/coordination/sendOrderNtice.vue @@ -0,0 +1,601 @@ + + + + \ No newline at end of file diff --git a/src/views/supplier/coordination/warehouse.vue b/src/views/supplier/coordination/warehouse.vue new file mode 100644 index 0000000..4188a68 --- /dev/null +++ b/src/views/supplier/coordination/warehouse.vue @@ -0,0 +1,490 @@ + + + + \ No newline at end of file diff --git a/src/views/warehouse/allocation/activeDirect.vue b/src/views/warehouse/allocation/activeDirect.vue new file mode 100644 index 0000000..2f3dc06 --- /dev/null +++ b/src/views/warehouse/allocation/activeDirect.vue @@ -0,0 +1,3038 @@ + + + diff --git a/src/views/warehouse/allocation/activeEntryOrder.vue b/src/views/warehouse/allocation/activeEntryOrder.vue new file mode 100644 index 0000000..01aad0d --- /dev/null +++ b/src/views/warehouse/allocation/activeEntryOrder.vue @@ -0,0 +1,2804 @@ + + + diff --git a/src/views/warehouse/allocation/activeIssue.vue b/src/views/warehouse/allocation/activeIssue.vue new file mode 100644 index 0000000..0bab3f1 --- /dev/null +++ b/src/views/warehouse/allocation/activeIssue.vue @@ -0,0 +1,3818 @@ + + + diff --git a/src/views/warehouse/allocation/direct.vue b/src/views/warehouse/allocation/direct.vue new file mode 100644 index 0000000..d93459c --- /dev/null +++ b/src/views/warehouse/allocation/direct.vue @@ -0,0 +1,1238 @@ + + + diff --git a/src/views/warehouse/allocation/entryorder.vue b/src/views/warehouse/allocation/entryorder.vue new file mode 100644 index 0000000..888e577 --- /dev/null +++ b/src/views/warehouse/allocation/entryorder.vue @@ -0,0 +1,1385 @@ + + + diff --git a/src/views/warehouse/allocation/issue.vue b/src/views/warehouse/allocation/issue.vue new file mode 100644 index 0000000..90a8259 --- /dev/null +++ b/src/views/warehouse/allocation/issue.vue @@ -0,0 +1,1581 @@ + + + diff --git a/src/views/warehouse/other/assemblyOrder.vue b/src/views/warehouse/other/assemblyOrder.vue new file mode 100644 index 0000000..60c3ef4 --- /dev/null +++ b/src/views/warehouse/other/assemblyOrder.vue @@ -0,0 +1,761 @@ + + + + diff --git a/src/views/warehouse/other/assemblyOrderSet.vue b/src/views/warehouse/other/assemblyOrderSet.vue new file mode 100644 index 0000000..60da335 --- /dev/null +++ b/src/views/warehouse/other/assemblyOrderSet.vue @@ -0,0 +1,2564 @@ + + + + diff --git a/src/views/warehouse/other/disassembleOrder.vue b/src/views/warehouse/other/disassembleOrder.vue new file mode 100644 index 0000000..a121060 --- /dev/null +++ b/src/views/warehouse/other/disassembleOrder.vue @@ -0,0 +1,470 @@ + + + + \ No newline at end of file diff --git a/src/views/warehouse/other/disassembleOrderSet.vue b/src/views/warehouse/other/disassembleOrderSet.vue new file mode 100644 index 0000000..48e4709 --- /dev/null +++ b/src/views/warehouse/other/disassembleOrderSet.vue @@ -0,0 +1,2540 @@ + + + + diff --git a/src/views/warehouse/other/inventorySheetOrder.vue b/src/views/warehouse/other/inventorySheetOrder.vue new file mode 100644 index 0000000..75b087e --- /dev/null +++ b/src/views/warehouse/other/inventorySheetOrder.vue @@ -0,0 +1,747 @@ + + + + diff --git a/src/views/warehouse/other/inventorySheetSet.vue b/src/views/warehouse/other/inventorySheetSet.vue new file mode 100644 index 0000000..09a845d --- /dev/null +++ b/src/views/warehouse/other/inventorySheetSet.vue @@ -0,0 +1,2040 @@ + + + + diff --git a/src/views/warehouse/other/otherWarehouse.vue b/src/views/warehouse/other/otherWarehouse.vue new file mode 100644 index 0000000..e780795 --- /dev/null +++ b/src/views/warehouse/other/otherWarehouse.vue @@ -0,0 +1,467 @@ + + + + \ No newline at end of file diff --git a/src/views/warehouse/other/otherWarehouseSet.vue b/src/views/warehouse/other/otherWarehouseSet.vue new file mode 100644 index 0000000..368a245 --- /dev/null +++ b/src/views/warehouse/other/otherWarehouseSet.vue @@ -0,0 +1,1982 @@ + + + + diff --git a/src/views/warehouse/other/outSheetOrder.vue b/src/views/warehouse/other/outSheetOrder.vue new file mode 100644 index 0000000..5afeeae --- /dev/null +++ b/src/views/warehouse/other/outSheetOrder.vue @@ -0,0 +1,758 @@ + + + + diff --git a/src/views/warehouse/other/outSheetSet.vue b/src/views/warehouse/other/outSheetSet.vue new file mode 100644 index 0000000..6094d74 --- /dev/null +++ b/src/views/warehouse/other/outSheetSet.vue @@ -0,0 +1,2037 @@ + + + + diff --git a/src/views/warehouse/purchase/activeReturnOrder.vue b/src/views/warehouse/purchase/activeReturnOrder.vue new file mode 100644 index 0000000..34a67ee --- /dev/null +++ b/src/views/warehouse/purchase/activeReturnOrder.vue @@ -0,0 +1,4333 @@ + + + diff --git a/src/views/warehouse/purchase/activeWareHouse.vue b/src/views/warehouse/purchase/activeWareHouse.vue new file mode 100644 index 0000000..3158326 --- /dev/null +++ b/src/views/warehouse/purchase/activeWareHouse.vue @@ -0,0 +1,3834 @@ + + + diff --git a/src/views/warehouse/purchase/returnOrder.vue b/src/views/warehouse/purchase/returnOrder.vue new file mode 100644 index 0000000..338bc4a --- /dev/null +++ b/src/views/warehouse/purchase/returnOrder.vue @@ -0,0 +1,1642 @@ + + + diff --git a/src/views/warehouse/purchase/warehouse.vue b/src/views/warehouse/purchase/warehouse.vue new file mode 100644 index 0000000..501a70f --- /dev/null +++ b/src/views/warehouse/purchase/warehouse.vue @@ -0,0 +1,1669 @@ + + + diff --git a/src/views/warehouse/query/issueDetails.vue b/src/views/warehouse/query/issueDetails.vue new file mode 100644 index 0000000..eb0ac47 --- /dev/null +++ b/src/views/warehouse/query/issueDetails.vue @@ -0,0 +1,503 @@ + + + + diff --git a/src/views/warehouse/query/timelyInventorydetail.vue b/src/views/warehouse/query/timelyInventorydetail.vue new file mode 100644 index 0000000..4d87e29 --- /dev/null +++ b/src/views/warehouse/query/timelyInventorydetail.vue @@ -0,0 +1,664 @@ + + + + diff --git a/src/views/warehouse/query/timelyInventorysummary.vue b/src/views/warehouse/query/timelyInventorysummary.vue new file mode 100644 index 0000000..4cb9e9e --- /dev/null +++ b/src/views/warehouse/query/timelyInventorysummary.vue @@ -0,0 +1,457 @@ + + + + diff --git a/src/views/warehouse/salesDelivery/exWarehouse.vue b/src/views/warehouse/salesDelivery/exWarehouse.vue new file mode 100644 index 0000000..74b7f0e --- /dev/null +++ b/src/views/warehouse/salesDelivery/exWarehouse.vue @@ -0,0 +1,1482 @@ + + + + diff --git a/src/views/warehouse/salesDelivery/exWarehouseSet.vue b/src/views/warehouse/salesDelivery/exWarehouseSet.vue new file mode 100644 index 0000000..52a0ab4 --- /dev/null +++ b/src/views/warehouse/salesDelivery/exWarehouseSet.vue @@ -0,0 +1,3019 @@ + +